Firefly-RK3288 開發(fā)板內(nèi)置 5 路 UART,分別為 uart0,uart1,uart2,uart3,uart4。
- uart0 為 uart_bt,用于藍(lán)牙傳輸。
- uart2 為 uart_dbg,用做調(diào)試串口。
- uart 1、uart3、uart4 可做外部串口使用,開發(fā)板已將其引腳連接至 J10 處,其中 uart4 和 SPI0 引腳復(fù)用。
擁有 64 字節(jié)的 FIFO 收發(fā)緩沖區(qū),支持 5 位、6 位、7 位、8 位數(shù)據(jù)收發(fā)和 DMA 操作。
以下以配置 uart3 為例。
文件 kernel/arch/arm/boot/dts/rk3288.dtsi 中已經(jīng)有 uart 相關(guān)節(jié)點定義,如下所示:
uart_gps: serial@ff1b0000 { compatible = "rockchip,serial"; reg = <0xff1b0000 0x100>; interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; clock-frequency = <24000000>; clocks = <&clk_uart3>, <&clk_gates6 11>; clock-names = "sclk_uart", "pclk_uart"; current-speed = <115200>; reg-shift = <2>; reg-io-width = <4>; dmas = <&pdma1 7>, <&pdma1 8>;#dma-cells = <2>; pinctrl-names = "default"; pinctrl-0 = <&uart3_xfer &uart3_cts &uart3_rts>; status = "disabled"; };
注:uart_gps 在該文件的 aliases 節(jié)點中被定義為:serial3 = &uart_gps; 用戶只需在 kernel/arch/arm/boot/dts/firefly-rk3288.dts 文件中打開所要使用的節(jié)點即可,如下所示:
&uart_gps { status = "okay"; dma-names = "!tx", "!rx";pinctrl-0 = <&uart3_xfer &uart3_cts>; };
將串口驅(qū)動編譯到內(nèi)核中,在 kernel 目錄下執(zhí)行如下命令:
make firefly-rk3288.img
把 kernel 目錄下生成的 kernel.img 和 resource.img 燒錄到開發(fā)板中即可。
配置好串口后,用戶可以通過主機(jī)的 USB 轉(zhuǎn)串口適配器向開發(fā)板的串口收發(fā)數(shù)據(jù),步驟如下: 1.連接硬件 將開發(fā)板 uart3 的 TX、RX、GND 引腳分別和主機(jī)串口適配器的 RX、TX、GND 引腳相連。 2.打開主機(jī)的串口終端 在終端打開kermit,并設(shè)置波特率:
$ sudo kermit C-Kermit> set line /dev/ttyUSB0 C-Kermit> set speed 115200 C-Kermit> set flow-control none C-Kermit> connect
/dev/ttyUSB0 為 USB 轉(zhuǎn)串口適配器的設(shè)備文件 波特率與配置 DTS 節(jié)點中的 current-speed 屬性相同
3.發(fā)送數(shù)據(jù) uart3 的設(shè)備文件為 /dev/ttyS3。在設(shè)備上運行下列命令:
echo firefly uart3 test... > /dev/ttyS3
4.接收數(shù)據(jù) 首先在設(shè)備上運行下列命令:
cat /dev/ttyS3
然后在主機(jī)的串口終端輸入字符串 “Firefly uart3 test…”,設(shè)備端即可見到相同的字符串。
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6085瀏覽量
35295 -
Firefly
+關(guān)注
關(guān)注
2文章
538瀏覽量
7027
發(fā)布評論請先 登錄
相關(guān)推薦
評論