#pragma arm section code ="foo" void gud_sub(void) { u32 i,dat,Addr; u16 *ptr,*S; u8 j; u32 *P; soft_C *p; 擦除内部全部FLASH 内部FLASH编程 } #pragma arm section code void IAP(void) { ... gud_sub ... }
gud_sub和IAP函数都在Frame_chanage.c中,下面是分散加载文件。 Exec_IAP 0x20000000 0x8000; {
Frame_chanage.o(foo); *(+RW,+ZI); } HEAP +0 UNINIT { heap.o(+ZI); } STACKS 0x2000FFF0 UNINIT ; { Stack.o(+ZI); } } 当程序在IAP调用gud_sub是程序就跑飞。没有执行这段代码。 如果把gud_sub修改如下 void gud_sub(void) { u32 i,dat,Addr; u16 *ptr,*S; u8 j; u32 *P; soft_C *p; #pragma arm section code ="foo"
擦除内部全部FLASH 内部FLASH编程 #pragma arm section code } 在执行这段代码时就把扇区0擦除后就死机了。 请问各位高手怎么解决这个问题。 |