0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

U-boot驱动SPLASH_SCREEN驱动移植方法

冬至子 来源:嵌入式系统研发 作者:ESDev 2023-06-09 14:39 次阅读

1.概述

在上一篇《U-boot驱动-DPU驱动移植》中,以ARM Mali系列显示处理器驱动为例,讲述了U-boot的DPU驱动移植方法。本文在DPU驱动已经完成移植的基础上,讲述了SPLASH_SCREEN(启动画面)驱动移植方法。

示例U-boot版本:2022.10。硬件平台:ARM SOC。

2.原理

U-boot集成了SPLASH_SCREEN驱动源码,当使能和配置SPLASH_SCREEN驱动后,可以将启动画面使用的图片文件转换为位图数据数组,并将位图数据数组首先存储到指定的内存空间,然后将该内存空间的位图数据复制到DPU驱动对应的framebuffer内存空间,作为启动画面供U-boot启动时显示。

3.移植方法

3.1编译配置

以将32BPP格式图片编译进U-boot镜像文件作为启动画面为例,讲述配置方法。

使能CONFIG_VIDEO_LOGO,以使能将启动画面对应的位图数据数组bmp_logo_bitmap[]存储到指定的内存空间。使能的函数及配置界面如下:

./common/splash.c中splash_video_logo_load()函数。

图片

图1 使能CONFIG_VIDEO_LOGO

为使能启动画面显示功能,使能如下配置:

CONFIG_SPLASH_SCREEN和CONFIG_CMD_BMP,

使能CONFIG_BMP_32BPP,以支持32BPP格式图片。配置界面如下。

图片

图2 使能CONFIG_SPLASH_SCREEN和CONFIG_BMP_32BPP

图片

图3 使能CONFIG_CMD_BMP

使能CONFIG_SPLASH_SCREEN_ALIGN,以使能启动画面的位置对齐设置功能。

图片

图4 使能CONFIG_SPLASH_SCREEN_ALIGN

3.2参数配置

定义宏CONFIG_EXTRA_ENV_SETTINGS,用于设置启动画面的环境变量,详见参考文献[3]和[4],添加如下参数:

(1)"splashimage=0xXXXXXXXX\\0",表示第2节所述启动画面对应的位图数据的存储地址;

(2)"splashpos=m,m\\0",表示设置启动画面的对齐方式为居中,可以按需修改对齐方式。

3.3启动画面使用的图片设置

(1)将启动画面使用的图片放置于./tools/logos下;

(2)在./tools/Makefile 设置启动画面使用的图片路径,默认使用denx.bmp。

图片

图5 启动画面使用的图片路径配置代码

4.验证方法

4.1启动画面显示测试

以使用32BPP格式图片作为启动画面为例,修改上文图5的./tools/Makefile中启动画面使用的图片默认路径,将8BPP格式的denx.bmp改为32BPP格式的u-boot_logo.bmp;然后编译U-boot。

U-boot启动后,显示居中的启动画面,即表示SPLASH_SCREEN驱动功能正常。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM处理器
    +关注

    关注

    6

    文章

    346

    浏览量

    41323
  • BMP
    BMP
    +关注

    关注

    0

    文章

    48

    浏览量

    16965
  • DPU
    DPU
    +关注

    关注

    0

    文章

    294

    浏览量

    23966
  • u-boot
    +关注

    关注

    0

    文章

    116

    浏览量

    38044
  • CMD命令
    +关注

    关注

    0

    文章

    28

    浏览量

    8173
收藏 人收藏

    评论

    相关推荐

    u-boot详解

    形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅
    发表于 07-04 04:56

    U-Boot NAND FLASH移植

    实现移植。(分析请看U-Boot NAND FLASH驱动分析 http://www.100ask.net/forum/showtopic-3698.aspx)2.增加NAND FLASH底层
    发表于 07-03 05:45

    U-Boot移植操作

    U-Boot移植U-Boot移植主要分为两个层面,一个是对CPU的移植,一个是针对Board的移植
    发表于 07-15 07:48

    U-Boot移植DM9000网卡分享!

    U-Boot移植DM9000网卡——西伯利亚的风 根据书《嵌入式Linux应用开发完全手册》移植网卡驱动,对于Jz2440开发板好像并不适用,Jz2440开发板使用的是DM9000网卡
    发表于 07-29 00:06

    怎样去移植u-boot呢?移植u-boot的过程是怎样的呢

    BootLoader是什么?怎样去移植u-boot呢?移植u-boot的过程是怎样的呢?
    发表于 12-29 06:13

    嵌入式系统中U-Boot 基本特点及其移植方法

    在介绍U-Boot 基本特点的基础上,结合U-Boot 移植经历,以MPC8xx 和嵌入式Linux 为背景,分析、探讨U-Boot移植
    发表于 04-15 09:25 17次下载

    嵌入式系统中U-Boot 基本特点及其移植方法

    在介绍U-Boot 基本特点的基础上,结合U-Boot 移植经历,以MPC8xx 和嵌入式Linux 为背景,分析、探讨U-Boot移植
    发表于 05-16 14:52 12次下载

    嵌入式U-BOOT的启动流程及移植

    在S3C44B0开发板上的移植方法和步骤。 u-boot是一个功能强大的bootloader开发软件,适用的CPU平台及
    发表于 02-25 16:00 59次下载

    基于U-Boot在S3C2410上的移植

    基于U-Boot在S3C2410上的移植
    发表于 10-30 10:02 12次下载
    基于<b class='flag-5'>U-Boot</b>在S3C2410上的<b class='flag-5'>移植</b>

    U-boot的QSPI驱动移植方法及验证方法

    本文主要讲述了U-boot的QSPI驱动移植方法及验证方法。在产品调试阶段,U-boot的dri
    的头像 发表于 04-14 10:21 1961次阅读
    <b class='flag-5'>U-boot</b>的QSPI<b class='flag-5'>驱动</b><b class='flag-5'>移植</b><b class='flag-5'>方法</b>及验证<b class='flag-5'>方法</b>

    U-boot的MMC DM框架驱动移植方法

    本文主要讲述了U-boot的MMC DM框架驱动移植方法。DM是Driver Model的简称,是U-boot的基本
    的头像 发表于 04-14 10:22 1784次阅读
    <b class='flag-5'>U-boot</b>的MMC DM框架<b class='flag-5'>驱动</b>的<b class='flag-5'>移植</b><b class='flag-5'>方法</b>

    U-boot的DPU驱动移植方法

    本文以ARM Mali系列显示处理器驱动为例,讲述了U-boot的DPU驱动移植方法
    的头像 发表于 04-14 10:25 973次阅读
    <b class='flag-5'>U-boot</b>的DPU<b class='flag-5'>驱动</b><b class='flag-5'>移植</b><b class='flag-5'>方法</b>

    U-bootSPLASH_SCREEN(启动画面)驱动移植方法

     在上一篇《U-boot驱动-DPU驱动移植》中,以ARM Mali系列显示处理器驱动为例,讲述了U-b
    的头像 发表于 04-14 10:28 953次阅读
    <b class='flag-5'>U-boot</b>的<b class='flag-5'>SPLASH_SCREEN</b>(启动画面)<b class='flag-5'>驱动</b><b class='flag-5'>移植</b><b class='flag-5'>方法</b>

    U-Boot驱动LCD和网络

    U-Boot 移植初探一文中介绍了如何修改 NXP官方uboot,使得 uboot能匹配我们自己的开发板,但是匹配完成后 LCD驱动和网络驱动还是不正常的,所以下面将介绍如何修改 L
    的头像 发表于 04-21 12:39 1269次阅读
    在<b class='flag-5'>U-Boot</b>中<b class='flag-5'>驱动</b>LCD和网络

    U-boot的DPU驱动移植方法

    U-boot的VIDEO驱动子系统集成了ARM Mali系列显示处理器的驱动,支持Mali-DP500、Mali-DP550和Mali-DP650显示处理器,驱动源码位于目录./dri
    的头像 发表于 06-09 14:35 789次阅读
    <b class='flag-5'>U-boot</b>的DPU<b class='flag-5'>驱动</b><b class='flag-5'>移植</b><b class='flag-5'>方法</b>