周工,你好
我在做EasyARM2200 uc/OS-II蜂鸣器实验时,碰到如下问题,请赐教
1. 我使用实验附带的程序+uc/OS源码,全速运行完全正常
2. 我在这个实验里面修改了源程序中对中断处理的方式,没有使用宏的方式,运行时,有时候正常,有时候就经常出现 数据中止异常,也就是会跳到 DataAbort B DataAbort
但是,我单步跟踪了一下code,发现出现数据中止异常的主要有两个地方,(每次重新编译后再调试,这两个地方好像也有一定的随机性) 下面是其中之一: i. 就是在进入函数 void TargetResetInit(void)时的第一条压栈指令
我不太清楚,为什么会经常在这里发生 数据中止异常,这时还没有执行任何修改的code,所以,修改后的code应该不会导致 数据中止异常啊.....
不知道根据我的描述,大家有没有什么建议?
可能这样描述不是太清楚,也不太好说这样的原因是什么... 因现在在公司,上传不了东西.稍后,我会把整个工程的源代码上传上来,这样才比较好跟踪问题,到时候希望能找到最终原因.
谢谢啦.
|