Board logo

标题: 使用免-费工具仿真调试,cpu是jk8,发现运行10几分钟后,cpu的io口不动了 [打印本页]

作者: 烈火旋灯    时间: 2005-5-19 10:29     标题: 使用免-费工具仿真调试,cpu是jk8,发现运行10几分钟后,cpu的io口不动了

于是停下来看,发现程序竟然停在start08.c的第一句上了,于是查看PSR寄存器,发现是非法地址复位,这是何解?程序中可没有写非法的地址,难道是编译的问题?
作者: feigec    时间: 2005-5-19 10:41

请看看你定义的全局变量是不是有问题?有没有嵌入的汇编中定义变量名后加了冒号?
作者: 烈火旋灯    时间: 2005-5-19 10:47

冒号没有的,只有分号,全局变量倒是定义了很多,请问你这样问是有什么讲究吗?加冒号是表示什么意思呢
作者: feigec    时间: 2005-5-19 17:17

我想你用的调试工具是M68UICS08吧,JK8有256个RAM,除去堆栈,在线调试用去的RAM,RAM并不是很多.没看过你的程序不敢定论,能运行10多分钟来看,或许你的堆栈深度不够或者由变量在存储空间分配上引起的问题.
我曾经也出现类似的问题,不过是汇编里.我在定义"Var: DS.B 1"时,一"CLR Var"就出现非法地址复位.改成"Var DS.B 1"就好了,我也不知为何?
作者: 烈火旋灯    时间: 2005-5-23 11:48

呵呵!谢谢feigec,问题找到拉,不是堆栈的问题,我的程序里有lin通讯,有个通讯指针没有做保护(程序设计问题),溢出了,指向了60以下的地址,所以出现了非法地址复位




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