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?",表示第2節所述啟動畫面對應的位圖數據的存儲地址;
(2)"splashpos=m,m?",表示設置啟動畫面的對齊方式為居中,可以按需修改對齊方式。
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驅動功能正常。
-
處理器
+關注
關注
68文章
19409瀏覽量
231193 -
ARM
+關注
關注
134文章
9169瀏覽量
369224 -
soc
+關注
關注
38文章
4204瀏覽量
219104 -
移植
+關注
關注
1文章
383瀏覽量
28195 -
u-boot
+關注
關注
0文章
121瀏覽量
38315
發布評論請先 登錄
相關推薦
U-Boot介紹
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的啟動及移植分析
嵌入式U-BOOT的啟動流程及移植
基于S3C6410的u-boot分析與移植
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)
評論