ARM IAP升級(jí)方法
兩個(gè)地方值得注意:
本文引用地址:http://www.ex-cimer.com/article/148075.htm(1) 中斷向量的映射
(2) 用戶程序Ro_base設(shè)置與要下載的地址一致,
也就是說對(duì)不同位址的FLASH下載相同的程序,必須首先要在KEIL下設(shè)置該程序?qū)?yīng)的Ro_base地址,生成不同的hex或bin文件,進(jìn)行下載,否則可能由于地址設(shè)置的不正確,導(dǎo)致下載后程序無法運(yùn)行,這點(diǎn)尤為重要!!!!!!!!!!!!!(51,ARM都存在這個(gè)問題)
中斷向量從0x0000000--0x00000001C共4*8=32個(gè)字節(jié),還應(yīng)包括后面到0x00000040之前的代碼都應(yīng)該映射,因?yàn)楹竺姘ň唧w跳轉(zhuǎn)的地址。(所以要映射從0x0000000----0x000003F共64個(gè)字節(jié))
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
評(píng)論