Board logo

标题: [求助]求助。如何在地址写入SWI指令 [打印本页]

作者: xiaobin12321    时间: 2008-10-31 09:46     标题: [求助]求助。如何在地址写入SWI指令

你好。

因为如果程序跑飞,MCU 可能不受控制地从存储器程序代码区的未用地址中执行程序,为避免可能有害的影响,
所有未使用的地址都应该包含一条合理而且适宜的指令。该指令可能是一个以
SWI 指令结尾的NOP 序列,或者更简单,都是SWI 指令。这么做以后,不受控
地在这些地址中执行代码就会发生软件中断。然后程序员就能确定到底发生了什
么意外。

我用的单片机是MC9S08QG8。或者用MC9S08AW32。我想问比如未使用的地址为0xE200到0xFFF ...我要怎么在这些未使用的地址填入

SWI 指令呢?可以把SWI的指令的操作码写进去地址来实现吗?看了资料手册,SWI指令的操作码是 83 那要怎么写。?如果程序跳到这些地址就自动实现软件中断SWI。

请各位高手,老师指导,万分感谢(在下定好好谢谢各位老师)

[此贴子已经被作者于2008-10-31 9:51:04编辑过]


作者: 康桥人    时间: 2008-10-31 13:00

八位的单片机好像没有软件陷井,16位的有
作者: strongchen    时间: 2008-11-3 14:47

可以在PRM文件中用FILL指令。具体可以参见CodeWarrior安装目录下的使用手册。


作者: michaelsrh    时间: 2008-11-6 14:24

3楼的方法,在PRM中ROM 对应的地址后面加上FILL 0x83就可以实现SWI软复位/中断




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0