这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [求助]关于ARM7的异常处理

共4条 1/1 1 跳转至

[求助]关于ARM7的异常处理

菜鸟
2004-07-30 00:40:25     打赏
最近在调试ARM7(S3C4510B)的时候发现,写地址线无法寻址的地址,不产生异常,直接复位。 如执行下面代码的时候当ulInvalidAddr 取值不同产生不同的效果:
*(_U32 *)ulInvalidAddr = G_NULL_DWORD; 当ulInvalidAddr = 0x100001, 16M RAM的地址,字节不对齐,产生数据异常
当ulInvalidAddr = 0x1000001, 无法寻址的地址,不产生异常,直接复位
当ulInvalidAddr = 0x65a0001, 2M FLASH的地址,字节不对齐,产生数据异常(非cache区) 如果有异常出现,就可以在异常处理中增加记录堆栈的代码从而发现出现错误的原因,如果没有异常出现查bug就麻烦了。请大侠看看,能否解决2中不产生异常的问题。谢谢 [align=right][color=#000066][此贴子已经被作者于2004-7-29 16:44:01编辑过][/color][/align]



关键词: 求助     关于     异常     处理    

菜鸟
2004-08-02 17:16:00     打赏
2楼
自己顶一下

菜鸟
2004-08-03 05:04:00     打赏
3楼
就看异常vxworks是否拦截, 以及处理策略

菜鸟
2004-08-14 23:48:00     打赏
4楼
to:楼上的兄弟 hsw256 想必还没有明白我的意思,在实际使用的过程中,程序大了,难免会有人误用了不是4字节对齐的地址,这样的地址会引起程序运行出错,为了能够监控这种情况,我们通过拦截异常来处理,如果这种情况都能出现异常,就在异常里记下pc的指针以及几个层次的调用指针,这样根据这些指针结合编译的map表就可以找到发生错误的函数,问题具体到一个函数后就好查了。但是在实际使用过程中发现了前面出现的问题,问题的描述可能不太清楚,我用的内存只有16M对于超过16M的地址访问,不产生异常,直接复位了,请大侠看看。谢谢

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]