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

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

3天内不再提示

通过Boot swap实现瑞萨RL78/F24 MCU固件升级

瑞萨嵌入式小百科 来源: 瑞萨嵌入式小百科 2025-02-26 09:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Boot swap介绍

本文主要说明如何使用已有的程序更新flash中的固件。使用这种方法代码闪存分为两个区域:执行区域和临时区域。瑞萨flash驱动程序RL78 RFD Type02用于对flash进行重新编程并执行boot swapping。本次说明主要以RL78/F24为例展开boot swapping的说明。

RL78/F24介绍

RL78/F24新一代超低功耗汽车微控制器,非常适用于实现未来高可靠性的智能执行器和传感器,是低端车身ECU的理想之选。作为对现有RL78/F1x MCU的创新扩展,RL78/F24可满足未来市场的多种需求。RL78/F24具有更高的CPU性能、耐高温能力和更强的外设功能集,非常适合各种应用。

RL78/F2x系列产品按ISO 26262标准设计而成,支持高达ASIL B的功能安全(FuSa)。可支持高达EVITA-Light或更高的安全标准。AES加密模块可处理高达256位的密钥长度,并支持安全启动和身份验证功能。为了进一步提高BLDC(FOC)电机控制DC/DC控制系统的计算性能,RL78/F2x配备了独特的应用加速器IP,以减轻复杂的三角函数和其它计算处理所带来的负荷。

环境介绍

硬件

如前面所提到的,本文介绍以RL78/F24为主控,对应板子为RL78/F24(R7F124FPJ)Target Board。

1c71f6b8-f32e-11ef-9310-92fbcf53809c.png1ccb25bc-f32e-11ef-9310-92fbcf53809c.png

软件环境

CS+ for CC V8.12.00

Renesas CC-RL Compiler v1.14.00

Smart configurator for RL78 V1.11.0:

Board Support Packages.-v1.62(r_bsp)

Ports v1.5.0

Flash Driver RL78 Type02(Code flash,Extra Area,Common)v1.00

1ce0ab12-f32e-11ef-9310-92fbcf53809c.png

闪存空间分布和升级流程

前面介绍过,boot swap的工程有两个区域,分别是执行区域和临时区域。本次实验所选择的RL78/F24的flash大小为256K,其对应的起始和结束地址如下,如果选择其他大小的MCU,可以根据这个进行修改。

ROM大小 执行区域 临时区域
96KB 0x8000 –0xFFFF 0x10000 –0x17FFF
128KB 0x8000 –0x13FFF 0x14000 –0x1FFFF
192KB 0x8000 –0x1BFFF 0x1C000 –0x2FFFF
256KB 0x8000 –0x23FFF 0x24000 –0x3FFFF
384KB 0x8000 –0x33FFF 0x34000 –0x5FFFF
512KB 0x8000 –0x43FFF 0x44000 –0x7FFFF
768KB 0x8000 –0x63FFF 0x64000 –0xBFFFF

256KB闪存详细分布如下:

1cf9fbc6-f32e-11ef-9310-92fbcf53809c.png

升级流程

擦除Boot cluster1和临时区域。

往Boot cluster1和临时区域写入新的固件。

擦除执行区域。

把临时区域的内容拷贝到执行区域。

执行boot swap命令,交换新的boot区域程序到boot cluster0。

运行新的固件代码。

1d1f5056-f32e-11ef-9310-92fbcf53809c.png1d3f2a48-f32e-11ef-9310-92fbcf53809c.png1d5834ac-f32e-11ef-9310-92fbcf53809c.png

实现步骤

前面讲了整个升级的流程,接下来对具体的实现步骤进行说明。首先是创建一个包含Boot+APP1的原始工程。通过查看板子原理图可以知道,板子上有LED1和LED2可以用于升级成功的指示灯。Boot+APP1运行时,LED1闪烁,升级成功后LED2闪烁,说明新的Boot+APP2正在运行。需要在Smart configurator中添加引脚的配置,如下P66和P67设为out:

1d660712-f32e-11ef-9310-92fbcf53809c.png

升级需要用到UART,添加UART0,并做如下配置:

1d839318-f32e-11ef-9310-92fbcf53809c.png1da1ac4a-f32e-11ef-9310-92fbcf53809c.png

同时需要用到RFD type02,添加如下:

1db8e586-f32e-11ef-9310-92fbcf53809c.png

所有的外设驱动添加好后,需要对section进行修改,Flash section:

1ddb8d84-f32e-11ef-9310-92fbcf53809c.png

RAM section:

1deb88d8-f32e-11ef-9310-92fbcf53809c.png

添加完对应的section后,需要手动把对应的Flash section拷贝到RAM。方法如下,重复红框部分代码,一共拷贝5个section,分别为:RFD_CMN_f,RFD_CF_f,RFD_EX_f,SMP_CMN_f,SMP_CF_f。红色方框为拷贝RFD_CMN_f的示例,其他4个section都需要按照次方法进行拷贝。

1e037bb4-f32e-11ef-9310-92fbcf53809c.png

根据所选MCU改造r_cg_userdefine.h。

1e3ada28-f32e-11ef-9310-92fbcf53809c.png

改造APP,在userApplicationLoop里,可以选择LED1闪烁表示APP1运行,LED2表示升级后APP2运行。

1e631466-f32e-11ef-9310-92fbcf53809c.png

整体代码实现不再赘述,所有代码完成后,编译并烧录到RL78/F24。使用E2-Lite连接板子烧录和调试,串口工具用于传输升级文件:

1ea137c8-f32e-11ef-9310-92fbcf53809c.png

正常运行后,LED1闪烁。

接下来,制作一个新的APP2,用于升级。在userApplicationLoop()里面改变代码,让LED2闪烁。

1ebc56ca-f32e-11ef-9310-92fbcf53809c.png

用以下步骤生成APP2的.bin文件。在Hex Format->Hex file format中选择Binary file,空白区域填充为0xFF。

1ed549b4-f32e-11ef-9310-92fbcf53809c.png1eef2758-f32e-11ef-9310-92fbcf53809c.png

编译后会在相应文件夹下生成一个.bin文件。

断开E2-lite,连接串口工具,具体连接为P61 — TXD, P62 — RXD,EVDD — 3.3V,GND — GND。

运行BootSwapGUI.exe,选择256K,选择对应的COM,打开前面生成的bin文件。

1f04ad76-f32e-11ef-9310-92fbcf53809c.png

点击START,观察进度条,完成后,MCU会自动完成boot swap的动作,最后观察LED2,LED2开始闪烁,说明升级成功。在升级的过程中,LED1一直保持闪烁 ,说明这种方法在升级时不影响上一个版本的运行。

1f2592fc-f32e-11ef-9310-92fbcf53809c.png

总结

Boot swap是Renesas一种特殊的MCU固件升级方式。这种方式的优点是,在接收新的固件过程中,不需要中断当前APP的运行,这一点在很多应用中是至关重要的。另外,在一般的重新编程(升级)过程中,可能出现复位或者断电等外部因素,导致中断向量表、基本函数等数据损坏。任何一项数据损坏都可能会导致MCU无法正常启动。从boot swap的特点分析得知,boot swap可以很好地避免这种情况。因为任何时候都可以保证MCU有一个完整的boot cluster1和app1可以运行。所以另外一个重要的优点是,boot swap可以防止MCU升级失败导致“变砖”。

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

    关注

    16

    文章

    1883

    浏览量

    117016
  • 瑞萨
    +关注

    关注

    36

    文章

    22431

    浏览量

    89776
  • 程序
    +关注

    关注

    117

    文章

    3836

    浏览量

    84767
  • OTA
    OTA
    +关注

    关注

    7

    文章

    623

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RL78/F24 CANFD参考例程

    RL78/F24新一代超低功耗汽车微控制器,非常适用于实现未来高可靠性的智能执行器和传感器,是低端车身ECU的理想之选。作为对现有RL78/F
    的头像 发表于 06-17 15:25 4555次阅读
    <b class='flag-5'>RL78</b>/<b class='flag-5'>F24</b> CANFD参考例程

    RL78族汇编案例吗?

    RL78族汇编案例吗
    发表于 04-17 11:27

    怎么实现基于单片机RL78/I1A系列MCU设计的带数字LED照明系统?

    本设计介绍了基于单片机RL78/I1A系列MCU设计的带数字LED照明系统设计方案。
    发表于 06-15 09:21

    关于RL78系列单片机在线升级

    关于RL78系列单片机在线升级
    发表于 11-24 12:51 41次下载
    关于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RL78</b>系列单片机在线<b class='flag-5'>升级</b>

    RL78/F24的12V电机控制解决方案可减轻CPU矢量运算处理负载

    将于2022年10月发布RL78/F24 BLDC-RSSK(RL78/F24的12V电机控
    的头像 发表于 08-12 09:22 3488次阅读

    RL78/F23、F24 用户手册:硬件 Rev.1.00

    RL78/F23、F24 用户手册:硬件 Rev.1.00
    发表于 01-09 19:05 4次下载
    <b class='flag-5'>RL78</b>/<b class='flag-5'>F</b>23、<b class='flag-5'>F24</b> 用户手册:硬件 Rev.1.00

    Renesas Solution 入门套件 RL78/F24 用户手册的 12 V 电机控制评估系统

    Renesas Solution 入门套件 RL78/F24 用户手册的 12 V 电机控制评估系统
    发表于 01-09 19:21 0次下载
    Renesas Solution 入门套件 <b class='flag-5'>RL78</b>/<b class='flag-5'>F24</b> 用户手册的 12 V 电机控制评估系统

    Renesas Flash Driver RL78 Type 02RL78/F23 和 RL78/F24 用户手册

    Renesas Flash Driver RL78 Type 02 RL78/F23 和 RL78/F24 用户手册
    发表于 05-12 19:25 4次下载
    Renesas Flash Driver <b class='flag-5'>RL78</b> Type 02<b class='flag-5'>RL78</b>/<b class='flag-5'>F</b>23 和 <b class='flag-5'>RL78</b>/<b class='flag-5'>F24</b> 用户手册

    EEPROM 仿真软件 RL78 Type 02RL78/F23 和 RL78/F24 用户手册

    EEPROM 仿真软件 RL78 Type 02 RL78/F23 和 RL78/F24 用户手册
    发表于 05-19 18:41 2次下载
    EEPROM 仿真软件 <b class='flag-5'>RL78</b> Type 02<b class='flag-5'>RL78</b>/<b class='flag-5'>F</b>23 和 <b class='flag-5'>RL78</b>/<b class='flag-5'>F24</b> 用户手册

    Renesas Flash Driver RL78 Type 02RL78/F23 和 RL78/F24 用户手册

    Renesas Flash Driver RL78 Type 02 RL78/F23 和 RL78/F24 用户手册
    发表于 06-29 19:17 1次下载
    Renesas Flash Driver <b class='flag-5'>RL78</b> Type 02<b class='flag-5'>RL78</b>/<b class='flag-5'>F</b>23 和 <b class='flag-5'>RL78</b>/<b class='flag-5'>F24</b> 用户手册

    EEPROM 仿真软件 RL78 Type 02RL78/F23 和 RL78/F24 用户手册

    EEPROM 仿真软件 RL78 Type 02 RL78/F23 和 RL78/F24 用户手册
    发表于 06-29 19:33 0次下载
    EEPROM 仿真软件 <b class='flag-5'>RL78</b> Type 02<b class='flag-5'>RL78</b>/<b class='flag-5'>F</b>23 和 <b class='flag-5'>RL78</b>/<b class='flag-5'>F24</b> 用户手册

    RL78/F23、F24 用户手册:硬件 Rev.1.00

    RL78/F23、F24 用户手册:硬件 Rev.1.00
    发表于 06-30 18:49 1次下载
    <b class='flag-5'>RL78</b>/<b class='flag-5'>F</b>23、<b class='flag-5'>F24</b> 用户手册:硬件 Rev.1.00

    Renesas Solution 入门套件 RL78/F24 用户手册的 12V 电机控制评估系统

    Renesas Solution 入门套件 RL78/F24 用户手册的 12 V 电机控制评估系统
    发表于 06-30 19:20 0次下载
    Renesas Solution 入门套件 <b class='flag-5'>RL78</b>/<b class='flag-5'>F24</b> 用户手册的 12V 电机控制评估系统

    基于RL78 MCU的智能马桶量产级解决方案

    基于RL78 MCU的智能马桶量产级解决方案
    的头像 发表于 10-30 18:27 2776次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RL78</b> <b class='flag-5'>MCU</b>的智能马桶量产级解决方案

    RL78/G23微控制器在线升级功能的应用

    RL78/G23微控制器在线升级功能的应用
    的头像 发表于 09-18 10:58 2330次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RL78</b>/G23微控制器在线<b class='flag-5'>升级</b>功能的应用