0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Firefly-RK3128開發(fā)板UART接口介紹

firefly ? 來(lái)源:firefly ? 作者:firefly ? 2019-11-28 16:36 ? 次閱讀
UART 使用
板載資源介紹

Firefly-RK3128 開發(fā)板內(nèi)置 3 路 UART,分別為 uart0,uart1,uart2。uart0 用于藍(lán)牙數(shù)據(jù)傳輸,如果要使用 uart0,必須關(guān)掉藍(lán)牙,才可以使用擴(kuò)展槽上的 UART0 針腳。uart1, 因?yàn)榇嬖谝韵聫?fù)用:

  • BT_HOST_WAKE/SPI_TXD/UART1_TX
  • BT_WAKE/SPI_RXD/UART1_RX
  • WIFI_REG_ON/SPI_CSN0/UART1_RTS

若要使用 uart1, 必須關(guān)掉藍(lán)牙和 SPI 功能,這樣才可以使用擴(kuò)展槽上的 SPI_RX 和 SPI_TX 針作 UART1_RX 和 UART1_TX 使用。uart2 一般用做調(diào)試串口,但同樣存在復(fù)用,也就是說 TF 卡與調(diào)試串口不可以同時(shí)使用:

  • SDMMC_D0/UART2_TX
  • SDMMC_D1/UART2_RX

uart1 和 uart2 有 32 字節(jié)的 FIFO 收發(fā)緩沖區(qū),uart0 則要有雙 64 字節(jié)的 FIFO 用作藍(lán)牙數(shù)據(jù)收發(fā)。所有 uart 均支持 5 位、6 位、7 位、8 位數(shù)據(jù)收發(fā)和 DMA 操作。

配置 DTS 節(jié)點(diǎn)

文件 kernel/arch/arm/boot/dts/rk312x.dtsi 中已經(jīng)有 uart 相關(guān)節(jié)點(diǎn)定義,如下所示:

uart0: serial@20060000 { compatible = "rockchip,serial"; reg = <0x20060000 0x100>; interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; clock-frequency = <24000000>; clocks = <&clk_uart0>, <&clk_gates8 0>; clock-names = "sclk_uart", "pclk_uart"; reg-shift = <2>; reg-io-width = <4>; dmas = <&pdma 2>, <&pdma 3>;#dma-cells = <2>; pinctrl-names = "default"; pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; status = "disabled"; }; uart1: serial@20064000 { compatible = "rockchip,serial"; reg = <0x20064000 0x100>; interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; clock-frequency = <24000000>; clocks = <&clk_uart1>, <&clk_gates8 1>; clock-names = "sclk_uart", "pclk_uart"; reg-shift = <2>; reg-io-width = <4>; dmas = <&pdma 4>, <&pdma 5>;#dma-cells = <2>; pinctrl-names = "default"; pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>; status = "disabled"; };
配置 uart0

用戶只需在 kernel/arch/arm/boot/dts/rk3128-fireprime.dts 文件中打開 uart0 ,并關(guān)掉藍(lán)牙,如下所示:

&uart0 { status = "okay"; dma-names = "!tx", "!rx"; pinctrl-0 = <&uart0_xfer &uart0_cts>;}; wireless-bluetooth { compatible = "bluetooth-platdata"; ... status = "disabled"; };
配置 uart1

用戶只需在 kernel/arch/arm/boot/dts/rk3128-fireprime.dts 文件中打開 uart1 ,并關(guān)掉藍(lán)牙和 SPI,如下所示:

//... wireless-bluetooth { compatible = "bluetooth-platdata"; ... status = "disabled"; };//... &spi0 { status = "disabled"; }; &uart1 { status = "okay"; dma-names = "!tx", "!rx"; pinctrl-0 = <&uart1_xfer &uart1_cts>; };
編譯并燒寫內(nèi)核

將串口驅(qū)動(dòng)編譯到內(nèi)核中,在 kernel 目錄下執(zhí)行如下命令:

make firefly_defconfig make rk3128-fireprime.img -j4

把 kernel 目錄下生成的 kernel.img 和 resource.img 燒錄到開發(fā)板中即可。

測(cè)試串口通訊

配置好串口后,用戶可以通過主機(jī)的 USB 轉(zhuǎn)串口適配器向開發(fā)板的串口收發(fā)數(shù)據(jù),以 uart0 為例,步驟如下:

(1) 連接硬件

將開發(fā)板 uart0 的 TX、RX、GND 引腳分別和主機(jī)串口適配器的 RX、TX、GND 引腳相連。注意:如果是使用 Firefly 的串口適配器,則是 TX 對(duì) TX,RX 對(duì) RX 連接。

(2) 打開主機(jī)的串口終端

在終端打開 kermit,并設(shè)置波特率:

$ sudo kermit C-Kermit> set line /dev/ttyUSB0 C-Kermit> set speed 9600 C-Kermit> set flow-control none C-Kermit> connect
  • /dev/ttyUSB0 為 USB 轉(zhuǎn)串口適配器的設(shè)備文件
  • uart0 的波特率默認(rèn)為 9600
(3) 發(fā)送數(shù)據(jù)

uart0 的設(shè)備文件為 /dev/ttyS0。在設(shè)備上運(yùn)行下列命令:

echo firefly uart test... > /dev/ttyS0

主機(jī)中的串口終端即可接收到字符串“firefly uart test…”

(4) 接收數(shù)據(jù)

首先在設(shè)備上運(yùn)行下列命令:

cat /dev/ttyS0

然后在主機(jī)的串口終端輸入字符串 “Firefly uart test…”,設(shè)備端即可見到相同的字符串。要改變 uart0 的波特率,例如 115200,可以運(yùn)行以下命令:

stty -F /dev/ttyS0 115200

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6083

    瀏覽量

    35092
  • Firefly
    +關(guān)注

    關(guān)注

    2

    文章

    538

    瀏覽量

    6946
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Firefly-RK3128開發(fā)板上手教程(上)

    1、Firefly-RK3128開發(fā)板入手指南配件Firefly-RK3128 的標(biāo)準(zhǔn)套裝包含以下配件:Core-3128J 核心一塊
    發(fā)表于 08-12 17:32

    Firefly-RK3128開發(fā)板上手教程(下)

    1、如何將主機(jī)上的固件文件通過雙公頭USB數(shù)據(jù)線燒錄到開發(fā)板的閃存中準(zhǔn)備工作Firefly-RK3128 開發(fā)板固件主機(jī)良好的 Micro USB OTG 線固件文件一般有兩種:?jiǎn)蝹€(gè)統(tǒng)一固件
    發(fā)表于 08-12 17:51

    firefly RK3128開發(fā)板介紹

    Firefly-RK3128 采用Cortex-A7架構(gòu)四核1.3GHz處理器,集成Mali-400MP2 GPU, 擁有優(yōu)秀的運(yùn)算與圖形處理能力;板載千兆以太網(wǎng)口、2.4GHz Wi-Fi和藍(lán)牙4.0
    的頭像 發(fā)表于 11-14 11:27 ?4372次閱讀
    <b class='flag-5'>firefly</b> <b class='flag-5'>RK3128</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>介紹</b>

    Firefly-RK3288開發(fā)板介紹

    Firefly-RK3288 開發(fā)板內(nèi)置 5 路 UART,分別為 uart0,uart1,uart
    的頭像 發(fā)表于 11-25 10:27 ?2887次閱讀
    <b class='flag-5'>Firefly-RK</b>3288<b class='flag-5'>開發(fā)板</b><b class='flag-5'>介紹</b>

    Firefly-RK3288--DVP開發(fā)板介紹

    Firefly-RK3288-Reload 開發(fā)板帶有一個(gè) DVP 攝像頭接口。 本文以 OV5640 攝像頭為例,講解在該開發(fā)板上的配置過程。
    的頭像 發(fā)表于 11-26 17:19 ?5000次閱讀
    <b class='flag-5'>Firefly-RK</b>3288--DVP<b class='flag-5'>開發(fā)板</b><b class='flag-5'>介紹</b>

    Firefly-RK328開發(fā)板ADC接口介紹

    Firefly-RK3288 開發(fā)板上的 AD 接口分為:高速 ADC 流接口 (High-speed ADC Stream Interface)、溫度傳感器 (Temperature
    的頭像 發(fā)表于 11-27 09:16 ?2340次閱讀
    <b class='flag-5'>Firefly-RK</b>328<b class='flag-5'>開發(fā)板</b>ADC<b class='flag-5'>接口</b><b class='flag-5'>介紹</b>

    Firefly-RK3128主板PWM輸出介紹

    Firefly-RK3128 開發(fā)板上有 4 路 PWM 輸出,分別為 PWM0 ~ PWM3
    的頭像 發(fā)表于 11-28 16:56 ?2274次閱讀
    <b class='flag-5'>Firefly-RK3128</b>主板PWM輸出<b class='flag-5'>介紹</b>

    Firefly-RK3128主板LED子系統(tǒng)介紹

    Firefly-RK3128 開發(fā)板上有 2 個(gè) LED 燈
    的頭像 發(fā)表于 11-28 17:01 ?2672次閱讀
    <b class='flag-5'>Firefly-RK3128</b>主板LED子系統(tǒng)<b class='flag-5'>介紹</b>

    Firefly-RK3128主板I2C控制器

    Firefly-RK3128 開發(fā)板上有 4 個(gè)片上 I2C 控制器。本文主要描述如何在該開發(fā)板上配置 I2C。
    的頭像 發(fā)表于 11-29 08:47 ?1392次閱讀
    <b class='flag-5'>Firefly-RK3128</b>主板I2C控制器

    Firefly-RK3128開發(fā)板攝像頭的介紹

    Firefly-RK3128 開發(fā)板上有 CIF 接口,支持 CIF 攝像頭。
    的頭像 發(fā)表于 11-28 16:48 ?3649次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>開發(fā)板</b>攝像頭的<b class='flag-5'>介紹</b>

    Firefly-RK3128主板ADC簡(jiǎn)介

    Firefly-RK3128 開發(fā)板有一個(gè) 3 通道(0/1/2)、10 比特精度的 SAR ADC (Successive Approximation Register,逐次逼近寄存器),
    的頭像 發(fā)表于 11-28 17:17 ?3427次閱讀
    <b class='flag-5'>Firefly-RK3128</b>主板ADC簡(jiǎn)介

    Firefly-RK3128主板接口定義介紹

    Firefly-RK3128 開發(fā)板提供了豐富的接口,主要包括:HDMI、音頻數(shù)字光纖、以太網(wǎng)、電源接口、復(fù)位按鍵、電源鍵、音頻輸入輸出、硅麥、串口調(diào)試
    的頭像 發(fā)表于 11-29 08:45 ?3356次閱讀
    <b class='flag-5'>Firefly-RK3128</b>主板<b class='flag-5'>接口</b>定義<b class='flag-5'>介紹</b>

    FireflyRK3128主板外殼介紹

    外殼 Firefly-RK3128 CAD圖 核心 底板 Firefly-RK3128 外殼亞克力CAD圖
    的頭像 發(fā)表于 11-29 09:19 ?1171次閱讀
    FireflyRK<b class='flag-5'>3128</b>主板外殼<b class='flag-5'>介紹</b>

    Firefly-RK3128主板啟動(dòng)模式簡(jiǎn)介

    Firefly-RK3128 有靈活的啟動(dòng)方式。
    的頭像 發(fā)表于 11-29 09:27 ?5062次閱讀

    Firefly-RK3128主板串口調(diào)試

    Firefly-RK3128 開發(fā)板的調(diào)試串口與 TF 卡接口有信號(hào)引腳復(fù)用,因此無(wú)法同時(shí)使用
    的頭像 發(fā)表于 11-29 09:47 ?3403次閱讀
    <b class='flag-5'>Firefly-RK3128</b>主板串口調(diào)試