1.概述
在上一篇《U-boot驅(qū)動-DPU驅(qū)動移植》中,以ARM Mali系列顯示處理器驅(qū)動為例,講述了U-boot的DPU驅(qū)動移植方法。本文在DPU驅(qū)動已經(jīng)完成移植的基礎(chǔ)上,講述了SPLASH_SCREEN(啟動畫面)驅(qū)動移植方法。
示例U-boot版本:2022.10。硬件平臺:ARM SOC。
2.原理
U-boot集成了SPLASH_SCREEN驅(qū)動源碼,當(dāng)使能和配置SPLASH_SCREEN驅(qū)動后,可以將啟動畫面使用的圖片文件轉(zhuǎn)換為位圖數(shù)據(jù)數(shù)組,并將位圖數(shù)據(jù)數(shù)組首先存儲到指定的內(nèi)存空間,然后將該內(nèi)存空間的位圖數(shù)據(jù)復(fù)制到DPU驅(qū)動對應(yīng)的framebuffer內(nèi)存空間,作為啟動畫面供U-boot啟動時(shí)顯示。
3.移植方法
3.1編譯配置
以將32BPP格式圖片編譯進(jìn)U-boot鏡像文件作為啟動畫面為例,講述配置方法。
使能CONFIG_VIDEO_LOGO,以使能將啟動畫面對應(yīng)的位圖數(shù)據(jù)數(shù)組bmp_logo_bitmap[]存儲到指定的內(nèi)存空間。使能的函數(shù)及配置界面如下:
./common/splash.c中splash_video_logo_load()函數(shù)。
圖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,以使能啟動畫面的位置對齊設(shè)置功能。
圖4 使能CONFIG_SPLASH_SCREEN_ALIGN
3.2參數(shù)配置
定義宏CONFIG_EXTRA_ENV_SETTINGS,用于設(shè)置啟動畫面的環(huán)境變量,詳見參考文獻(xiàn)[3]和[4],添加如下參數(shù):
(1)"splashimage=0xXXXXXXXX\\0",表示第2節(jié)所述啟動畫面對應(yīng)的位圖數(shù)據(jù)的存儲地址;
(2)"splashpos=m,m\\0",表示設(shè)置啟動畫面的對齊方式為居中,可以按需修改對齊方式。
3.3啟動畫面使用的圖片設(shè)置
(1)將啟動畫面使用的圖片放置于./tools/logos下;
(2)在./tools/Makefile 設(shè)置啟動畫面使用的圖片路徑,默認(rèn)使用denx.bmp。
圖5 啟動畫面使用的圖片路徑配置代碼
4.驗(yàn)證方法
4.1啟動畫面顯示測試
以使用32BPP格式圖片作為啟動畫面為例,修改上文圖5的./tools/Makefile中啟動畫面使用的圖片默認(rèn)路徑,將8BPP格式的denx.bmp改為32BPP格式的u-boot_logo.bmp;然后編譯U-boot。
U-boot啟動后,顯示居中的啟動畫面,即表示SPLASH_SCREEN驅(qū)動功能正常。
-
ARM處理器
+關(guān)注
關(guān)注
6文章
360瀏覽量
41662 -
BMP
+關(guān)注
關(guān)注
0文章
48瀏覽量
17043 -
DPU
+關(guān)注
關(guān)注
0文章
354瀏覽量
24127 -
u-boot
+關(guān)注
關(guān)注
0文章
120瀏覽量
38200 -
CMD命令
+關(guān)注
關(guān)注
0文章
28瀏覽量
8299
發(fā)布評論請先 登錄
相關(guān)推薦
評論