0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RA4M3通過(guò)USB實(shí)現(xiàn)固件升級(jí)

瑞薩MCU小百科 ? 來(lái)源:未知 ? 2023-06-09 12:30 ? 次閱讀

RA4M3通過(guò)USB實(shí)現(xiàn)固件升級(jí)

01

固件更新應(yīng)用案例

(1)修復(fù)程序錯(cuò)誤

(2)功能升級(jí)

02

首先必須規(guī)劃好Bootloader和Application的空間分配。如下圖所示,案例使用R7FA4M3AF3CFB,有1M的ROM。Bootloader從0x000000開始存儲(chǔ),結(jié)束地址為0x1FFFF,所占空間大小為0x20000;Application從0x20000開始存儲(chǔ),結(jié)束地址為0x000FFFFF,所占空間大小為0xE0000。

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

03

創(chuàng)建一個(gè)Bootloader工程,添加USB_HMSC、Flash、RTC和CRC等外設(shè)。其中USB添加主機(jī)大容量存儲(chǔ)類(HMSC)驅(qū)動(dòng)程序,它實(shí)現(xiàn)了USB HMSC接口,可從USB大容量存儲(chǔ)設(shè)備中讀取、寫入和擦除數(shù)據(jù)。

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

04

使用RTC設(shè)置系統(tǒng)時(shí)間。

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

05

初始化flash驅(qū)動(dòng),然后在data flash中讀取設(shè)備設(shè)置的log。

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

06

初始化USB驅(qū)動(dòng),等待USB設(shè)備插入,如果檢測(cè)到有USB設(shè)備插入,將會(huì)根據(jù)文件"0:Put Image Here/update.txt"中的內(nèi)容,找到相應(yīng)的***.srec文件,并打開文件讀寫數(shù)據(jù)(將文件內(nèi)容解析后燒寫到Application對(duì)應(yīng)的地址空間),讀寫完成后將文件名改為"0:Put Image Here/loaded.txt",表示已完成數(shù)據(jù)讀寫。

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

07

根據(jù)信息類型擦除data flash中的數(shù)據(jù),擦除成功后寫入新的設(shè)備設(shè)置參數(shù)。

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

08

在屬性→設(shè)置中輸出srec格式文件作為Bootloader燒錄文件。

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

09

將Bootloader燒錄到EK-RA4M3開發(fā)板上。首先,利用J-Flash Lite將RA4M3整片擦除,然后將ra4m3_hmsc_noRTOS.srec燒寫到芯片中,由于此時(shí)app部分內(nèi)容為空,紅色LED閃爍(按下reset大概10秒后,紅色LED閃爍)。

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

10

打開e2 studio新建Application工程,用來(lái)驗(yàn)證可以通過(guò)Bootloader成功升級(jí)Application,若成功升級(jí),三顆LED燈會(huì)不停地閃爍。

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

11

打開memory_regions.ld文件,FLASH_LENGTH = 0x100000;更新為FLASH_LENGTH = 0xE0000;

由于Bootloader占用了0x20000大小,因此對(duì)于EK-RA4M3來(lái)說(shuō),僅剩下0x100000-0x20000=0xE0000大小可供Application使用。

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

12

Application工程生成srec格式文件,下圖紅框位置勾選 Section: -j .text & -j .data,使得application project僅生成code flash對(duì)應(yīng)的內(nèi)容。

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

13

準(zhǔn)備一個(gè)U盤(FAT32格式),在里面建一個(gè)文件夾,命名為“Put Image Here”,將RA4M3_BLINKY.srec文件添加進(jìn)去

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

14

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

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

15

將U盤插入,開發(fā)板上電,當(dāng)前運(yùn)行的代碼是Bootloader,由于此時(shí)尚未執(zhí)行Application升級(jí),因此LED2常亮,按下復(fù)位鍵,使得Bootloader重新運(yùn)行,執(zhí)行Application代碼升級(jí),可以看到LED燈按照RA4M3_BLINKY程序閃爍。將U盤插回電腦查看“Put Image Here”文件夾,可以看到update.txt變?yōu)閘oaded.txt,程序升級(jí)成功。

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

更多內(nèi)容請(qǐng)識(shí)別下方二維碼查看:

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17199

    瀏覽量

    351915
  • 瑞薩
    +關(guān)注

    關(guān)注

    35

    文章

    22310

    瀏覽量

    86518

原文標(biāo)題:RA4M3通過(guò)USB實(shí)現(xiàn)固件升級(jí)

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【OTA升級(jí)】無(wú)需數(shù)據(jù)線,一條命令即可完成固件升級(jí)

    OTA無(wú)線升級(jí)過(guò)程視頻演示:OTA介紹OTA(Over-The-Air,空中升級(jí))是一種通過(guò)無(wú)線通信技術(shù)實(shí)現(xiàn)遠(yuǎn)程更新設(shè)備固件或軟件的方法。設(shè)
    的頭像 發(fā)表于 12-11 01:00 ?925次閱讀
    【OTA<b class='flag-5'>升級(jí)</b>】無(wú)需數(shù)據(jù)線,一條命令即可完成<b class='flag-5'>固件</b><b class='flag-5'>升級(jí)</b>!

    LM3644EVM+USB2ANY,運(yùn)行LM3644_GUI后,固件升級(jí)失敗怎么解決?

    使用LM3644EVM+USB2ANY,運(yùn)行LM3644_GUI后,提示USB2ANY需要進(jìn)行固件升級(jí)到2.6.3.0,按照提示操作,但是一直升級(jí)
    發(fā)表于 08-05 07:39

    DM平臺(tái)管理設(shè)備如何進(jìn)行固件升級(jí)?

    )查看注冊(cè)狀態(tài) 4)DM平臺(tái)中添加設(shè)備,設(shè)備序列號(hào)通過(guò)設(shè)備系統(tǒng)界面或背板獲得。 5)添加升級(jí)固件 6)配置超時(shí)時(shí)間,默認(rèn)即可。 7)選擇需要
    發(fā)表于 07-25 06:22

    OTA升級(jí)完成后,跳轉(zhuǎn)到新的固件時(shí)啟動(dòng)失敗是怎么回事?

    OTA升級(jí)完成后,跳轉(zhuǎn)到新的固件時(shí)啟動(dòng)失敗,但是燒錄進(jìn)新的固件卻可以正常啟動(dòng)。 重啟代碼如下: wifi_save_bin_info(); debug_printf(\"wifi
    發(fā)表于 07-11 07:54

    PSOC4通過(guò)外部MCU模擬SWD燒錄固件失敗了,怎么解決?

    我正在嘗試通過(guò)外部的MCU模擬SWD接口向PSOC4芯片燒寫固件,遇到了一些問(wèn)題,情況如下: 芯片型號(hào):CY8C4014LQI-421 參考的SWD代碼:AN84858
    發(fā)表于 07-02 07:49

    請(qǐng)問(wèn)如何通過(guò)ESP32S3USB進(jìn)行固件升級(jí)

    如果通過(guò)USB口,在不需要按IO0的情況下,進(jìn)行升級(jí)。目前測(cè)試ESP-BOX的固件可以進(jìn)行升級(jí)通過(guò)
    發(fā)表于 06-13 06:01

    求助,通過(guò)UART進(jìn)行基本設(shè)備固件升級(jí)的問(wèn)題求解

    我正在研究設(shè)備固件升級(jí)代碼 我可以修改代碼,通過(guò)修改 common.mk 使其通過(guò) UART 運(yùn)行固件
    發(fā)表于 05-28 07:45

    STM8L101F3通過(guò)bootloader升級(jí)固件的時(shí)候,怎么防止Flash最后一頁(yè)被擦除?

    STM8L101F3通過(guò)bootloader升級(jí)固件的時(shí)候,怎么防止Flash最后一頁(yè)被擦除
    發(fā)表于 05-08 07:30

    如何對(duì)miniprog4進(jìn)行升級(jí)Firnware,需要下載固件嗎?

    請(qǐng)問(wèn)如何對(duì)miniprog4進(jìn)行升級(jí) Firnware,需要下載固件嗎? 能否提供一個(gè)升級(jí)步驟,謝謝!
    發(fā)表于 03-06 06:43

    CY8C4247AZI-M485通過(guò)cyflash升級(jí)應(yīng)用程序失敗的原因?

    發(fā)出信息: [i]應(yīng)用程序當(dāng)前被標(biāo)記為活動(dòng)或黃金圖像 您能否建議我應(yīng)該執(zhí)行什么操作來(lái)通過(guò) cyflash 升級(jí)DUAL_SENSOR_BOX_KIT -應(yīng)用程序配置中的應(yīng)用程序? 我使用的產(chǎn)品是CY8C4247AZI-M485
    發(fā)表于 03-05 06:21

    如何將USB-UART bridge固件復(fù)合進(jìn)來(lái),實(shí)現(xiàn)synchronous slave FIFO和USB-UART bridge同時(shí)工作?

    控制端口的同時(shí),也與UART相連接,做bulk傳輸方向控制 當(dāng)PC通過(guò)端口0發(fā)送 21 01 00 00 00 00 01 00后,F(xiàn)X3 固件會(huì)把PC隨后通過(guò)端口0發(fā)送的1字節(jié)數(shù)據(jù)由
    發(fā)表于 02-29 07:09

    EtherCAT總線如何對(duì)從站固件進(jìn)行升級(jí)?

    EtherCATFOE是一種主站對(duì)從站設(shè)備固件升級(jí)的技術(shù),通過(guò)利用EtherCAT的數(shù)據(jù)鏈路層來(lái)處理數(shù)據(jù)實(shí)現(xiàn)文件傳輸,可以確保文件傳輸?shù)耐暾院蜏?zhǔn)確性,為設(shè)備的維護(hù)、
    的頭像 發(fā)表于 02-27 08:23 ?888次閱讀
    EtherCAT總線如何對(duì)從站<b class='flag-5'>固件</b>進(jìn)行<b class='flag-5'>升級(jí)</b>?

    FX3通過(guò)USB3.0引導(dǎo)燒錄固件后設(shè)備無(wú)法識(shí)別的原因?怎么解決?

    自己設(shè)計(jì)的板子中移植了FX3部分的電路,采用USB引導(dǎo)燒錄固件之后,顯示燒錄成功,但原來(lái)可以識(shí)別的設(shè)備消失不見(jiàn)了,有朋友出現(xiàn)過(guò)這種情況嘛?無(wú)奈通過(guò)
    發(fā)表于 02-27 07:50

    【外設(shè)移植】USB鍵盤+M61開發(fā)板

    這篇開始使用 M62 板子來(lái)實(shí)現(xiàn) USB 的設(shè)備開發(fā),首先從最簡(jiǎn)單的 USB HID 鍵盤開始。固件的 SDK 使用的是 CherryUSB
    的頭像 發(fā)表于 02-26 11:31 ?1979次閱讀
    【外設(shè)移植】<b class='flag-5'>USB</b>鍵盤+<b class='flag-5'>M</b>61開發(fā)板

    請(qǐng)問(wèn)M452通過(guò)USB升級(jí)固件的PC端工具軟件是什么?

    現(xiàn)在用的是M452, 帶USB Bootloader,但是沒(méi)找到上位機(jī)的工具軟件? 求告知,謝謝
    發(fā)表于 01-17 06:05