色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    1372

    瀏覽量

    40277
  • 瑞薩
    +關注

    關注

    35

    文章

    22308

    瀏覽量

    86240
  • 串口
    +關注

    關注

    14

    文章

    1551

    瀏覽量

    76425
  • SCI
    SCI
    +關注

    關注

    1

    文章

    56

    瀏覽量

    20116

原文標題: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 ?1169次閱讀
    基于<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 ?1262次閱讀
    <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 ?344次閱讀
    <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 ?943次閱讀

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

    介紹米爾RZ/G2L開發板
    的頭像 發表于 05-15 09:10 ?1006次閱讀
    米爾<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 ?1411次閱讀
    米爾<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 ?2097次閱讀
    米爾<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 ?515次閱讀
    <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 ?502次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b><b class='flag-5'>串口</b><b class='flag-5'>SCI</b>的使用(下)
    主站蜘蛛池模板: 久久精品电影久久电影大全| 在线日本高清日本免费| 日韩欧美一级| 日本久久不射| 色婷婷国产精品视频一区二区| 欧美视频 亚洲视频| 妻子+免费观看完整| 欧美大片免费| 日本人添下面的全过程| 日韩亚射吧| 亚洲国产无线码在线观看| 亚洲高清中文字幕| 云南14学生真实初次破初视频| 中文字幕免费在线视频| 97在线视频网站| 波多野结衣二区| 国产一区二区三区四区五在线观看| 国产人妻人伦精品98| 教室眠催白丝美女校花| 老年日本老年daddy| 欧美性猛交AAA片免费观看| 色戒床震视频片段| 亚洲日本乱码中文论理在线电影| av天堂网2017avtt| 伊人久久网站| H厨房灌草莓| 久久se视频精品视频在线| 青柠在线观看免费全集| 亚洲欧美精品无码大片在线观看| 中文字幕在线观看亚洲视频| 国产成人啪精视频精东传媒网站 | 亚洲欧美日韩人成| caoporn 超碰在线视频| 后入式狂顶免费视频| 日日碰狠狠添天天爽| 中文字幕人妻无码系列第三区| 大屁股国产白浆一二区| 嫩小xxxxbbbb| 中文字幕无码亚洲视频| 饥渴难耐的浪荡艳妇在线观看| 色偷偷777|