韦东山 IMX6ULL和正点原子_【调试笔记】韦东山:在100ASK_IMX6ULL板子上支持其他型号的屏幕...

目录

1. 我担心这有点尴尬 

2. 移植思路 

3. 移植LCD驱动 

3.1 确定LCD参数 

3.2 修改设备树 

3.3 完善驱动 

4. 移植触摸屏驱动 

4.1 确定触摸屏型号 

4.2 在设备树中指定触摸IC信息 

4.3 重新配置内核添加驱动 

4.4 调试:找出问题 

4.5 解决方法 

4.6 其他情况 

4.7 gt9xx芯片固件更新


100ask_imx6ull预售购买链接&产品介绍:

100ask.taobao.com (点开店铺首页的第一张海报即可进入购买页面)

很多学员有过STM32的学习经验,他们手上的开发板很多,LCD也很多。

一个LCD还挺贵的,他们问,100ask_imx6ull开发板能否兼容其他厂家的LCD?最近我们一直在调试这个问题。所以就有了本文。

1. 我担心这有点尴尬

同一款芯片的开发板,基本上都是源自厂家的公板。

如果有人跟你说:我们的程序在别家的板子上无法运行,这是有可能的,因为还没移植。

但是如果有人跟你说:我们的学习资料,只适合我们的板子。

那只有2个原因:资料太差,你不适合学习这行。

如果相同芯片的板子都无法移植,工作时一定是使用其他芯片的,到时你怎么办啊?

很多学员有过STM32的学习经验,他们手上的开发板很多,LCD也很多。

一个LCD还挺贵的,他们买Linux开发板时,问我:

a. 能不能在100ASK_IMX6ULL上使用手上的LCD?

这当然能,做一个转接板就可以了,几元钱就可以做出来。

b. 能不能移植这些LCD驱动?

这很简单,半小时就可以搞定。

c. 能不能写成文档?

这有点尴尬。

咱也不藏头藏尾了,有话直接说。

去年9月份左右,我们专心录视频,想法很美好。

我们只录视频,同时支持各家IMX6ULL开发板,大家一起把生态做好。

所以你可以看到我们的视频/文档支持野火的IMX6ULL、支持正点原子的IMX6ULL。

但是后来发现不行啊,我录收费视频,他们也录视频还免费。

虽然我自信有10几年功力,但是也挡不住免费啊。

这样下去我得没饭吃,所以我们也做了开发板,还0利润。

这就有很大的竞争关系了。

所以,我们的视频、文档是否继续支持同行的板子?

看似难以决定,想清楚后就不难了。

我们会继续支持各家的板子,不能因为会给同行带来好处就废弃承诺。

我们的裸板+同行的LCD,这是避免浪费的好事,不能因为会给我们引流而避讳。

2. 移植思路

LCD除了显示之外,它的表面通常还贴有一个触摸屏。

所以我们移植的是2个设备的驱动:LCD、触摸屏。

LCD驱动在内核中已经有了,并且很完善,我们只需要修改设备树就可以:修改时序等LCD参数,修改背光引脚等板子参数。

触摸屏的驱动在内核中一般也有了,各厂家用的触摸屏IC可能不同。需要配置内核把它加进去,同时修改设备树:指定触摸IC的信息(比如I2C地址),指定中断引脚。

如果能拿到这块LCD在别的板子上的内核源码,就可以参数它的LCD参数、触摸IC信息。

再结合你用的开发板,把涉及的GPIO找出来写入设备树。

简单吧?

开工!

3. 移植LCD驱动

IMX6ULL跟LCD的连接框图如下:

ccc5ba3e8a5a56c0b63b8a22bc358a70.png

IMX6ULL内部有LCD控制器,肯定是厂家对这个LCD控制器最熟悉了,所以他们为了卖芯片,一般都会在内核中做好LCD控制器的驱动程序。

而IMX6ULL可以接各种LCD,这些LCD参数各有不同。LCD控制器的驱动程序会去设备树中获得这些参数,并根据这些参数来设置LCD控制器。

所以,我们要做的事情从理论上讲很简单:根据LCD参数修改设备树。

但是,谁说厂家的驱动就没有BUG,就完美无缺了?

我们要做的事有3项:确定LCD参数,修改设备树,完善驱动。

3.1 确定LCD参数

如果还保留有LCD的芯片手册,这是最好的。可惜我碰到的大多学员早已经忘记这些资料在哪了。

野火的屏在板子背后直接写明分辨率是多少,这比较简单直接。

正点原子的屏在背后画有一个表格,如下:

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值