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

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

3天内不再提示

RA4M3通过USB实现固件升级

瑞萨MCU小百科 来源:未知 2023-06-09 12:30 次阅读

RA4M3通过USB实现固件升级

01

固件更新应用案例

(1)修复程序错误

(2)功能升级

02

首先必须规划好Bootloader和Application的空间分配。如下图所示,案例使用R7FA4M3AF3CFB,有1M的ROM。Bootloader从0x000000开始存储,结束地址为0x1FFFF,所占空间大小为0x20000;Application从0x20000开始存储,结束地址为0x000FFFFF,所占空间大小为0xE0000。

5bd4c412-067b-11ee-962d-dac502259ad0.png

03

创建一个Bootloader工程,添加USB_HMSC、Flash、RTC和CRC等外设。其中USB添加主机大容量存储类(HMSC)驱动程序,它实现了USB HMSC接口,可从USB大容量存储设备中读取、写入和擦除数据。

5bf2388a-067b-11ee-962d-dac502259ad0.png

04

使用RTC设置系统时间。

5c293e02-067b-11ee-962d-dac502259ad0.png

05

初始化flash驱动,然后在data flash中读取设备设置的log。

5c592748-067b-11ee-962d-dac502259ad0.png

06

初始化USB驱动,等待USB设备插入,如果检测到有USB设备插入,将会根据文件"0:Put Image Here/update.txt"中的内容,找到相应的***.srec文件,并打开文件读写数据(将文件内容解析后烧写到Application对应的地址空间),读写完成后将文件名改为"0:Put Image Here/loaded.txt",表示已完成数据读写。

5c8a5426-067b-11ee-962d-dac502259ad0.png

07

根据信息类型擦除data flash中的数据,擦除成功后写入新的设备设置参数

5ca3f50c-067b-11ee-962d-dac502259ad0.png

08

在属性→设置中输出srec格式文件作为Bootloader烧录文件。

5cda9d78-067b-11ee-962d-dac502259ad0.png

09

将Bootloader烧录到EK-RA4M3开发板上。首先,利用J-Flash Lite将RA4M3整片擦除,然后将ra4m3_hmsc_noRTOS.srec烧写到芯片中,由于此时app部分内容为空,红色LED闪烁(按下reset大概10秒后,红色LED闪烁)。

5d14e172-067b-11ee-962d-dac502259ad0.png

10

打开e2 studio新建Application工程,用来验证可以通过Bootloader成功升级Application,若成功升级,三颗LED灯会不停地闪烁。

5d3caf04-067b-11ee-962d-dac502259ad0.png

11

打开memory_regions.ld文件,FLASH_LENGTH = 0x100000;更新为FLASH_LENGTH = 0xE0000;

由于Bootloader占用了0x20000大小,因此对于EK-RA4M3来说,仅剩下0x100000-0x20000=0xE0000大小可供Application使用。

5d76de9a-067b-11ee-962d-dac502259ad0.png

12

Application工程生成srec格式文件,下图红框位置勾选 Section: -j .text & -j .data,使得application project仅生成code flash对应的内容。

5db379a4-067b-11ee-962d-dac502259ad0.png

13

准备一个U盘(FAT32格式),在里面建一个文件夹,命名为“Put Image Here”,将RA4M3_BLINKY.srec文件添加进去

5de0e72c-067b-11ee-962d-dac502259ad0.png

14

update.txt文件里面添加RA4M3_BLINKY.srec

5dfe7c88-067b-11ee-962d-dac502259ad0.png

15

将U盘插入,开发板上电,当前运行的代码是Bootloader,由于此时尚未执行Application升级,因此LED2常亮,按下复位键,使得Bootloader重新运行,执行Application代码升级,可以看到LED灯按照RA4M3_BLINKY程序闪烁。将U盘插回电脑查看“Put Image Here”文件夹,可以看到update.txt变为loaded.txt,程序升级成功。

5e1e9e14-067b-11ee-962d-dac502259ad0.png

更多内容请识别下方二维码查看:

5e6cf262-067b-11ee-962d-dac502259ad0.png

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

    关注

    146

    文章

    17186

    浏览量

    351773
  • 瑞萨
    +关注

    关注

    35

    文章

    22309

    浏览量

    86465

原文标题:RA4M3通过USB实现固件升级

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

收藏 人收藏

    评论

    相关推荐

    【OTA升级】无需数据线,一条命令即可完成固件升级

    OTA无线升级过程视频演示:OTA介绍OTA(Over-The-Air,空中升级)是一种通过无线通信技术实现远程更新设备固件或软件的方法。设
    的头像 发表于 12-11 01:00 841次阅读
    【OTA<b class='flag-5'>升级</b>】无需数据线,一条命令即可完成<b class='flag-5'>固件</b><b class='flag-5'>升级</b>!

    LM3644EVM+USB2ANY,运行LM3644_GUI后,固件升级失败怎么解决?

    使用LM3644EVM+USB2ANY,运行LM3644_GUI后,提示USB2ANY需要进行固件升级到2.6.3.0,按照提示操作,但是一直升级
    发表于 08-05 07:39

    DM平台管理设备如何进行固件升级

    )查看注册状态 4)DM平台中添加设备,设备序列号通过设备系统界面或背板获得。 5)添加升级固件 6)配置超时时间,默认即可。 7)选择需要
    发表于 07-25 06:22

    OTA升级完成后,跳转到新的固件时启动失败是怎么回事?

    OTA升级完成后,跳转到新的固件时启动失败,但是烧录进新的固件却可以正常启动。 重启代码如下: wifi_save_bin_info(); debug_printf(\"wifi
    发表于 07-11 07:54

    PSOC4通过外部MCU模拟SWD烧录固件失败了,怎么解决?

    我正在尝试通过外部的MCU模拟SWD接口向PSOC4芯片烧写固件,遇到了一些问题,情况如下: 芯片型号:CY8C4014LQI-421 参考的SWD代码:AN84858
    发表于 07-02 07:49

    请问如何通过ESP32S3USB进行固件升级

    如果通过USB口,在不需要按IO0的情况下,进行升级。目前测试ESP-BOX的固件可以进行升级通过
    发表于 06-13 06:01

    求助,通过UART进行基本设备固件升级的问题求解

    我正在研究设备固件升级代码 我可以修改代码,通过修改 common.mk 使其通过 UART 运行固件
    发表于 05-28 07:45

    STM8L101F3通过bootloader升级固件的时候,怎么防止Flash最后一页被擦除?

    STM8L101F3通过bootloader升级固件的时候,怎么防止Flash最后一页被擦除
    发表于 05-08 07:30

    如何对miniprog4进行升级Firnware,需要下载固件吗?

    请问如何对miniprog4进行升级 Firnware,需要下载固件吗? 能否提供一个升级步骤,谢谢!
    发表于 03-06 06:43

    CY8C4247AZI-M485通过cyflash升级应用程序失败的原因?

    发出信息: [i]应用程序当前被标记为活动或黄金图像 您能否建议我应该执行什么操作来通过 cyflash 升级DUAL_SENSOR_BOX_KIT -应用程序配置中的应用程序? 我使用的产品是CY8C4247AZI-M485
    发表于 03-05 06:21

    如何将USB-UART bridge固件复合进来,实现synchronous slave FIFO和USB-UART bridge同时工作?

    控制端口的同时,也与UART相连接,做bulk传输方向控制 当PC通过端口0发送 21 01 00 00 00 00 01 00后,FX3 固件会把PC随后通过端口0发送的1字节数据由
    发表于 02-29 07:09

    EtherCAT总线如何对从站固件进行升级

    EtherCATFOE是一种主站对从站设备固件升级的技术,通过利用EtherCAT的数据链路层来处理数据实现文件传输,可以确保文件传输的完整性和准确性,为设备的维护、
    的头像 发表于 02-27 08:23 880次阅读
    EtherCAT总线如何对从站<b class='flag-5'>固件</b>进行<b class='flag-5'>升级</b>?

    FX3通过USB3.0引导烧录固件后设备无法识别的原因?怎么解决?

    自己设计的板子中移植了FX3部分的电路,采用USB引导烧录固件之后,显示烧录成功,但原来可以识别的设备消失不见了,有朋友出现这种情况嘛?无奈通过
    发表于 02-27 07:50

    【外设移植】USB键盘+M61开发板

    这篇开始使用 M62 板子来实现 USB 的设备开发,首先从最简单的 USB HID 键盘开始。固件的 SDK 使用的是 CherryUSB
    的头像 发表于 02-26 11:31 1969次阅读
    【外设移植】<b class='flag-5'>USB</b>键盘+<b class='flag-5'>M</b>61开发板

    请问M452通过USB升级固件的PC端工具软件是什么?

    现在用的是M452, 带USB Bootloader,但是没找到上位机的工具软件? 求告知,谢谢
    发表于 01-17 06:05