RA4M3通過USB實現固件升級
01
固件更新應用案例
(1)修復程序錯誤
(2)功能升級
02
首先必須規劃好Bootloader和Application的空間分配。如下圖所示,案例使用R7FA4M3AF3CFB,有1M的ROM。Bootloader從0x000000開始存儲,結束地址為0x1FFFF,所占空間大小為0x20000;Application從0x20000開始存儲,結束地址為0x000FFFFF,所占空間大小為0xE0000。

03
創建一個Bootloader工程,添加USB_HMSC、Flash、RTC和CRC等外設。其中USB添加主機大容量存儲類(HMSC)驅動程序,它實現了USB HMSC接口,可從USB大容量存儲設備中讀取、寫入和擦除數據。

04
使用RTC設置系統時間。

05
初始化flash驅動,然后在data flash中讀取設備設置的log。

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

07
根據信息類型擦除data flash中的數據,擦除成功后寫入新的設備設置參數。

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

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

10
打開e2 studio新建Application工程,用來驗證可以通過Bootloader成功升級Application,若成功升級,三顆LED燈會不停地閃爍。

11
打開memory_regions.ld文件,FLASH_LENGTH = 0x100000;更新為FLASH_LENGTH = 0xE0000;
由于Bootloader占用了0x20000大小,因此對于EK-RA4M3來說,僅剩下0x100000-0x20000=0xE0000大小可供Application使用。

12
Application工程生成srec格式文件,下圖紅框位置勾選 Section: -j .text & -j .data,使得application project僅生成code flash對應的內容。

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

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

15
將U盤插入,開發板上電,當前運行的代碼是Bootloader,由于此時尚未執行Application升級,因此LED2常亮,按下復位鍵,使得Bootloader重新運行,執行Application代碼升級,可以看到LED燈按照RA4M3_BLINKY程序閃爍。將U盤插回電腦查看“Put Image Here”文件夾,可以看到update.txt變為loaded.txt,程序升級成功。

更多內容請識別下方二維碼查看:

-
mcu
+關注
關注
146文章
17793瀏覽量
359414 -
瑞薩
+關注
關注
36文章
22363瀏覽量
87663
原文標題:RA4M3通過USB實現固件升級
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
【RA-Eco-RA4M2開發板評測】+燒寫方式
【RA-Eco-RA4M2開發板評測】2、虛擬串口usb cdc
RA4L1數據手冊
RA4L1硬件手冊
【RA-Eco-RA4M2開發板評測】RA-Eco-RA4M2 PWM輸出
【RA-Eco-RA4M2開發板評測】RA-Eco-RA4M2 串口通信
【RA-Eco-RA4M2開發板評測】RA-Eco-RA4M2 按鍵操作
【RA-Eco-RA4M2開發板評測】RA-Eco-RA4M2 Keil 開發環境搭建
【RA-Eco-RA4M2開發板評測】1 RA4M2開發環境搭建
【RA-Eco-RA4M2開發板評測】 環境搭建和LED驅動
瑞薩RA4L1系列微控制器與RA4L1-SENSOR套件概述(數據手冊免費下載)

評論