如今國產(chǎn)的工業(yè)級 ARM 平臺越來越多,部分客戶反饋國產(chǎn)平臺和以前的其他平臺有些許差異,需要熟悉一段時間才能使用,對一些想快速熟悉平臺的客戶有一些門檻。
為了便于大家的使用,今天小編先針對 OKA40i-C 開發(fā)板 Linux 平臺的 LCD 屏幕參數(shù)的軟件修改做下解讀,整體分為四步:
首先從參數(shù)修改入手,假設(shè) bsp 的源碼包根路徑在路徑
/root/workspace/allwinner/A40i/bsp/project/,這個路徑是我的$HOME 路徑 .
源碼包的名字是 lichee.tar.gz
1.解壓縮 源碼包
tar xvf lichee.tar.gz
2.配置文件介紹
針對 A40i 配置
RGB24 1024x600 屏幕配置文件:
tools/pack/chips/sun8iw11p1/configs/OKA40i_C/sys_config1024x600.fex
LVDS 1280x800 屏幕配置文件:
tools/pack/chips/sun8iw11p1/configs/OKA40i_C/sys_config1280x800.fex
MIPI1024x600 屏幕配置文件:
tools/pack/chips/sun8iw11p1/configs/OKA40i_C/sys_config1024x600mipi.fex
RGB24 800x480 屏幕配置文件:
tools/pack/chips/sun8iw11p1/configs/OKA40i_C/sys_config800x480.fex
hdmi 獨立顯示 屏幕參數(shù):
tools/pack/chips/sun8iw11p1/configs/OKA40i_C/sys_config1080p.fex
進入到配置文件所在路徑
cd lichee/tools/pack/chips/sun8iw11p1/configs/OKA40i_C
3.打開 sys_config1024x600.fex 配置文件
vi sys_config1024x600.fex
內(nèi)容包括兩部分[disp]小結(jié),[lcd0]小結(jié) .
下邊第一個截圖是[disp]小結(jié) .
序號 1 是顯示模式選擇:
;disp_mode (0:screen0
序號 2 是屏幕類型:
;screenx_output_type (0:none; 1:lcd; 3:hdmi;)
序號 3 是格式:
;fbx format(4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
;fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
Fb 的寬度和高度:
;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
下邊截圖是[lcd0]
上圖中序號 1,是接口類型;序號 2 屏幕的分辨率參數(shù),例如選擇 1024x600。
序號 3 是 點像素時鐘可以是 51Mhz,和背光頻率 50khz;序號 4 是屏幕的時序參數(shù),這個要填寫正確,下邊是我們選的一個屏幕的顯示參數(shù)如下,僅供參考。
使用的是 1024x600 的 lcd rgb24 的屏幕,背光頻率設(shè)置的是 50khz。
下圖是管腳復用:
lcdd0 = port:PD00<2><0>
上述的解釋:
lcdd0:配置的名稱舉例;
port:PD00:是管腳名稱,全志系列的管腳命名規(guī)則是 P 字符數(shù)字;
<2>:復用功能 lcd 數(shù)據(jù)線 0,來自于參考手冊中;
<0>: 驅(qū)動強度,最強到 3。
上述配置完成后可以打包生成燒寫鏡像了。
4.制作 img 燒寫鏡像
注意:boot 內(nèi)核與文件系統(tǒng)一起編譯。
步驟 1:配置
# cd /root/workspace/allwinner/A40i/bsp/project/lichee/
#./build.sh config
Welcome to mkscript setup progress
All available chips:
0. sun8iw11p1
Choice: 0
All available platforms:
0. android
1. dragonboard
2. linux
3. camdroid
Choice: 2
All available kernel:
0. linux-3.10
Choice: 0
All available boards:
0. OKA40i_C
1. OKT3_C
2. a40i-p3
Choice: 0
All available buildroot:
0. buildroot
1. buildroot-201611
Choice: 1
select buildroot-201611
All available float:
0. gnueabi
1. gnueabihf
Choice: 1
select gnueabihf
All available qt version:
0. 5.9.0
Choice: 0
select 5.9.0
create misc_config gnueabihf
All available lcd resolutions:
0. 480x272
1. 800x480
2. 800x600
3. 1024x600
4. 1024x600mipi
5. 1280x800
6. 800x480_v1
7. 800x600_v1
8. 1024x600_v1
9. 1024x600mipi_v1
10. 1280x800_v1
Choice: 3
注意:當編譯 A40i 時,選擇 OKA40i_C;如使用為 V1.2 版本核心板,選擇 3. 1024x600。
步驟 2:編譯
# cd /root/workspace/allwinner/A40i/bsp/project/lichee/
#./build.sh
步驟 3:編譯 Qt (可選)
釋放 Qt OpenGLlib 到交叉編譯器位置,文件存儲位置(編譯過程報找不到 GLESv2)。
?用戶資料 \Linux\linux\ 工具 \sysroot.tar.gz
# cd /root/workspace/allwinner/A40i/bsp/project/lichee/out/sun8iw11p1/linux/common/buildroot/host/usr/arm-buildroot-linux-gnueabihf
# tar xvf sysroot.tar.gz
#最終生成 sysroot 替換沒有 Mali 庫的 sysroot。
注意:如果出現(xiàn)路徑錯誤,請把 /root/workspace/allwinner/A40i/bsp/lichee/buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0 刪除,重新釋放壓縮包,并且復制 /root/workspace/allwinner/A40i/bsp/lichee/buildroot-201611/dl/setenvs.sh 到新釋放的 qt-everywhere-opensource-src-5.9.0 目錄中去。
# cd /root/workspace/allwinner/A40i/bsp/project /lichee/
# tar xvf qt-everywhere-opensource-src-5.9.0.tgz
# cd /root/workspace/allwinner/A40i/bsp/project/lichee/buildroot-201611/dl/qt-everywhere-opensource-src-5.9.0
# cp ../setenvs.sh ./
# source setenvs.sh #虛擬機編譯的話 setenv.sh 97行修改成 -j 1 表示并行編譯的現(xiàn)成數(shù)量,否則死機
# makeconfig
# makeall
# makeinstall
# cd /root/workspace/allwinner/A40i/bsp/project /lichee/
# rm -fr `find ./linux-3.10 -name “*.o” ` #編譯前要刪除 linux-3.10/*.o
# ./build.sh
注意:編譯過程內(nèi)核報錯,有兩種解決辦法:
方法 1:
cd /root/workspace/allwinner/A40i/bsp/project/lichee/
rm -fr `find ./ linux-3.10 -name “*.o” `
方法 2:
cd /root/workspace/allwinner/A40i/bsp/project/lichee/
cd linux-3.10
make distclean
步驟 4:打包
打包配置文件到燒寫鏡像
# cd /root/workspace/allwinner/A40i/bsp/project/lichee/
#./build.sh pack
/root/workspace/allwinner/A40i/bsp/project/lichee/tools/pack/sun8iw11p1_linux_OKA40i_C_uart0-1024x600.img
生成的燒寫鏡像
好了,現(xiàn)在鏡像已經(jīng)打包完成,可以燒寫到開發(fā)板了。其實全志平臺更換 LCD 屏難度系數(shù)并不大,小伙伴們可以參照上面的方式去試試哦。
進入飛凌嵌入式官網(wǎng),了解關(guān)于 OKA40i-C 開發(fā)板的更多信息。