0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于瑞萨64位MPU RZ/G2L的uboot串口多波特率支持介绍

瑞萨MCU小百科 来源:瑞萨MCU小百科 2025-07-04 15:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文主要介绍基于瑞萨64位MPU RZ/G2L,讨论uboot下非常规波特率115200的支持方法,用于解决客户对uboot下特殊波特率的需求,供客户参考。

部分客户在MPU的uboot调试过程中,希望能支持常见的115200波特率之外的其他波特率,有串口接收终端方面的原因,终端希望使用比较低的波特率,或者是希望使用比较高的波特率输出信息更快。还有比较普遍的原因,就是部分客户希望做一个简单的加密功能,因为使用其他非常见波特率的话,如果终端还是设定常见的115200波特率,MPU启动时的uboot打印信息就会在终端上面显示乱码,从而实现一种加密目的。

有两种方式可以达到这种目的:

(均以9600新波特率为例,串口终端软件是Tera Term)

1在uboot的配置文件里面设定默认波特率

RZ/G2L的uboot配置文件是u-boot-source/configs/smarc-rzg2l_defconfig。

如果不修改这个配置文件,编译出来的uboot镜像里面会使用默认的波特率115200,这个默认值是在u-boot-source/drivers/serial/Kconfig里面设定的,如下所示:

4eab6ec4-5568-11f0-b715-92fbcf53809c.png

如果想修改成其他波特率,可以在上述defconfig文件里面添加一行:

CONFIG_BAUDRATE=9600

如下添加到该文件尾部即可:

4ec0bbb2-5568-11f0-b715-92fbcf53809c.png

(uboot源码需要已经支持新波特率9600,后面有说明)

然后,重新编译一遍uboot,即可得到修改了初始默认波特率的uboot镜像文件。

注意

uboot发生了变化时,需要重新编译一遍Trusted firmware,以生产正确的BL2镜像。

实际测试过程中,很可能会遇到一个现象:

烧写了新的Trusted firmware和uboot,重启板子之后,发现uboot还是使用的之前的波特率115200,终端设定9600波特率反而显示乱码,设定115200波特率才正常。

这是因为修改之前,uboot里面使用了115200波特率,而且将这个波特率保存到了uboot环境变量baudrate,而uboot启动之后,会首先加载环境变量区域的所有环境变量,然后根据环境变量115200波特率来设定当前使用波特率,代码里面设定的是默认波特率,只有在环境变量区域无效或者没有执行过saveenv命令的情况下,才会被用到。这种情况下,可以参考下述方式2)来切换到希望使用的波特率。

2在uboot启动之后,使用uboot命令修改

默认波特率

在某些情况下,可能不希望或者不能修改uboot的配置文件来修改默认波特率,这时可以在线修改成需要的波特率。(uboot源码需要已经支持新波特率9600,后面有说明)

从115200切换到9600波特率:

4eda0a18-5568-11f0-b715-92fbcf53809c.png

Uboot下运行setenv baudrate 9600命令之后,会提示切换串口终端软件波特率到9600bps,然后按Enter键。这时打开终端软件的Setup -> Serial port…,可以在弹出对话框中选择9600波特率,然后点击New Setting按键,就会关闭对话框切换至终端显示界面,波特率已经切换到了9600bps:

4ef4ca7e-5568-11f0-b715-92fbcf53809c.png

然后,安装提示要求,按一次Enter按键,即可切换成功波特率,不会显示乱码:

4f0a8314-5568-11f0-b715-92fbcf53809c.png

此后,终端界面就会使用9600bps波特率,如果启动Linux kernel,会显示乱码,因为Linux kernel波特率默认115200,需要两边波特率保持一致。

下面讨论一下uboot源码层面波特率支持问题。默认情况下,uboot源码仅仅支持配置115200bps波特率,现在需要支持新的其他波特率,所有源码层面也要配合修改,否则上面的两种波特率切换方法都不成功。还是以新增9600波特率为例加以说明,如果客户需要支持其他波特率,可以找对口FAE寻求帮助,瑞萨会提供对应补丁给客户。

1首先修改一个数组,添加新波特率

文件:

u-boot-source/ include/configs/smarc-rzg2l.h

#define CONFIG_SYS_BAUDRATE_TABLE { 115200,9600}

2添加新波特率对于寄存器配置代码

文件:

u-boot-source/drivers/serial/serial_sh.c

函数:

左右滑动查看完整内容

sh_serial_setbrg_generic():
+ uint8_t semr;
+ uint16_t scr;
+
 if (port->clk_mode == EXT_CLK) {
  unsignedshort dl = DL_VALUE(baudrate, clk);
  sci_out(port, DL, dl);
  /* Need wait: Clock * 1/dl * 1/16 */
  udelay((1000000 * dl * 16 / clk) * 1000 + 1);
 } else {
+  scr = sci_in(port, SCSCR);
+  semr = sci_in(port, SCSEMR);
+
+  sci_out(port, SCSCR, 0);
+
+  sci_out(port, SCSEMR, 0);
+  if(9600 == baudrate)
+   sci_out(port, SCBRR, 163);
+  elseif(115200 == baudrate)
+   sci_out(port, SCBRR, 15);
+
+  sci_out(port, SCSEMR, 0x30);
+  if(9600 == baudrate)
+   sci_out(port, MDDR, 129);
+  elseif(115200 == baudrate)
+   sci_out(port, MDDR, 151);
+
+  udelay(100);
+
+  sci_out(port, SCSEMR, semr);
+  sci_out(port, SCSCR, scr);
+ }

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 瑞萨
    +关注

    关注

    36

    文章

    22380

    浏览量

    88023
  • MPU
    MPU
    +关注

    关注

    0

    文章

    415

    浏览量

    49900
  • 串口
    +关注

    关注

    15

    文章

    1588

    浏览量

    79881
  • 波特率
    +关注

    关注

    2

    文章

    313

    浏览量

    34927
  • Uboot
    +关注

    关注

    4

    文章

    129

    浏览量

    29078

原文标题:RZ/G2L uboot串口多波特率支持介绍

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于64MPU RZ/G2L进行32应用软件开发

    本文主要介绍基于64MPU RZ/
    的头像 发表于 06-26 15:48 862次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>64</b><b class='flag-5'>位</b><b class='flag-5'>MPU</b> <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>进行32<b class='flag-5'>位</b>应用软件开发

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

    RZ/G2L串口简称SCI,全称Serial Communication Interface。
    的头像 发表于 01-17 12:19 2126次阅读
    <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>SCI的使用(上)

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

    RZ/G2L的SCIFA异步通讯模式下支持的最高波特率可以达到12.5Mbps,如果异步基础时钟选择16倍波特率,同时关闭
    的头像 发表于 01-17 12:20 1758次阅读
    <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>SCI的使用(下)

    RZ/G2L高速虚拟串口方案 基于RZ/G2L SMARC开发板的虚拟(Virtual UART)实现方案

    UART)实现方案,以实现高速Linux UART通信,供客户参考。 虚拟(Virtual UART)方案介绍 很多工业客户,都有Linux下高速UART需求(1Mbps以上波特率),但是RZ/
    发表于 11-20 14:41 998次阅读
    <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)实现方案

    【米尔RZ/G2L开发板-试用体验】开箱

    感谢 感谢电子发烧友论坛、感谢米尔电子,把米尔RZ/G2L开发板试用话动的机会给了我。虽然周五就收到了开发板,但是由于复阳了,为了能及时的完成试用活动,所以今天努力的爬起来完成开箱
    发表于 05-14 19:41

    【米尔RZ/G2L开发板-试用体验】米尔-RZG2L - 64双核MPU开发板开箱测评

    刚收到米尔RZ/G2L开发板打开包装后看到的很大的一块黑色PCB,做工精美的开发板,给人眼前一亮的感觉。 首先来介绍以下这家公司: 深圳
    发表于 05-22 21:53

    【米尔RZ/G2L开发板-试用体验】米尔RZ/G2L开发板开箱视频

    今天刚刚收到米尔RZ/G2L开发板,拆开包裹后给人的感觉是惊艳,板卡设计真的很棒,来看看视频做个简单了解吧。 更多板卡可以登录官网了解哦。https://www.myi
    发表于 05-22 21:58

    150套开发板免费送!还有5G手机拿?米尔RZ/G2L开发板创意秀

    为感谢广大客户一直以来的支持,推动嵌入式行业技术发展,鼓励工程师勇于创新探索的精神,促进64MPU的生态,米尔电子联合
    发表于 05-24 16:36

    【米尔RZ/G2L开发板-试用体验】米尔RZ/G2L开发板使用SSH登录

    收到的米尔RZ/G2L开发板上电测试一下SSH登录方式和其它测试! SSH登录 在使用之前,需要事先连接网络,笔者这里使用的是以太网,事先需要使用
    发表于 06-11 21:47

    【米尔RZ/G2L开发板-试用体验】认识一下米尔RZ/G2L开发板的核心板

    收到米尔RZ/G2L开发板后一直对米尔旗下开发板的做工感到非常精致,同时也有着很强大的功能,也一直很喜欢米尔系列开发板。 引领工业市场从32
    发表于 07-29 00:21

    电子推全新RZ/G2L MPU,可实现降低整体系统成本

    全球半导体解决方案供应商电子集团(TSE:6723)今日宣布,扩大其通用64微处理器(MPURZ
    的头像 发表于 01-19 15:16 3270次阅读

    米尔RZ/G2L开发板 TF卡读写速度测试

    米尔RZ/G2L开发板TF卡读写测试
    的头像 发表于 05-22 09:07 1893次阅读
    米尔<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 2607次阅读
    米尔<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 858次阅读
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b><b class='flag-5'>串口</b>SCI的使用(上)

    电子RZ MPU家族精品RZ/N2L产品介绍

    生态合作伙伴RT-Thread推出了一款高性能、多功能以太网MPU开发板EtherKit,搭载电子
    的头像 发表于 12-23 14:10 727次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RZ</b> <b class='flag-5'>MPU</b>家族精品<b class='flag-5'>RZ</b>/N<b class='flag-5'>2L</b>产品<b class='flag-5'>介绍</b>