imx6ull硬件调试记录:
入职新公司时,公司已经选定的开发板为正点原子的阿尔法linux板,应用开发的同事已经在开发应用。平台部分就是我的职责。
看了文档,发现原子公司的配套还全,文档也比较多,这款芯片总的说来简单(相对于IMX8),要调驱动也简单太多了。
正经工作先做起:
移植软件功能所需要的组件:
lighttpd-1.4.58 这个主要是用作webserver 主要配置加密网页
paho.mqtt.c-1.3.8 这个MQTT的开源,调试过程阅读了代码,测试了工具。感觉这个会成为物联网的标准组件。
apache-apollo-1.7 MQTT的服务软件,自己搭建了个本地的。云服务器也搭建了,可以测试。
sx127x-master lora的驱动,但linux版本与我们开发板不合,所以没调,替代方案是用另一块spi的驱动来修改的,实现寄存器读写就可以。因为原来的lora在stm32上使用成熟了的。只是替换接口。
硬件调试:
1.串口,RS485
2.两个网口
3.gpio读写,key
4.屏显 4.3 7
5.触摸 gt
6.三轴传感
7.AP3216C光强传感器
8.4G_EC20
9.ICM-20608 三轴传感
10.CAN总线
11.SD卡
12.usb接口
13.WM8960 音频
14.lora sx1278驱动
15.光感传感器
问题记录:
1.lora 部分 SPI读写寄存器时,数据完全不对:从数据手册上,读协议是先发地址,cs线先拉高,数据位高字节要设置成高才行。别的spi设备协议是高字节为低。
2.gpio的,有部分gpio读模式,怎么都读不了。把引脚配置放到hotplug里。
3.iic显示屏,这个屏全新调试,从stm32里取得的代码,又把另一个iic器件的驱动拿过来合并的。厂家没linux,白雪电子有树莓派下的源码,可参考。没实际验证过。
a.i2c工具读全为41 ,这个问题和硬件人员一起分析。芯片没有读功能,所以值是假的。
b.发送AF打开屏,至少iic写,和屏正常
c.屏显乱码 每次都不一样,增加rst控制,乱码仍在,但每次都一样的。
d.屏显乱码 和stm32对比,发现初始化时有个全局量造成程序所走分支不一样,屏显调用增加完逻辑,乱码不再。但显示的字体大,位置也不对。字体分层。
e.字体分层 整理代码,发现有两种写,一种是cmd,一种是数据。把cmd和data整理成对应的,这个问题解决了。
到此,至少硬件显示验证没有大的问题,接口方面的封装还没有做。