打印
[嵌入式linux]

国产工业级开发板分享-全志A40i-C开发板LCD屏幕调整

[复制链接]
675|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
琳子|  楼主 | 2021-2-5 10:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如今国产的工业级ARM平台越来越多,部分客户反馈国产系统和以前的其他平台有些许差异,需要熟悉一段时间才能使用,对一些想快速熟悉平台的客户有一些门槛。为了便于大家的使用,今天小编先针对OKA40i-C开发板Linux平台的LCD 屏幕参数的软件修改做下解读,整体分为四步:

首先从参数修改入手,假设bsp的源码包根路径在路径/root/workspace/allwinner/A40i/bsp/project/,这个路径是我的$HOME路径.
源码包的名字是lichee.tar.gz
Step 1 :解压缩 源码包
tar xvf lichee.tar.gz
Step 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独立显示 屏幕参数:
tools/pack/chips/sun8iw11p1/configs/OKA40i_C/sys_config1080p.fex

进入到配置文件所在路径
cd lichee/tools/pack/chips/sun8iw11p1/configs/OKA40i_C

Step3: 打开sys_config1024x600.fex配置文件
vi sys_config1024x600.fex
内容包括两部分[disp]小结,[lcd0]小结.
下边第一个截图是[disp]小结.
序号1是显示模式选择:
;disp_mode             (0:screen0<screen0,fb0>)
序号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屏幕的分辨率参数,例如选择1024x600。
序号3是 点像素时钟可以是51Mhz,和背光频率50khz;序号4是屏幕的时序参数,这个要填写正确,下边是我们选的一个屏幕的显示参数如下,仅供参考。
使用的是1024x600的lcd rgb24的屏幕,背光频率设置的是50khz。
下图是管脚复用:
lcdd0                   = port:PD00<2><0><default><default>
上述的解释:lcdd0:配置的名称举例;
            port:PD00:是管脚名称,全志系列的管脚命名规则是P字符数字;
            <2>:复用功能lcd数据线0,来自于参考手册中;
            <0>:  驱动强度,最强到3;
上述配置完成后可以打包生成烧写镜像了。
Step 4:制作img烧写镜像
注意:boot内核与文件系统一起编译。
步骤1:配置

# cd /root/workspace/allwinner/A40i/bsp/project/lichee/     #./build.sh configWelcome to mkscript setup progressAll available chips:   0. sun8iw11p1Choice: 0All available platforms:   0. android   1. dragonboard   2. linux   3. camdroidChoice: 2All available kernel:   0. linux-3.10Choice: 0All available boards:   0. OKA40i_C   1. OKT3_C   2. a40i-p3Choice: 0All available buildroot:  0. buildroot  1. buildroot-201611Choice: 1select buildroot-201611All available float:  0. gnueabi  1. gnueabihfChoice: 1select gnueabihfAll available qt version:  0. 5.9.0Choice: 0select 5.9.0create misc_config gnueabihfAll 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_v1Choice: 3
注意:
当编译A40i时,选择OKA40i_C;
如使用为V1.2版本核心板,选择3. 1024x600
步骤2:编译

# cd /root/workspace/allwinner/A40i/bsp/project/lichee/#./build.sh
步骤 3:编译Qt (可选)
释放Qt OpenGLlib到交叉编译器位置,文件存储位置(编译过程报找不到GLESv2)。
1 用户资料\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。
注意:如果出现路径错误,请把/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 表示并行编译的现成数量,否则死机# 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   
注意:编译过程内核报错,有两种解决办法:
方法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/lichee/tools/pack/sun8iw11p1_linux_OKA40i_C_uart0-1024x600.img
生成的烧写镜像
打包配置文件到烧写镜像;
    cd /root/workspace/allwinner/A40i/bsp/project/lichee
./build.sh pack
_ _ _

    好了,现在镜像已经打包完成,可以烧写到开发板了。其实全志平台更换LCD屏难度系数并不大,小伙伴们可以参照上面的方式去试试哦。

更多详情请到飞凌嵌入式官网https://www.forlinx.com/

使用特权

评论回复

相关帖子

沙发
Tanxjxj120a| | 2021-2-5 11:58 | 只看该作者
很详细,谢谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

120

主题

140

帖子

2

粉丝