連載-iMX6ULL 軟件定制應(yīng)用筆記 -9個(gè)知識(shí)點(diǎn)講解

原創(chuàng) 作者 iMX6ULL 2020-12-16 18:26:00 i.MX6ULL iMX6ULL

接上篇:

連載-iMX6ULL 軟件定制應(yīng)用筆記 -3個(gè)常見(jiàn)問(wèn)題解決思路   點(diǎn)擊了解



本文以飛凌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 set
CONFIG_USB_SERIAL_PL2303=y
CONFIG_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

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  串口配置DMA

i.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 = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
                    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";
};


未完,接下篇 連載-iMX6ULL 軟件定制應(yīng)用筆記 -4個(gè)實(shí)用案例操作指南 點(diǎn)擊查詢

相關(guān)產(chǎn)品 >

  • OKMX6ULL-S開(kāi)發(fā)板

    iMX6ULL是飛凌新近推出的一款開(kāi)發(fā)板,iMX6ULL與iMX6UL開(kāi)發(fā)板相比,功能無(wú)區(qū)別完全兼容,配置升級(jí),性能高,價(jià)格低。根據(jù)介紹可看出i.MX6ULL參數(shù)豐富 ,采用NXP i.MX6ULL處理器芯片,郵票孔封裝,支持Linux系統(tǒng),i.MX6ULL開(kāi)發(fā)板資料豐富,方便二次開(kāi)發(fā)設(shè)計(jì)。

    了解詳情
    OKMX6ULL-S開(kāi)發(fā)板
  • FETMX6ULL-S核心板

    飛凌新出的一款采用NXP高性能、高效、低成本處理器的核心板—FETMX6ULL-S核心板,i.MX6ULL核心板采用郵票孔連接方式,ARM Cortex-A7內(nèi)核,原生兩路網(wǎng)口,兩路Can和八路串口,可以和多種設(shè)備同時(shí)通訊。i.MX6ULL核心板支持工業(yè)級(jí)和擴(kuò)展商業(yè)級(jí)兩種配置,并且經(jīng)過(guò)了高低溫測(cè)試的檢驗(yàn),iMX6ULL核心板采用Linux4.1.15+Qt5.6操作系統(tǒng),方便開(kāi)發(fā)自己的應(yīng)用程序。 了解詳情
    FETMX6ULL-S核心板
  • FETMX6ULL-C核心板

    FETMX6ULL-C核心板采用NXP i.MX6ULL處理器開(kāi)發(fā)設(shè)計(jì),是一款高性能Linux核心板,采用低功耗的ARM Cortex-A7架構(gòu),運(yùn)行速度高達(dá)800MHz。iMX6ULL核心板29*40mm  ,iMX6ULL這款處理器功能接口資源豐富,供貨周期長(zhǎng)。

    了解詳情
    FETMX6ULL-C核心板
  • OKMX6ULL-C開(kāi)發(fā)板

    40*29mm,雙網(wǎng)雙CAN,8路串口| i.MX6ULL開(kāi)發(fā)板是基于NXP i.MX6ULL設(shè)計(jì)開(kāi)發(fā)的的一款Linux開(kāi)發(fā)板 ,主頻800MHz,體積小,其核心板僅40*29mm,采用板對(duì)板連接器,適應(yīng)場(chǎng)景豐富。 了解詳情
    OKMX6ULL-C開(kāi)發(fā)板

推薦閱讀 換一批 換一批