• 正文
  • 相关推荐
申请入驻 产业图谱

干货分享丨OKA40i-C国产工业级开发板LCD屏幕调整

2021/01/29
110
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

如今国产的工业级 ARM 平台越来越多,部分客户反馈国产平台和以前的其他平台有些许差异,需要熟悉一段时间才能使用,对一些想快速熟悉平台的客户有一些门槛。

为了便于大家的使用,今天小编先针对 OKA40i-C 开发板 Linux 平台的 LCD 屏幕参数的软件修改做下解读,整体分为四步:

首先从参数修改入手,假设 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 独立显示 屏幕参数:

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

内容包括两部分[disp]小结,[lcd0]小结 .

下边第一个截图是[disp]小结 .

序号 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 屏幕的分辨率参数,例如选择 1024x600。

序号 3 是 点像素时钟可以是 51Mhz,和背光频率 50khz;序号 4 是屏幕的时序参数,这个要填写正确,下边是我们选的一个屏幕的显示参数如下,仅供参考。

 

使用的是 1024x600 的 lcd rgb24 的屏幕,背光频率设置的是 50khz。

下图是管脚复用:

lcdd0                   = port:PD00<2><0>

上述的解释:

lcdd0:配置的名称举例;

port:PD00:是管脚名称,全志系列的管脚命名规则是 P 字符数字;

<2>:复用功能 lcd 数据线 0,来自于参考手册中;

<0>:  驱动强度,最强到 3。

上述配置完成后可以打包生成烧写镜像了。

4.制作 img 烧写镜像

注意:boot 内核与文件系统一起编译。

步骤 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)。

✉用户资料 Linuxlinux 工具 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/project/lichee/tools/pack/sun8iw11p1_linux_OKA40i_C_uart0-1024x600.img

生成的烧写镜像

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

进入飞凌嵌入式官网,了解关于 OKA40i-C 开发板的更多信息。

Arm

Arm

ARM公司是一家知识产权(IP)供应商,主要为国际上其他的电子公司提供高性能RISC处理器、外设和系统芯片技术授权。目前,ARM公司的处理器内核已经成为便携通讯、手持计算设备、多媒体数字消费品等方案的RISC标准。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知识产权(IP)供应商,主要为国际上其他的电子公司提供高性能RISC处理器、外设和系统芯片技术授权。目前,ARM公司的处理器内核已经成为便携通讯、手持计算设备、多媒体数字消费品等方案的RISC标准。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录

秉承专业态度,专注智能设备核心平台研发与制造,以技术研发创新为主导,以客户实用化,产品化为目标,把握嵌入式行业的前沿发展需求,利用核心技术为客户提供稳定、可靠、功能优异的高品质产品。合作联系:17713286011