|
本文以飛凌OKMX6ULL-S開(kāi)發(fā)板為基礎(chǔ)講解,系統(tǒng)為Linux,一共總結(jié)了14個(gè)imx6ULL小知識(shí)點(diǎn),分三期完成,此為第二期
i.MX6ULL應(yīng)用筆記目錄
1.1 管腳復(fù)用的參數(shù)配置方法(PINMUX)
1.2 Windows下轉(zhuǎn)換開(kāi)機(jī)LOGO圖片格式
1.3 8189es SDIO WIFI使用及測(cè)試
1.4 USB轉(zhuǎn)串口芯片的支持(PL2303)
1.5 增加串口
1.6 串口配置DMA
1.7 LCD轉(zhuǎn)LVDS模塊
1.8 LCD轉(zhuǎn)VGA模塊
1.9 硬浮點(diǎn)運(yùn)算
1.10 OTG修改模式
1.11 使用ec20模塊實(shí)現(xiàn)4G-AP功能
1.12 SPI轉(zhuǎn)CAN接口
1.13 ADC接口
1.14 LCD的屏幕參數(shù)調(diào)整
1.4 USB轉(zhuǎn)串口芯片的支持(PL2303)內(nèi)核自帶了PL2303的驅(qū)動(dòng),需要將配置文imx6ull_defconfig中CONFIG_USB_SERIAL_PL2303 設(shè)置為y,如下:(默認(rèn)已經(jīng)配置)
arch/arm/configs/imx6ull_defconfig
# CONFIG_USB_SERIAL_NAVMAN is not setCONFIG_USB_SERIAL_PL2303=yCONFIG_USB_SERIAL_VIZZINI=y 配置說(shuō)明:1. 編譯內(nèi)核,燒寫(xiě)并替換內(nèi)核。(如果對(duì)imx6ull_defconfig配置進(jìn)行修改需要執(zhí)行此步驟)
2.啟動(dòng)系統(tǒng)à 插入U(xiǎn)SB轉(zhuǎn)串口設(shè)備。
3.驗(yàn)證,輸入以下指令查看,默認(rèn)在dev下產(chǎn)生ttyUSB0節(jié)點(diǎn):
root@fl-imx6ull:~#ls -la /dev/ttyUSB0注意:
1.有些USB設(shè)備需要將配置文件中CONFIG_USB_PRINTER=y;
2. 測(cè)試方法同《用戶手冊(cè)》串口測(cè)試章節(jié)。
1.5 增加串口
1.此處以u(píng)art4配置進(jìn)行說(shuō)明。查看IMX6ULLRM.pdf手冊(cè)中Chapter 4
![]()
2.因有調(diào)試串口,驅(qū)動(dòng)為同一個(gè),此處不再修改配置configs文件。
3.修改設(shè)備樹(shù)文件imx6ull-S-emmc-1024x600c7.dts
&uart4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart4>; status = "okay";};
PIN control部分:
pinctrl_uart4: uart4grp { fsl,pins = < MX6UL_PAD_UART4_TX_DATA__UART4_DCE_TX 0x1b0b1 MX6UL_PAD_UART4_RX_DATA__UART4_DCE_RX 0x1b0b1 >;};
因uart4復(fù)用為i2c1,此處將i2c1設(shè)置為disabLED。
&i2c1 { clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1>; status = "disabled";
4.編譯生成dtb,替換并燒寫(xiě)。
5.查看開(kāi)發(fā)板/dev下有節(jié)點(diǎn)ttymxc3,則驅(qū)動(dòng)加載成功。
測(cè)試同其他串口的測(cè)試方法。此處不再說(shuō)明。
1.6 串口配置DMAi.MX6ULL-S源碼中,默認(rèn)除了debug串口uart1之外,其它的都是默認(rèn)打開(kāi)的DMA的,如果串口只是接了TXD/RXD,而沒(méi)有硬件流控RTS/CTS,則使用DMA傳輸大量數(shù)據(jù)有可能報(bào)DMA錯(cuò)誤,所以如果只接TXD/RXD可以只使用PIO模式,參考 uart1設(shè)置。以u(píng)art7為例:
imx6ull.dts
uart7: serial@02018000 { compatible = "fsl,imx6ul-uart", "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02018000 0x4000>; interrupts = ; clocks = <&clks IMX6UL_CLK_UART7_IPG>, <&clks IMX6UL_CLK_UART7_SERIAL>; clock-names = "ipg", "per"; // dmas = <&sdma 43 4 0>, <&sdma 44 4 0>; //注釋掉則該串口不使用DMA dma-names = "rx", "tx"; status = "disabled"; };1.7 LCD轉(zhuǎn)LVDS模塊關(guān)閉電源,將LCD屏幕接至LVDS接口,現(xiàn)階段支持深圳拓普微的LMT070DICFWD-AKA液晶顯示器。
上電即可正常顯示,觸摸可用,如有需要可聯(lián)系銷(xiāo)售人員。
1.8 LCD轉(zhuǎn)VGA模塊關(guān)閉電源,將LCD屏幕接至LCD轉(zhuǎn)VGA模塊。需要更改顯示的各參數(shù),客戶根據(jù)實(shí)際使用的設(shè)備樹(shù)修改參數(shù)即可。如有需要可聯(lián)系銷(xiāo)售人員。
1.9 硬浮點(diǎn)運(yùn)算i.MX6ULL的CPU本身有FPU,支持VFPv4-D32。假設(shè)測(cè)試程序?yàn)閠est.c。
Linux4.1.15內(nèi)核,按照用戶手冊(cè)描述,配置好交叉編譯環(huán)境后,直接使用$CC編譯即可
$CC -o test test.c
1.10 OTG修改模式設(shè)備樹(shù)中設(shè)置為device模式:
&usbotg1 {dr_mode = "peripheral"; //默認(rèn)設(shè)置為device模式,所以MFG下載可以用。status = "okay";};
設(shè)備樹(shù)中設(shè)置為host模式:
&usbotg1 { vbus-supply = <®_usb_otg1_vbus>; dr_mode = "host"; status = "okay";};
原文鏈接:https://www.forlinx.com/article_view_603.html
|
|