最近在调试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]
打赏帖 | |
---|---|
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 | |
分享电子控制安全气囊计算机知识点被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【OZONE】使用方法总结被打赏20分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K314】芯片启动流程分析被打赏40分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K146】S32DS RTD 驱动环境搭建被打赏12分 | |
【分享开发笔记,赚取电动螺丝刀】【IAR】libc标注库time相关库函数使用被打赏23分 |