请问各位大大有没有遇过iap写入flash,写到某一位址之后就跑掉了的问题,
我用debug看几乎都是写到0xED00之后就跑到别的地方去,我有设定.icf档 iap_Code的位置我放在主程序的另外一个地方,不会去覆盖到,如下
define region BootROM = [from 0x6000 to 0x67FF];
define region NearFuncCode = [from 0x8000 to 0xFFFF];
define region FarFuncCode = [from 0x8000 to 0xFFFF]
| [from 0x10000 to 0x17FFF];
define region HugeFuncCode = [from 0x8000 to 0x17FFF];
define region IAPCode = [from 0xFE00 to 0xFFFF];
place in IAPCode {readonly section .iap_one};
0xED00位置的地方不是我主程序里的func,好像是堆叠的code,如下ˋ
?mov_e0_e1 0x00ed26 Code Gb vreg_util.o [4]
?mov_e0_e2 0x00ed33 Code Gb vreg_util.o [4]
?mov_e1_e0 0x00ed40 Code Gb vreg_util.o [4]
?mov_e1_e2 0x00ed4d Code Gb vreg_util.o [4]
?mov_e2_e0 0x00ed5a Code Gb vreg_util.o [4]
?mov_l0_l1 0x00ed23 Code Gb vreg_util.o [4]
?mov_l0_l2 0x00ed30 Code Gb vreg_util.o [4]
?mov_l1_l0 0x00ed3d Code Gb vreg_util.o [4]
?mov_l1_l2 0x00ed4a Code Gb vreg_util.o [4]
?mov_l2_l0 0x00ed57 Code Gb vreg_util.o [4]
?mov_w1_w3 0x00ed29 Code Gb vreg_util.o [4]
?mov_w1_w5 0x00ed36 Code Gb vreg_util.o [4]
?mov_w3_w1 0x00ed43 Code Gb vreg_util.o [4]
?mov_w3_w5 0x00ed50 Code Gb vreg_util.o [4]
?mov_w5_w1 0x00ed5d Code Gb vreg_util.o [4]
这是什么情形阿???
|