工控网首页
>

应用设计

>

嵌入式ARM平台基于Linux配置24bit RGB输出

嵌入式ARM平台基于Linux配置24bit RGB输出

1). 简介

嵌入式ARM平台设备采用Embedded Linux操作系统进行开发已经越来越成为主流,本文就着重演示在EmbeddedLinux下配置24bit RGB LCD显示。

本文所演示的平台来自于ToradexColibriiMX6ColibriiMX7嵌入式平台,分别基于NXPiMX6 iMX7 系列ARM处理器。ToradexColibri系列模块默认定义支持18bit RGB 输出,如果要支持24bit RGB 输出,那么需要在硬件以及devicetree上面做对应的修改,下面就具体进行说明。

2). 准备

a). ToradexARM 模块产品数据手册,请从下面下载:Colibri iMX6|ColibriiMX7

b). 参考这里说明下载Toradex Embedded LinuxV2.7内核源代码,用于修改编译device tree文件。

3). Colibri iMX6 平台 24bit RGB 配置

a). 首先参考Colibri iMX6 数据手册章节 5.5.1 ParrallelRGB LCD interface, 确定24bit RGB 管脚定义:

image001.png

请注意,默认的18bit24bit管脚分配,除了数量上面的不同,在定义上也是有区别的。

b). 由于默认的device tree文件是基于18bit RGB 输出定义的,因此需要修改device tree 文件来适配管脚和功能的变化。

关于 devicetree的基本说明请参考这里,我们需要修改的device tree源文件位于 arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts,修改好的文件请见这里或者基于默认文件的patch文件请见这里

说明如下:

./ 首先在lcd的配置处修改为24bit,即 &lcd 部分

./ 然后在 &mxcfb1 部分同样修改24bit支持,以及对应的LCD分辨率,这里举例为 800x480

./ 最后修改pinmux部分,将24bit增加的pin脚被其他占用的功能去掉,然后添加到lcd对应的管脚定义中去,即后面的&pinctrl_weim_gpio_1 &pinctrl_weim_gpio_2 以及 &pinctrl_ipu1_lcd 这三个部分。

c). 根据这里的说明,重新编译device tree文件并部署到模块上。

4). Colibri i.MX7 平台 24bit RGB 配置

a). 首先参考Colibri iMX6 数据手册章节 5.5.1 ParrallelRGB LCD interface, 确定24bit RGB 管脚定义:

b). 由于默认的device tree文件是基于18bit RGB 输出定义的,因此需要修改device tree 文件来适配管脚和功能的变化。

关于 devicetree的基本说明请参考这里,我们需要修改的device tree源文件位于 arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi,修改好的文件请见这里或者基于默认文件的patch文件请见这里

说明如下:

./ 首先修改lcd的相关配置即 &lcdif 部分,在其中pinctrl-0 增加 &pinctrl_lcdif_dat_24,即为24bit增加的pin部分;同时将 bus-width 修改为 24bit支持,另外默认的分辨率这里同样设置为wvga,也就是800x480

./ 然后修改&iomxc部分,将24bit增加的pin脚被其他占用的功能去掉,即去掉 &pinctrl_hog_3

c). 根据这里的说明,重新编译device tree文件并部署到模块上。

5). 总结

本文演示了基于ARM平台Embedded Linux 24bit RGB 输出的软硬件配置方法供参考。

审核编辑(
何为
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

在 Linux 系统上 Docker 容器的性能影响

上游优先 - Toradex 采用主线内核支持

NXP iMX8M Plus M7核心FreeRTOS开发

嵌入式Linux上使用Ramoops

使用容器编译Yocto镜像