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文章
361浏览量
41976 -
BMP
+关注
关注
0文章
48浏览量
17117 -
DPU
+关注
关注
0文章
369浏览量
24290 -
u-boot
+关注
关注
0文章
121浏览量
38347 -
CMD命令
+关注
关注
0文章
28浏览量
8357
发布评论请先 登录
相关推荐
U-boot的基本介绍
![<b class='flag-5'>U-boot</b>的基本介绍](https://file1.elecfans.com/web2/M00/8C/C4/wKgaomSxDC-AIi1QAACKegMzhAU876.png)
嵌入式系统中U-Boot 基本特点及其移植方法
嵌入式系统中U-Boot 基本特点及其移植方法
嵌入式U-BOOT的启动流程及移植
基于nanoPC-T3的U-Boot移植过程梳理
剖析基于nanoPC-T3的U-Boot移植过程
![剖析基于nanoPC-T3的<b class='flag-5'>U-Boot</b><b class='flag-5'>移植</b>过程](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
在U-Boot中驱动LCD和网络
![在<b class='flag-5'>U-Boot</b>中<b class='flag-5'>驱动</b>LCD和网络](https://file1.elecfans.com/web2/M00/82/19/wKgZomRCEteAbPWyAARe4SowaQM830.jpg)
U-boot的DPU驱动移植方法
![<b class='flag-5'>U-boot</b>的DPU<b class='flag-5'>驱动</b><b class='flag-5'>移植</b><b class='flag-5'>方法</b>](https://file1.elecfans.com/web2/M00/89/68/wKgZomSCyByAWv4YAAKnpIxOJZM063.jpg)
评论