您好,登錄后才能下訂單哦!
我是以電魚電子的SAIL-IMX6和SAIL-IMX7為例來實現上述步驟的。首先簡單的修改Logo的方式在下方。
1、安裝pngtopnm工具。
$ sudo apt-get install netpbm
注:安裝完以后就會有pngtopnm,pnmquant,pnmtoplainpnm三個工具。
2、選擇logo的圖片:
首先選擇一個自己喜歡的圖片,然后通過GIMP軟件將該圖片保存為.png格式,
比如保存為dianyu.png。需要注意設置好圖片的尺寸大小,不能超過屏幕分辨率的大小,不然制作出來的圖片將不能在屏幕上顯示出來。
3、制作.ppm格式的圖片:
$ pngtopnm dianyu.png > dianyu.pnm
$ pnmquant 224 dianyu.pnm > dianyu.pnm
$ pnmtoplainpnm dianyu224.pnm >dianyu224.ppm
或者
$bmptoppm linuxlogo.bmp > dianyu.ppm //生成ppm
$ppmquant 224 linuxlogo.ppm > dianyu224.ppm //轉換成224顏色
$pnmnoraw linuxlogo224.ppm > dianyu224.ppm //轉換成ascii格式
4、替換原有的圖片。
$make clean SUB_DIR=./drivers/video/logo/ //來清除logo目錄下的.c和.o文件
注:板子的圖片名叫logo_linux_clut224.ppm,所以只要用第三步生成的圖片替換即可。
提高篇:
很容易發現,對于一般的vga console,logo是由drivers/video/fbmem.c里的fb_show_logo()函數顯示的,
這個函數的調用者是 drivers/video/console/fbcon.c。這個函數做的事情不多,就
是先把非8位色深的位圖轉換為8位色深,然后用info->fbops->fb_imageblit(info, &image);把logo顯示出來,有一個cpu時顯示一個logo,有2個cpu時顯示2個,以此類推。
修改logo高度:
所在文件drivers/video/console/fbcon.c
{{
logo_height = fb_prepare_logo(info,
ops->rotate)+xxxxxxx; //在加減相應xxxxxxx從而實現高度調整。
logo_lines = DIV_ROUND_UP(logo_height,vc->vc_font.height);
}}
如何更改Uboot的啟動logo
1、進入tools目錄,在該目錄下你會看到一個叫logos的目錄,里面存的是logo圖標,
可以自己添加logo圖標到該目錄,注意需256色的,也要注意圖片的尺寸大小要小于你的屏幕分辨率。
如何制作一個256色的位圖:使用電腦自帶畫圖工具打開然后另存為bmp圖片,設置保存類型為256色位圖。
2、打開tools目錄下的Makefile文件,在第187行至200行間,有如下一段代碼:
ifeq ($(LOGO_BMP),)
LOGO_BMP= $(srctree)/$(src)/logos/denx.bmp
ifneq ($(wildcard$(srctree)/$(src)/logos/$(BOARD).bmp),)
LOGO_BMP=$(srctree)/$(src)/logos/$(BOARD).bmp
else
ifneq ($(wildcard$(srctree)/$(src)/logos/$(VENDOR).bmp),)
LOGO_BMP=$(srctree)/$(src)/logos/$(VENDOR).bmp
endif
endif
endif # !LOGO_BMP
3、"freescale.bmp"即為logo圖標。你可以用你自己喜歡的圖標來代替他,
4、在common目錄下,打開lcd.c文件,可以改變logo的位置,該坐標函數為lcd_logo_plot(0,0); 改變x,y的數字,來改變logo的顯示位置。該函數在lcd.c代碼的722行
5、進入u-boot根目錄,執行make即可!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。