全志A33屏幕旋转(Android)

摘要:
0x00环境描述:使用的开发板是Ruilview的引脚版本A33。Vstar屏幕是从第三方购买的KD050FWFPA011-C009A。LCD驱动程序IC是ILI9806E0x01LCD驱动程序迁移:请参阅上一篇关于LCD驱动程序写入/迁移的文章:https://www.cnblogs.com/DarkBright/p/10769858.html一般流程如下(具体步骤请参考前面的文章):1.修改配置文件。路径:
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

1

0x03 编译Linux内核:

cd  ~/android/lichee/

./build.sh  config

cd  linux-3.4/

cp  a33_vstar_defconfig  .config

cd  ..

./build.sh

2

3

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

4

5

6

7

8

如果是第一次编译该Android系统,时间会比较长!

0x06 出错处理:

问题:TP报错:

9

解决:在 /root/android/android/device/softwinner/vstar/init.sun8i.rc 文件中修改TP驱动加载部分:

10

问题:保存修改之后编译验证,发现系统能够正常启动,不过屏幕并没有旋转

解决:在 /root/android/android/out/target/product/vstar/system/build.prop 文件中加入:

ro.sf.rotation=90

12

保存修改之后编译打包Android,烧录系统之后屏幕旋转了90度

免责声明:文章转载自《全志A33屏幕旋转(Android)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇自动写文章的智能软件(基于AI写作)Linux使用touch批量修改文件/文件夹时间戳下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python 持久化管理之 Pickle/ZODB

1.对象持久化 如果希望透明地存储 Python 对象,而不丢失其身份和类型等信息,则需要某种形式的对象序列化: 它是一个将任意复杂的对象转成对象的文本或二进制表示的过程。同样,必须能够将对象经过序列化后的形式恢复到原有的对象。 在 Python 中,这种序列化过程称为 pickle,可以将对象 pickle 成字符串、磁盘上的文件或者任何类似于文件的对象...

GUI的最终选择 Tkinter(九):事件

Tkinter事件处理 Tkinter应用会花费大部分的时间在处理事件循环中(通过mainloop()方法进入),事件可以是触发的鼠标,键盘的操作,管理窗口触发的重绘事件(在多数情况下都是有用户间接引起的)。 Tkinter提供了一个强大的机制,可以让你自由的去处理事件,对于每个组件来说。可以通过bond()方法将函数或者方法绑定到具体的事件上。当触发器的...

Nginx文件路径的定义

前一篇文章,记录了nginx中虚拟主机与请求分发,这一篇文件记录Nginx中文件路径的定义。 1.以root方式设置资源路径 语法:root path; 默认:root html; 配置块:http、server、location、if 如: location /download/{ root webhtml; } 在这个配置中,如果你访问/dow...

Jumpserver-堡垒机

Jumpserver-堡垒机 1.基于Docker搭建Jumpserver堡垒机 1.1 下载镜像 1.2 运行镜像 1.2.1 官网步骤—Docker快速启动 1.3 浏览器访问 2.Jumpserver使用 2.1 管理用户 2.2 资产管理 2.2.1 资产管理-管理其他服务器 2.3 系统用户 2.3.1 系统用户sudo权限 3.测...

MySQL++:liunx 安装 MySQL

第一步: 1):下载mysql安装包:这里选择下载版本 5.6.33,通用版,linux下64位 http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz 第二步: 2):卸载老版本MySQL 查找并删除mysql有关的文件 find /...

Ansible-基础

Ansible架构 Inventory 主机清单,可以对主机分组 ansible-hoc ansible的命令,适用临时场景 ansible-playbook ansible是一个场景的集合,是YAML语言 被控端: 被管理的主机 连接协议:ansible是用的ssh协议,所以被控端不需要安装额外的agent,这也是 ansible-galaxy 连...