在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

瑞薩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串口驅動

包含驅動代碼和設備樹兩部分:

內核中的驅動文件sh-sci.c

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

編譯內核的時候需進行以下配置

左右滑動查看完整內容

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的驅動代碼能夠被編譯包含到Image中。

github上提供的內核源碼的defconfig中默認已包含SCI驅動代碼的編譯。

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

左右滑動查看完整內容

    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";
    };

設備樹文件路徑

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

根據項目需要,使能需要使用的設備節點,如欲使用SCIFA2:

左右滑動查看完整內容

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

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

編譯內核:

左右滑動查看完整內容

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

使用當前編譯生成的內核Image和dtb

左右滑動查看完整內容

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

啟動板子后就能在系統路徑下生成/dev/ttySC2節點。

Linux應用層使用RZ/G2L的串口SCI

RZ/G2L的串口設備節點在Linux應用層遵循POSIX標準,使用方法和PC端的Ubuntu系統并無差別。

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內核
    +關注

    關注

    3

    文章

    1401

    瀏覽量

    40851
  • 瑞薩
    +關注

    關注

    36

    文章

    22343

    瀏覽量

    87465
  • 串口
    +關注

    關注

    14

    文章

    1577

    瀏覽量

    78193
  • SCI
    SCI
    +關注

    關注

    1

    文章

    57

    瀏覽量

    20313

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

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

收藏 人收藏

    評論

    相關推薦

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

    基于電子RZ/G2L處理器開發的FET-G2LD-C核心板和OK-G2LD-C開發板。
    發表于 05-30 17:24 ?1256次閱讀
    基于<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開發板評測

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

    RZ/G2L的SCIFA異步通訊模式下支持的最高波特率可以達到12.5Mbps,如果異步基礎時鐘選擇16倍波特率,同時關閉波特率發生器的倍頻模式下依然可以達到3.125Mbps。如果異步基礎時鐘選擇8倍波特率或者波特率發生器開啟倍頻模式,最大波特率可以達到6.25Mbps
    的頭像 發表于 01-17 12:20 ?1502次閱讀
    <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開發板的虛擬(Virtual UART)實現方案

    RZ/G2L具有豐富的外設,比如千兆以太網,CANFD以及豐富的UART接口,可以滿足工業數據收集處理相關的應用。本文主要介紹基于RZ/
    發表于 11-20 14:41 ?842次閱讀
    <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開發板的虛擬(Virtual UART)實現方案

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    米爾RZ/G2L開發板-初體驗

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

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

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

    米爾RZ/G2L開發板 安裝交叉編譯器

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

    RZ/G2L串口SCI的使用(

    RZ/G2L串口SCI的使用
    的頭像 發表于 07-25 08:06 ?675次閱讀
    <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的使用
    的頭像 發表于 08-03 08:06 ?679次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b><b class='flag-5'>串口</b><b class='flag-5'>SCI</b>的使用(下)
    主站蜘蛛池模板: 欧美黑粗 | 日日干狠狠干 | 欧美成人在线网站 | 性欧美乱又伦 | 特污兔午夜影院 | 1024视频在线观看国产成人 | 中国毛茸茸bbxx | 狠狠色噜噜狠狠狠狠黑人 | 看黄免费在线 | 乡村乱人伦短小说 | 一区二区三区影院 | 精品少妇一区二区三区视频 | 欧美黑人性xxx猛交 欧美黑人性受xxxx精品 | 色视频在线免费 | 酒色成人| 日日摸人人看97人人澡 | aⅴ一区二区三区 | 日韩欧美一卡二区 | 欧美在线视频看看 | 五月天婷婷丁香花 | 国产caob| 丁香欧美 | 三级在线观看视频网站 | 狠狠色 综合色区 | 瑟瑟网站免费 | 在线观看二区三区午夜 | 国产女人在线观看 | 五月天婷婷在线观看高清 | 狠狠五月天小说 | xxx性欧美 | 神马影视午夜 | 三级免费黄色片 | 一级片 在线播放 | 在线一级毛片 | 天天干夜夜操视频 | 欧美一级免费片 | 爱看精品福利视频观看 | 日本a级精品一区二区三区 日本a级特黄三级三级三级 | 天天爱综合网 | 男人午夜影院 | 国产嫩草影院精品免费网址 |