工控网首页
>

应用设计

>

嵌入式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 输出的软硬件配置方法供参考。

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

提交

查看更多评论
其他资讯

查看更多

Verdin AM62 LVGL 移植

基于 NXP iMX8MM 测试 Secure Boot 功能

隆重推出 Aquila - 新一代 Toradex 计算机模块

Verdin iMX8MP 调试串口更改

NXP iMX8MM Cortex-M4 核心 GPT Capture 测试