0x00 環境說明:
所使用的開發板為銳爾威視的插針版A33_Vstar
屏幕是買的第三方的KD050FWFPA011-C009A,其中LCD驅動IC為ILI9806E
0x01 LCD驅動移植:
關於LCD驅動程序的編寫/移植參考以前的一篇文章:https://www.cnblogs.com/DarkBright/p/10769858.html
大致流程如下(具體程序參考以前的文章):
1、修改配置文件,路徑: /root/android/lichee/tools/pack/chips/sun8iw5p1/configs/vstar/sys_config.fex (具體路徑根據根據SDK的解壓路徑略作修改)
2、修改uboot中的LCD驅動,路徑: /root/android/lichee/brandy/u-boot-2011.09/drivers/video_sunxi/sunxi_v2/de_bsp/lcd/panels/default_panel.c
3、修改Linux內核中的LCD驅動,路徑: /root/android/lichee/linux-3.4/drivers/video/sunxi/lcd/panels/default_panel.c
0x02 編譯uboot:
切換到uboot目錄下執行:
make distclean
make sun8iw5p1_config
make -j8
0x03 編譯Linux內核:
cd ~/android/lichee/
./build.sh config
cd linux-3.4/
cp a33_vstar_defconfig .config
cd ..
./build.sh
0x04 修改Android配置文件:
按照官方的說明手冊在 /root/android/android/device/softwinner/vstar/vstar.mk 文件中加入:
PRODUCT_PROPERTY_OVERRIDES += \
ro.sf.rotation=90
90表示旋轉90度,默認為0
0x05 編譯Android系統:
切換到Android的頂層目錄執行:
source build/envsetup.sh
lunch
extract-bsp
make -j8
pack
如果是第一次編譯該Android系統,時間會比較長!
0x06 出錯處理:
問題:TP報錯:
解決:在 /root/android/android/device/softwinner/vstar/init.sun8i.rc 文件中修改TP驅動加載部分:
問題:保存修改之后編譯驗證,發現系統能夠正常啟動,不過屏幕並沒有旋轉
解決:在 /root/android/android/out/target/product/vstar/system/build.prop 文件中加入:
ro.sf.rotation=90
保存修改之后編譯打包Android,燒錄系統之后屏幕旋轉了90度