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整理成對應的,這個問題解決了。
到此,至少硬體顯示驗證沒有大的問題,接口方面的封裝還沒有做。