|
uint8_t copy(uu8 *psrc,u8 *pdst,uint32_t totsize,uint32_tcpdsize)
{
FIL *fsrc=0;
FIL *fdst=0;
FIL fil1,fil2;
fsrc=&fil1;
fdst=&fil2;
..省略..........
}形如这样的一个函数,只要使用fsrc或者fdst,即出现hardfault->总线错误->精准的数据访问冲突,
把 FIL fil1,fil2;定义成static FIL fil1,fil2;静态局部变量,出现hardfault->总线错误->不精准的数据访问冲突。静态变量也是如此。
只有fil1根fil2定义成全局变量才不会出现hardfault。 不知道什么原因能造成这种总线错误。
中间以为是编译器优化的关系,改变优化选项也没用,
|
|