全志A33屏幕旋转(Android)
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度