瞭解更多關於bootloader 的C語言實現,請加我QQ: 1273623966 (驗證信息請填 bootloader),歡迎諮詢或定製bootloader(在線升級程序)。
由於hyperbootloader_F1L只適合實驗室使用,趁着週末,我又給RH850 F1L 芯片R7F701011寫了個可靠性高的bootloader. 分兩部分, 一部分是RH850 MCU 端boot程序 rh850f1lBoot, 另一部分是PC端host 程序 rh850Loader. 他們之間有通信協定, 通信協定如下:
0x6F: HAND_SHAKE (握手,或叫更新請求)
0x02: WR_MEM (Flash 燒寫)
0x03: ER_MEM (Flash 擦除)
0x04: VF_MEM (Flash 驗證)
0x1F: RUN_APP (跳轉到application)
rh850f1kmBoot 的開發環境:
IDE: CS+ for CC V7.00.00 [13 Jun 2018]
Compiler: CC-RH V2.00.00
MCU: RH850 F1KM R7F701684
用到了Renesas官方提供的flash library: RENESAS_FCL_RH850_T01_V2.12,
rh850f1lBoot 和rh850f1kmBoot的實現基本一致,實際上只修改一點點就好了。非常順利。
上位機是用C#寫的,也只是稍微修改就好了。我特意寫了兩個測試用application (application 要做offset,包括remap interrupt,避免和bootloader重疊, 通過修改CS+ linker 配置實現)。 測試了十來次,bootloader 來回燒寫兩個application. 每次都燒寫成功。可靠性,穩定性都沒有問題。