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

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

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

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

RA生態(tài)工作室 ? 2023-10-18 08:06 ? 次閱讀

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

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

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

(2)功能升級(jí)

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

wKgaomWePSCAZjorAABGn1mHqwU689.png

3、創(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ù)。

wKgZomWePSqAYaEdAAI2tXvE4QA478.png

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

wKgaomWePTqAHkN9AAFnMiQs5MM032.png

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

wKgZomWePZaAFZOzAAFMmkdA0Yg110.png

6、初始化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ù)讀寫。

wKgZomWePa2AAJ_CAABB9tsB7NE888.png

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

wKgZomWePdSAQGyhAAH3fvBUvTM203.png

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

wKgZomWePcKAVOxAAARrBJkHAvY702.png

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

wKgZomWePe2AWEoxAAFgbkYD2DM286.png

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

wKgaomWePfiAI8wtAAG3WFF25rk896.png

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

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

wKgZomWePgaACuHdAANO2lSLJ2M388.png

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

wKgZomWePhqAaP_QAAPDV4cuZug521.png

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

wKgZomWePiSAFJQyAABtVi5PF4A286.png

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

wKgaomWePi6AaYgIAABIHCoWScA531.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í)成功。

wKgaomWePjqAeL9bAAh7_HMrk0k038.png

END

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

    關(guān)注

    146

    文章

    16786

    瀏覽量

    349318
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7845

    瀏覽量

    263286
  • 固件升級(jí)
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    12080
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    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)通過設(shè)備系統(tǒng)界面或背板獲得。 5)添加升級(jí)固件 6)配置超時(shí)時(shí)間,默認(rèn)即可。 7)選擇需要
    發(fā)表于 07-25 06:22

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

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

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

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

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

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

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

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

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

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

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

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

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

    自己設(shè)計(jì)的板子中移植了FX3部分的電路,采用USB引導(dǎo)燒錄固件之后,顯示燒錄成功,但原來(lái)可以識(shí)別的設(shè)備消失不見了,有朋友出現(xiàn)這種情況嘛?無(wú)奈通過
    發(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 ?1631次閱讀
    【外設(shè)移植】<b class='flag-5'>USB</b>鍵盤+<b class='flag-5'>M</b>61開發(fā)板

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

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

    單片機(jī)通過USB升級(jí)固件的方法

    單片機(jī)升級(jí)固件的方法有很多中,比如:ISP(在系統(tǒng)編程)、ICP(在電路編程)、IAP(在應(yīng)用編程)等。
    的頭像 發(fā)表于 01-11 09:37 ?1648次閱讀
    單片機(jī)<b class='flag-5'>通過</b><b class='flag-5'>USB</b><b class='flag-5'>升級(jí)</b><b class='flag-5'>固件</b>的方法

    tl-wda5532re固件升級(jí)

    升級(jí)。 第一步:檢查固件版本 在進(jìn)行固件升級(jí)之前,我們首先需要檢查當(dāng)前設(shè)備上的固件版本。這可以幫助我們確定是否需要
    的頭像 發(fā)表于 01-04 10:40 ?693次閱讀

    STM32單片機(jī)實(shí)現(xiàn)固件在線升級(jí)(IAP)

    1,固件升級(jí)方案綜述單片機(jī)的固件升級(jí)方式有很多種。1、ICP:簡(jiǎn)單說(shuō)就是在單片機(jī)開發(fā)時(shí)使用燒錄器升級(jí)程序,比如使用J-Link燒錄單片機(jī)程序
    的頭像 發(fā)表于 12-16 08:00 ?4334次閱讀
    STM32單片機(jī)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>固件</b>在線<b class='flag-5'>升級(jí)</b>(IAP)

    AT32 MCU如何使用OTA通過USART實(shí)現(xiàn)對(duì)固件的在線升級(jí)更新

    AT32 MCU如何使用OTA通過USART實(shí)現(xiàn)對(duì)固件的在線升級(jí)更新
    的頭像 發(fā)表于 10-26 17:09 ?2263次閱讀
    AT32 MCU如何使用OTA<b class='flag-5'>通過</b>USART<b class='flag-5'>實(shí)現(xiàn)</b>對(duì)<b class='flag-5'>固件</b>的在線<b class='flag-5'>升級(jí)</b>更新