打印

请问代码填补问题

[复制链接]
1802|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lixiang69|  楼主 | 2008-5-24 11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好,我用69P42/43时,怎样在空白的代码处填补一定的常数,来防止程序跑飞呢?填补什么数,怎么填补呢(是在程序中,还是在烧写时填补?)?有这样的例子吗?谢谢!
沙发
warm_ice| | 2008-5-26 09:36 | 只看该作者

呵呵.

最好的方法就是程序写的可靠,则这些空白的部分就可以不填写了,呵呵.
填写的话,基本上还是需要在程序中自己来写指令的.例如在ROM的空白处填写指令JMP START   等,START为程序初始入口.

使用特权

评论回复
板凳
lixiang69|  楼主 | 2008-5-27 09:15 | 只看该作者

多谢

 非常感谢!另外想请教程序怎样写才可靠呢?
如果我要填写JMP START,要从END的前一句一条一条的填下去吗?有没有更简便的办法?谢谢!   

使用特权

评论回复
地板
lixiang69|  楼主 | 2008-5-27 10:27 | 只看该作者

请教

请问,用RICE66仿真时,打开看门狗,单步运行时,怎么老是溢出?把仿真器上的看门狗开关拨下去就不会溢出了。

使用特权

评论回复
5
warm_ice| | 2008-5-27 10:56 | 只看该作者

这样

1.填写的话,可能没什么好办法,只能一条一条来搞,不过,像UE这样的编辑软件,有列模式的,可以同时写很多行,会方便一些.
2.单步运行时请关闭WDT,因为单步运行时,WDT在工作的话,因WDT的溢出时间有限,单步过程中肯定会不断复位,影响单步仿真.全速运行时无此问题.

使用特权

评论回复
6
lixiang69|  楼主 | 2008-5-27 15:51 | 只看该作者

非常感谢!

非常感谢你的回答!那么请问我是不是从END的前一句开始填呢,我怎样知道什么时候是填写结束呢?
请问用哪些方法可以把程序写的可靠,是单单的看WDT吗?
谢谢!

使用特权

评论回复
7
warm_ice| | 2008-5-27 21:43 | 只看该作者

这样

IDE66中程序编译好后,在最后一条指令上点击鼠标右键,可以看到PC指针的值(前提是你没有用ORG指令ROM地址),再根据程序的空间,算一下,就清楚了要填写多少条指令.

程序可靠最主要就是程序思路清晰,流程正确,对异常情况有正确处理.WDT只是辅助手段,并不是主要的.例如一个寄存器程序设计时只有1,2,3,这3个数值是有效的,那么对于该寄存器为其它值时如何处理,也是程序可靠性的一个需要考虑的方面.

使用特权

评论回复
8
lixiang69|  楼主 | 2008-5-28 09:23 | 只看该作者

谢谢

我发现在用RICE66烧写时,点击Buffer会有一个Fill项,我想在这里应该也可以填充吧,这样很方便。

使用特权

评论回复
9
warm_ice| | 2008-5-28 11:33 | 只看该作者

是的

是有这个功能,只是您要清楚要填写的指令的代码.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

317

帖子

3

粉丝