本文以飛凌OKMX6ULL-S開發板為基礎講解,系統為Linux,一共總結了14個iMX6ULL小知識點,分三期完成,此為第三期
i.MX6ULL應用筆記目錄
1.1 管腳復用的參數配置方法(PINMUX)
1.2 Windows下轉換開機LOGO圖片格式
1.3 8189es SDIO WIFI使用及測試
1.4 USB轉串口芯片的支持(PL2303)
1.5 增加串口
1.6 串口配置DMA
1.7 LCD轉LVDS模塊
1.8 LCD轉VGA模塊
1.9 硬浮點運算
1.10 OTG修改模式
1.11 使用EC20模塊實現4G-AP功能
1.12 SPI轉CAN接口
1.13 ADC接口
1.14 LCD的屏幕參數調整
正文開始
1.11 使用EC20模塊實現4G-AP功能1. EC20 4G模塊撥號成功并分配IP,可連接外網。設置轉發規則:
2.設置WiFi的模式與IP確保模塊8723bu已經加載。
3.開啟AP
4. 手機等移動終端可以通過WiFi連接到FCU1101的AP熱點,訪問外網。
5. 如果使用的華為的ME-909s模塊,按軟件手冊中先進行撥號,再配置iptables轉發規則,即可實現通過4G模塊實現熱點功能。
1.12 SPI轉CAN接口1.其中SPI部分驅動參考“SPI接口”部分。
2.首先搜索一下iMX6ULL-S是否自帶mcp2515驅動。
在Makefile中添加相應配置:
3.在配置文件arch/arm/config/imx6ull_defconfig中設置CONFIG_CAN_MCP251X=y.
4.同時需要配置設備樹。
配置clock時鐘:
配置參考電壓
配置PIN MUX:
配置ecspi2的配置項:
5. 驗證
步驟1:按軟件手冊編譯內核和設備樹。注意查看編譯完內核之后,是否在drivers/spi/下生成spi-imx.o,是否在drivers/net/can/下生成mcp251x.o,如果沒生成,查看配置是否出錯?生成*.o文件說明已經編譯進內核。
步驟2 :替換燒寫工具中的設備樹和內核,重新燒寫。開機選擇剛替換的設備樹。
步驟3 :此ecspi2驅動加載成功之后,cat /sys/bus/spi/devices/spi1.0/modalias會出現spi:mcp2515。
步驟4 :查看打印信息是否生成can0節點。
1.13 ADC接口以將電阻觸摸的4路觸摸用作ADC為例。
1. 查看IMX6ULLRM.pdf手冊中Chapter 13.2有:
采用GPIO1_IO01、GPIO1_IO02、GPIO1_IO03、GPIO1_IO04作為四路ADC。
2. 怎么查找用哪個驅動,采用config中的哪個進行配置呢?
3. 查找ADC的驅動和配置選項。
設備樹文件arch/arm/boot/dts/imx6ull-14x14-evk.dts中有
打開imx6ul.dtsi文件,此文件為通用設備樹配置文件
在drviers路徑下查找相關文件,如下:
查看drives/spi/Makefile文件。此文件將adc路徑下的驅動文件和配置文件中具體哪個配置聯系起來。vf610_adc.c文件編譯之后為vf610_adc.o文件。
查看6ULL-S的配置文件arch/arm/config/imx6ull_defconfig中CONFIG_VF610_ADC=y。
查看drivers/iio/Makefile中,要編譯ADC下的文件,需要有:
查看`,要編譯iio下的文件,需要有:
查看6ul emmc的配置文件arch/arm/config/imx6ull_defconfig中CONFIG_IIO=y。
至此驅動配置完成。
4. 修改設備樹文件arch/arm/boot/dts/imx6ull-14x14-evk.dts,添加adc1.
需要用到參考電壓,添加reg_vref_3v3,如圖:
在&iomuxc中添加所用到的具體[color=inherit !important]引腳。此處關于上下拉電阻配置部分,參考“PINMUX說明”部分進行設置。如圖:
并將其他復用GPIO1_IO01、GPIO1_IO02、GPIO1_IO03、GPIO1_IO04的地方注釋掉或者disabled。
5. 編譯生成dtb zImage,編譯內核,查看drivers/iio/adc/是否生成vf610_adc.o,如果生成,已編譯進內核。如果未生成,查看是否配置出錯?
6. 替換dtb zImage,并燒寫,啟動。
7. 查看開發板/dev下有節點iio:device0,則驅動加載成功。
或者進入cd /sys/bus/iio/devices/iio\:device0/路徑查看。
1.14 LCD的屏幕參數調整以修改4.3吋為3.5吋屏為例。
1.修改內核設備樹。
arch/arm/boot/dts/imx6ull-S-emmc-480x272r4dot3.dts找到&lcdif。
2.參考屏體手冊中有:
3.修改設備樹中
其中clock-frequency= fframe*(hfront+hback+hsync+xres)*(vfront+vback+vsync+yres)其中fframe=60
4.編譯dtb文件。
生成arch/arm/boot/dts/imx6ull-S-emmc-320x240r3dot5.dts替換燒寫工具中的dtb中文件。燒寫。在uboot選擇5-4.3吋屏。重啟。發現uboot顯示不正常,內核顯示正常。
5.如果發現屏幕閃爍,根據分頻設置,適當調整頻率。
或未在中心位置。微調下面6個參數。
6. 修改文件系統目錄下/etc/rc.d/qt_env.sh,根據實際需求調整QWS_SIZE的大小。
原文鏈接:https://www.forlinx.com/article_view_604.html
歡迎光臨 電子工程網 (http://m.qingdxww.cn/) | Powered by Discuz! X3.4 |