这一篇非常关键。很多工程师写好了 Bootloader,却发现 APP 跑不起来,或者跑起来后一开中断就死机,甚至不知道该怎么从 APP 跳转回 Bootloader 进行升级。
这一篇,我们将视角切换到 APP 端,讲讲一个合格的“OTA 就绪”的 APP 需要具备哪些“自我修养”。
这一篇非常关键。很多工程师写好了 Bootloader,却发现 APP 跑不起来,或者跑起来后一开中断就死机,甚至不知道该怎么从 APP 跳转回 Bootloader 进行升级。
这一篇,我们将视角切换到 APP 端,讲讲一个合格的“OTA 就绪”的 APP 需要具备哪些“自我修养”。
/* 原来的定义 */
/* FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 128K */
/* 修改后的定义 (假设偏移 16KB) */
FLASH (rx) : ORIGIN = 0x8004000, LENGTH = 112K
3. RL78 (IAR / CC-RL)
RL78 的“搬家”最痛苦。因为它的中断向量表是硬件固死的。
-
代码段 (.text): 可以通过 Linker 选项设置
.text段的起始地址。 -
中断向量表: 你需要在 APP 工程里,人为地定义一个“软向量表”放在 APP 的头部(例如
0x2000),这要配合第一篇讲的 Bootloader 里的JMP指令。 -
操作: 修改
.dr(Linker Directive) 文件,将ROM区域避开0x0000 - 0x1FFF。</

最低0.47元/天 解锁文章
5485

被折叠的 条评论
为什么被折叠?



