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

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

3天内不再提示

RA4M3通过USB实现固件升级

RA生态工作室 2023-10-18 08:06 次阅读

RA4M3通过USB实现固件升级

1、固件更新应用案例

(1)修复程序错误

(2)功能升级

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

wKgaomWePSCAZjorAABGn1mHqwU689.png

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

wKgZomWePSqAYaEdAAI2tXvE4QA478.png

4、使用RTC设置系统时间。

wKgaomWePTqAHkN9AAFnMiQs5MM032.png

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

wKgZomWePZaAFZOzAAFMmkdA0Yg110.png

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

wKgZomWePa2AAJ_CAABB9tsB7NE888.png

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

wKgZomWePdSAQGyhAAH3fvBUvTM203.png

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

wKgZomWePcKAVOxAAARrBJkHAvY702.png

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

wKgZomWePe2AWEoxAAFgbkYD2DM286.png

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

wKgaomWePfiAI8wtAAG3WFF25rk896.png

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

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

wKgZomWePgaACuHdAANO2lSLJ2M388.png

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

wKgZomWePhqAaP_QAAPDV4cuZug521.png

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

wKgZomWePiSAFJQyAABtVi5PF4A286.png

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

wKgaomWePi6AaYgIAABIHCoWScA531.png

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

wKgaomWePjqAeL9bAAh7_HMrk0k038.png

END

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

    关注

    146

    文章

    16977

    浏览量

    350206
  • usb
    usb
    +关注

    关注

    60

    文章

    7888

    浏览量

    263918
  • 固件升级
    +关注

    关注

    0

    文章

    34

    浏览量

    12096
收藏 人收藏

    评论

    相关推荐

    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

    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

    如何将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

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

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

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

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

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

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

    单片机通过USB升级固件的方法

    单片机升级固件的方法有很多中,比如:ISP(在系统编程)、ICP(在电路编程)、IAP(在应用编程)等。
    的头像 发表于 01-11 09:37 1811次阅读
    单片机<b class='flag-5'>通过</b><b class='flag-5'>USB</b><b class='flag-5'>升级</b><b class='flag-5'>固件</b>的方法

    tl-wda5532re固件升级

    升级。 第一步:检查固件版本 在进行固件升级之前,我们首先需要检查当前设备上的固件版本。这可以帮助我们确定是否需要
    的头像 发表于 01-04 10:40 772次阅读

    STM32单片机实现固件在线升级(IAP)

    1,固件升级方案综述单片机的固件升级方式有很多种。1、ICP:简单说就是在单片机开发时使用烧录器升级程序,比如使用J-Link烧录单片机程序
    的头像 发表于 12-16 08:00 4997次阅读
    STM32单片机<b class='flag-5'>实现</b><b class='flag-5'>固件</b>在线<b class='flag-5'>升级</b>(IAP)

    RA6M3 RT-Thread* LVGL HMI Board开发实践指南-GPIO实践

    评估套件,相比较于传统的 HMI + 主控板,一套硬件即可实现 HMI + IoT + 控制 的全套能力。依托于瑞萨高性能芯片 RA6M3 及 RT
    的头像 发表于 11-30 19:05 1161次阅读
    <b class='flag-5'>RA6M3</b> RT-Thread* LVGL HMI Board开发实践指南-GPIO实践