未定义指令

[复制链接]
3471|5
 楼主| runmo420 发表于 2007-10-25 22:44 | 显示全部楼层 |阅读模式
买的是北京微芯力科的开发板,付带了St公司的软件函数库,把这些函数库添加到应用程序文件,编译没问题,但仿真的时候,却总是跳出“ARM7TDMI出现异常,原因是未定义指令”。对函数库未作修改。这是怎么回事,如果有未定义指令,那编译又怎么会通过呢?
浪淘沙 发表于 2007-10-26 09:29 | 显示全部楼层

请先检查“未定义指令”出现在哪里

LZ好像断定错误出在函数库内部,你有什么根据吗?

这种问题,通常会有三种可能:
1)应用程序有错
2)函数库有错
3)程序跑乱了,运行到了数据区。

第1、2种可能性较小,第3种可能性很大,尤其是向量表未设定好,程序跑乱了。
 楼主| runmo420 发表于 2007-10-26 12:40 | 显示全部楼层

未定义指令

不知向量表未设定好是指什么。ST也提供了中断向量表的函数vect.s,察看过,觉得没什么问题的。程序运行时,停在地址0x00000004处,也就是此芯片的未定义指令异常的中断入口,在中断服务程序中的未定义中断函数体是空的。
浪淘沙 发表于 2007-10-26 13:44 | 显示全部楼层

中断函数体是空的,那么发生中断时程序跑到哪里去了?

这当然会出现“未定义指令”的错误了。
张进128 发表于 2007-10-30 08:43 | 显示全部楼层

顶一个顶一个

顶一个顶一个顶一个顶一个顶一个
 楼主| runmo420 发表于 2007-11-1 15:09 | 显示全部楼层

谢谢浪淘沙 问题解决了

虽然不是中断函数的问题,但还是多亏浪淘沙提醒程序乱跑,原来是入口地址没有指定,导致程序乱跑。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

142

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部