了解更多关于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. 每次都烧写成功。可靠性,稳定性都没有问题。
原文地址:https://www.cnblogs.com/geekygeek/p/rh850f1lbootloader.html