首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]求助。如何在地址写入SWI指令

[求助]求助。如何在地址写入SWI指令

你好。

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

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

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

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

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

八位的单片机好像没有软件陷井,16位的有
个人BLOG:http://blog.eccn.com/u/107300/index.htm

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

海纳百川  有容乃大
3楼的方法,在PRM中ROM 对应的地址后面加上FILL 0x83就可以实现SWI软复位/中断
返回列表