本文檔主要介紹 IMX6 plus 開發板串口擴展過程。
IMX6 一共支持 5 個 UART,底板上還可以再擴展出兩個,分別是串口 4 和串口 5。
硬件環境:iMX6 開發板:底板 v_2.3 。
軟件環境:Ubuntu14。
修改管腳配置
因為在底板上串口 4 和串口 5 對應的管腳被攝像頭占用了,所以我要修改一下管腳配
置,首先我們進入到內核源碼目錄下,如下圖所示:
輸入命令“vi arch/arm/boot/dts/imx6qdl-sabresd.dtsi”打開文件。在文件的第
1064 行左右添加如下代碼:
pinctrl_uart4: uart4grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
>;
};
添加完成如下圖所示:
在文件的第 1077 行左右添加如下代碼:
MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA 0x1b0b1
添加完成如下圖所示:
在文件的第 1279 行左右添加如下代碼:
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
status = "okay";
};
添加完成如下圖所示:
在文件 1005 左右注釋掉攝像頭部分管腳代碼配置,如下圖所示:
保存,返回到源碼路徑下,輸入命令“./build_qt_kernel.sh plus”編譯內核源碼,把
kernel_imx/arch/arm/boot 目 錄 下 的 zImage , 把 kernel_imx/arch/arm/boot/dts ”
topeet_10.1inch.dtb、topeet_7inch.dtb 和 topeet_9.7inch.dtb 燒寫進開發板。
在底板原理圖上對應的為牛角座的第 16,18,19,20 管腳,如下圖所示:
第 19,20 腳為串口 5 的引腳,對應的設備節點的為 /dev/ttymxc4 。其中 19 腳為
TX,20 腳為 RX。
把測試程序 uart_write_read 拷貝到開發板的根目錄,同時把 19,20 管腳短接,輸入命令
“ ./uart_write_read /dev/ttymxc4”,可以看到開發板已經收到數據。如下圖所示:
第 16,18 腳為串口 4 的引腳,對應的設備節點的為 /dev/ttymxc3 。其中 16 腳為
TX,18 腳為 RX。把測試程序 uart_write_read 拷貝到開發板的根目錄,同時把 19,20 管腳短
接,輸入命令“ ./uart_write_read /dev/ttymxc3”,可以看到開發板已經收到數據。如下
圖所示:
|