ARM IAP升级方法
两个地方值得注意:
本文引用地址:http://www.amcfsurvey.com/article/148075.htm(1) 中断向量的映射
(2) 用户程序Ro_base设置与要下载的地址一致,
也就是说对不同位址的FLASH下载相同的程序,必须首先要在KEIL下设置该程序对应的Ro_base地址,生成不同的hex或bin文件,进行下载,否则可能由于地址设置的不正确,导致下载后程序无法运行,这点尤为重要!!!!!!!!!!!!!(51,ARM都存在这个问题)
中断向量从0x0000000--0x00000001C共4*8=32个字节,还应包括后面到0x00000040之前的代码都应该映射,因为后面包括具体跳转的地址。(所以要映射从0x0000000----0x000003F共64个字节)
0x00000000 E59FF018 LDR PC,[PC,#0x0018]
0x00000004 E59FF018 LDR PC,[PC,#0x0018]
0x00000008 E59FF018 LDR PC,[PC,#0x0018]
0x0000000C E59FF018 LDR PC,[PC,#0x0018]
0x00000010 E59FF018 LDR PC,[PC,#0x0018]
0x00000014 E1A00000 NOP
0x00000018 E59FF018 LDR PC,[PC,#0x0018]
0x0000001C E59FF018 LDR PC,[PC,#0x0018]
0x00000020 00080054 DD 0x00080054
0x00000024 00080040 DD 0x00080040
0x00000028 00080044 DD 0x00080044
0x0000002C 00080048 DD 0x00080048
0x00000030 0008004C DD 0x0008004C
0x00000034 00000000 DD 0x00000000
0x00000038 0008018C DD 0x0008018C
0x0000003C 00080050 DD 0x00080050
0x00000040 EAFFFFFE B 0x00000040
0x00000044 EAFFFFFE B 0x00000044
0x00000048 EAFFFFFE B 0x00000048
0x0000004C EAFFFFFE B 0x0000004C
0x00000050 EAFFFFFE B 0x00000050
评论