吴忠躺衫网络科技有限公司

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

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

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

瑞薩RZ/G2L串口SCI的使用(上)

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2024-01-17 12:19 ? 次閱讀

RZ/G2L串口簡介

瑞薩RZ/G2L的串口簡稱SCI,全稱Serial Communication Interface。

RZ/G2L有兩種串口,一種帶FIFO叫SCIFA,另一種不帶FIFO叫SCIg。

c1539e78-b4ed-11ee-8b88-92fbcf53809c.png

所以,RZ/G2L有5路SCIFA和2路SCIg總共7路的串口。

RZ/G2L串口驅(qū)動

包含驅(qū)動代碼和設(shè)備樹兩部分:

內(nèi)核中的驅(qū)動文件sh-sci.c

該源碼文件路徑:drivers/tty/serial/sh-sci.c,該驅(qū)動代碼包含SCIFA和SCIg兩種型號的完整驅(qū)動代碼。

編譯內(nèi)核的時候需進行以下配置

左右滑動查看完整內(nèi)容

egrep -rin "CONFIG_SERIAL_SH_SCI" .out/.config
2180:CONFIG_SERIAL_SH_SCI=y
2181:CONFIG_SERIAL_SH_SCI_NR_UARTS=18
2182:CONFIG_SERIAL_SH_SCI_CONSOLE=y
2183:CONFIG_SERIAL_SH_SCI_EARLYCON=y
2184:CONFIG_SERIAL_SH_SCI_DMA=y

該配置能夠確保sh-sci.c的驅(qū)動代碼能夠被編譯包含到Image中。

github上提供的內(nèi)核源碼的defconfig中默認已包含SCI驅(qū)動代碼的編譯。

SCI串口的設(shè)備樹節(jié)點在r9a07g044.dtsi中定義,分別定義了scif0~4, sci0~1共7路。

左右滑動查看完整內(nèi)容

    scif0: serial@1004b800 {
      compatible = "renesas,scif-r9a07g044";
      reg = <0 0x1004b800 0 0x400>;
      interrupts = ,
             ,
             ,
             ,
             ,
             ;
      interrupt-names = "eri", "rxi", "txi",
            "bri", "dri", "tei";
      clocks = <&cpg CPG_MOD R9A07G044_SCIF0_CLK_PCK>;
      clock-names = "fck";
      dmas = <&dmac 0x4e79>, <&dmac 0x4e7a>;
      dma-names = "tx", "rx";
      power-domains = <&cpg>;
      resets = <&cpg R9A07G044_SCIF0_RST_SYSTEM_N>;
      status = "disabled";
    };


    scif1: serial@1004bc00 {
      compatible = "renesas,scif-r9a07g044";
      reg = <0 0x1004bc00 0 0x400>;
      interrupts = ,
             ,
             ,
             ,
             ,
             ;
      interrupt-names = "eri", "rxi", "txi",
            "bri", "dri", "tei";
      clocks = <&cpg CPG_MOD R9A07G044_SCIF1_CLK_PCK>;
      clock-names = "fck";
      dmas = <&dmac 0x4e7d>, <&dmac 0x4e7e>;
      dma-names = "tx", "rx";
      power-domains = <&cpg>;
      resets = <&cpg R9A07G044_SCIF1_RST_SYSTEM_N>;
      status = "disabled";
    };


    scif2: serial@1004c000 {
      compatible = "renesas,scif-r9a07g044";
      reg = <0 0x1004c000 0 0x400>;
      interrupts = ,
             ,
             ,
             ,
             ,
             ;
      interrupt-names = "eri", "rxi", "txi",
            "bri", "dri", "tei";
      clocks = <&cpg CPG_MOD R9A07G044_SCIF2_CLK_PCK>;
      clock-names = "fck";
      dmas = <&dmac 0x4e81>, <&dmac 0x4e82>;
      dma-names = "tx", "rx";
      power-domains = <&cpg>;
      resets = <&cpg R9A07G044_SCIF2_RST_SYSTEM_N>;
      status = "disabled";
    };


    scif3: serial@1004c400 {
      compatible = "renesas,scif-r9a07g044";
      reg = <0 0x1004c400 0 0x400>;
      interrupts = ,
             ,
             ,
             ,
             ,
             ;
      interrupt-names = "eri", "rxi", "txi",
            "bri", "dri", "tei";
      clocks = <&cpg CPG_MOD R9A07G044_SCIF3_CLK_PCK>;
      clock-names = "fck";
      dmas = <&dmac 0x4e85>, <&dmac 0x4e86>;
      dma-names = "tx", "rx";
      power-domains = <&cpg>;
      resets = <&cpg R9A07G044_SCIF3_RST_SYSTEM_N>;
      status = "disabled";
    };


    scif4: serial@1004c800 {
      compatible = "renesas,scif-r9a07g044";
      reg = <0 0x1004c800 0 0x400>;
      interrupts = ,
             ,
             ,
             ,
             ,
             ;
      interrupt-names = "eri", "rxi", "txi",
            "bri", "dri", "tei";
      clocks = <&cpg CPG_MOD R9A07G044_SCIF4_CLK_PCK>;
      clock-names = "fck";
      dmas = <&dmac 0x4e89>, <&dmac 0x4e8a>;
      dma-names = "tx", "rx";
      power-domains = <&cpg>;
      resets = <&cpg R9A07G044_SCIF4_RST_SYSTEM_N>;
      status = "disabled";
    };


    sci0: serial@1004d000 {
      compatible = "renesas,r9a07g044-sci", "renesas,rz-sci";
      reg = <0 0x1004d000 0 0x400>;
      interrupts = ,
             ,
             ,
             ;
      interrupt-names = "eri", "rxi", "txi", "tei";
      clocks = <&cpg CPG_MOD R9A07G044_SCI0_CLKP>;
      clock-names = "fck";
      power-domains = <&cpg>;
      resets = <&cpg R9A07G044_SCI0_RST>;
      status = "disabled";
    };


    sci1: serial@1004d400 {
      compatible = "renesas,r9a07g044-sci", "renesas,rz-sci";
      reg = <0 0x1004d400 0 0x400>;
      interrupts = ,
             ,
             ,
             ;
      interrupt-names = "eri", "rxi", "txi", "tei";
      clocks = <&cpg CPG_MOD R9A07G044_SCI1_CLKP>;
      clock-names = "fck";
      power-domains = <&cpg>;
      resets = <&cpg R9A07G044_SCI1_RST>;
      status = "disabled";
    };

設(shè)備樹文件路徑

arch/arm64/boot/dts/renesas/r9a07g044.dtsi

根據(jù)項目需要,使能需要使用的設(shè)備節(jié)點,如欲使用SCIFA2:

左右滑動查看完整內(nèi)容

&scif2 {
 pinctrl-0 = <&scif2_pins>;
 pinctrl-names = "default";
 uart-has-rtscts;
 status = "okay";
};

注意需通過scif2_pins正確處理IO口復(fù)用問題。如果不使用DMA需要將設(shè)備節(jié)點中的dmas和dma-names刪除。

編譯內(nèi)核:

左右滑動查看完整內(nèi)容

export ARCH=arm64
export CROSS_COMPILE=aarch64-none-elf-
export PATH=$PATH:/opt/arm/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf/bin
make defconfig O=.out && make -j8 O=.out

使用當前編譯生成的內(nèi)核Image和dtb

左右滑動查看完整內(nèi)容

.out/arch/arm64/boot/Image 
.out/arch/arm64/boot/dts/renesas/r9a07g044l2-smarc.dtb

啟動板子后就能在系統(tǒng)路徑下生成/dev/ttySC2節(jié)點。

Linux應(yīng)用層使用RZ/G2L的串口SCI

RZ/G2L的串口設(shè)備節(jié)點在Linux應(yīng)用層遵循POSIX標準,使用方法和PC端的Ubuntu系統(tǒng)并無差別。

RZ/G2L除了支持市面上常用的串口波特率如9600/115200/921600等,實際上除POSIX系統(tǒng)定義的波特率都支持外,RZ/G2L能夠支持的最大串口波特率是12.5Mbps,下一篇我們將介紹如何在內(nèi)核驅(qū)動代碼中實現(xiàn)RZ/G2L的最大波特率12.5Mbps

審核編輯:湯梓紅

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

    關(guān)注

    3

    文章

    1382

    瀏覽量

    40421
  • 瑞薩
    +關(guān)注

    關(guān)注

    35

    文章

    22310

    瀏覽量

    86736
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1557

    瀏覽量

    77033
  • SCI
    SCI
    +關(guān)注

    關(guān)注

    1

    文章

    56

    瀏覽量

    20172

原文標題:RZ/G2L串口SCI的使用(上)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于電子RZ/G2L的FET-G2LD-C核心板和OK-G2LD-C開發(fā)板評測

    基于電子RZ/G2L處理器開發(fā)的FET-G2LD-C核心板和OK-G2LD-C開發(fā)板。
    發(fā)表于 05-30 17:24 ?1190次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>的FET-<b class='flag-5'>G2</b>LD-C核心板和OK-<b class='flag-5'>G2</b>LD-C開發(fā)板評測

    RZ/G2L串口SCI的使用(下)

    RZ/G2L的SCIFA異步通訊模式下支持的最高波特率可以達到12.5Mbps,如果異步基礎(chǔ)時鐘選擇16倍波特率,同時關(guān)閉波特率發(fā)生器的倍頻模式下依然可以達到3.125Mbps。如果異步基礎(chǔ)時鐘選擇8倍波特率或者波特率發(fā)生器開啟倍頻模式,最大波特率可以達到6.25Mbps
    的頭像 發(fā)表于 01-17 12:20 ?1373次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b><b class='flag-5'>串口</b><b class='flag-5'>SCI</b>的使用(下)

    RZ/G2L高速虛擬串口方案 基于RZ/G2L SMARC開發(fā)板的虛擬(Virtual UART)實現(xiàn)方案

    RZ/G2L具有豐富的外設(shè),比如千兆以太網(wǎng),CANFD以及豐富的UART接口,可以滿足工業(yè)數(shù)據(jù)收集處理相關(guān)的應(yīng)用。本文主要介紹基于RZ/
    發(fā)表于 11-20 14:41 ?572次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>高速虛擬<b class='flag-5'>串口</b>方案 基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> SMARC開發(fā)板的虛擬(Virtual UART)實現(xiàn)方案

    G2L系列 核心板 -RZ/G2L 處理器簡介|框架圖|功耗|原理圖及硬件設(shè)計指南

    RZ/G2L在智能工控領(lǐng)域的一款高性能、超高效處理器。RZ/G2L采用Arm Cortex
    發(fā)表于 06-21 14:45

    【米爾RZ/G2L開發(fā)板-試用體驗】開箱

    感謝 感謝電子發(fā)燒友論壇、感謝米爾電子,把米爾RZ/G2L開發(fā)板試用話動的機會給了我。雖然周五就收到了開發(fā)板,但是由于復(fù)陽了,為了能及時的完成試用活動,所以今天努力的爬起來完成開箱
    發(fā)表于 05-14 19:41

    【米爾RZ/G2L開發(fā)板-試用體驗】開箱 + 開機

    感謝 感謝電子發(fā)燒友論壇、感謝米爾電子,把米爾RZ/G2L開發(fā)板試用話動的機會給了我。最近事情比較多,趕在這個空擋時間完成開箱報告。 開箱 第一次拿到米爾電子的試用機會,簡約的包裝
    發(fā)表于 05-18 19:33

    【米爾RZ/G2L開發(fā)板-試用體驗】米爾RZ/G2L開發(fā)板開箱視頻

    今天剛剛收到米爾RZ/G2L開發(fā)板,拆開包裹后給人的感覺是驚艷,板卡設(shè)計真的很棒,來看看視頻做個簡單了解吧。 更多板卡可以登錄官網(wǎng)了解哦。https://www.myi
    發(fā)表于 05-22 21:58

    【米爾RZ/G2L開發(fā)板-試用體驗】米爾RZ/G2L開發(fā)板使用SSH登錄

    收到的米爾RZ/G2L開發(fā)板電測試一下SSH登錄方式和其它測試! SSH登錄 在使用之前,需要事先連接網(wǎng)絡(luò),筆者這里使用的是以太
    發(fā)表于 06-11 21:47

    【米爾RZ/G2L開發(fā)板-試用體驗】認識一下米爾RZ/G2L開發(fā)板的核心板

    收到米爾RZ/G2L開發(fā)板后一直對米爾旗下開發(fā)板的做工感到非常精致,同時也有著很強大的功能,也一直很喜歡米爾系列開發(fā)板。 引領(lǐng)工業(yè)市場從32位MPU向64位演進 基于
    發(fā)表于 07-29 00:21

    G2L系列核心板-RZ/G2L處理器簡介

    RZ/G2L在智能工控領(lǐng)域的一款高性能、超高效處理器。RZ/G2L采用Arm Cortex
    發(fā)表于 06-09 11:54 ?979次閱讀

    米爾RZ/G2L開發(fā)板-初體驗

    介紹米爾RZ/G2L開發(fā)板
    的頭像 發(fā)表于 05-15 09:10 ?1054次閱讀
    米爾<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>開發(fā)板-初體驗

    米爾RZ/G2L開發(fā)板 TF卡讀寫速度測試

    米爾RZ/G2L開發(fā)板TF卡讀寫測試
    的頭像 發(fā)表于 05-22 09:07 ?1476次閱讀
    米爾<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>開發(fā)板 TF卡讀寫速度測試

    米爾RZ/G2L開發(fā)板 安裝交叉編譯器

    米爾RZ/G2L開發(fā)板安裝交叉編譯器
    的頭像 發(fā)表于 05-26 22:05 ?2173次閱讀
    米爾<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>開發(fā)板 安裝交叉編譯器

    RZ/G2L串口SCI的使用(

    RZ/G2L串口SCI的使用
    的頭像 發(fā)表于 07-25 08:06 ?559次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b><b class='flag-5'>串口</b><b class='flag-5'>SCI</b>的使用(<b class='flag-5'>上</b>)

    RZ/G2L串口SCI的使用(下)

    RZ/G2L串口SCI的使用
    的頭像 發(fā)表于 08-03 08:06 ?565次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b><b class='flag-5'>串口</b><b class='flag-5'>SCI</b>的使用(下)
    哪个百家乐技巧平台信誉好| 免费百家乐平预测软件| 小孟百家乐官网的玩法技巧和规则| 长宁县| 大发888代理佣金| 实战百家乐的玩法技巧和规则 | 大发888合作伙伴| 黄金城百家乐安卓版| 百家乐娱乐城备用网址| 百家乐路单下注| 御匾会百家乐官网娱乐城| 百家乐官网获胜秘决百家乐官网获胜秘诀| 玩百家乐官网怎么才能赢| 广元市| 宜黄县| 和静县| 三明市| 百家乐官网de概率| 百家乐官网怎么样玩| 百家乐官网攻略投注法| 百家乐官网分析软件下| 圣淘沙百家乐官网现金网| 网上百家乐官网官方网站| 百家乐官网视频聊天软件| 太阳城百家乐官网看牌| 百家乐官网棋牌官网| 中华百家乐官网娱乐城| 三星百家乐官网的玩法技巧和规则| 反赌百家乐官网的玩法技巧和规则| 百家乐官网棋牌游| 玩百家乐官网请高手指点| 24山风水 九运| 百家乐现金网平台排行榜| 百家乐破战| 嘉兴太阳城大酒店| bet365百家乐| 当阳市| 百家乐官网云顶| 24山72局消砂| 百家乐龙虎台布作弊技巧| 太阳城巴黎左岸|