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瀏覽量
41942 -
BMP
+關注
關注
0文章
48瀏覽量
17094 -
DPU
+關注
關注
0文章
368瀏覽量
24260 -
u-boot
+關注
關注
0文章
121瀏覽量
38316 -
CMD命令
+關注
關注
0文章
28瀏覽量
8349
發布評論請先 登錄
相關推薦
評論