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

如何利用command line命令修改I/O寄存器

如何利用command line命令修改I/O寄存器

我在调试时,经常遇到需要等待外设响应的语句,如一直查询一个flag。但在单步执行是总是在执行改查询语句,无法跳过该语句。原先的方法是直接将该语句注释掉。后来发现command line中的一条命令rs可以修改I/O寄存器的值,但我不知道如何去使用,命令框总是提示不认识I/O寄存器的名字。好像需要加一个.reg文件。
请问版主,这个文件该往哪个里面加?该如何加进去?
急切盼望回复!!!
什么芯片?哪个版本的CodeWarrior?
海纳百川  有容乃大
多谢版主回复!我用的是9S12XDP512,codewarrior是4.6版本的,初次涉及freescale MCU,请多指点
你是用软件仿真的方法进行调试吗?
海纳百川  有容乃大
是的,主要是用9S12XDP512走CAN总线。现在主要在调试CAN通信的部分,暂时又没有硬件支持。所以想充分利用软件仿真。
比如说“while (!SPI0.spisr.bit.sptef);”这条语句,CPU要一直查询sptef这个位,当硬件响应之后,它才置位并才执行下一条语句。但我发现仿真时CPU无法跳过这个语句,一直死在那里。我想问一下,能否通过command line手动输入一个rs命令修改spisr的值,将sptef置位,模拟硬件的响应,让CPU以为sptef已经置位。
或者还有其他更好的方法,请版主点拨!
in>RS DDRA=0Xff
in>RS PORTA=0Xff
我试过,可是敲进去后,老是提示:Error: unknown register or alias.请问如何才能知道它到底认识那些I/O寄存器
我后来发现simulation模式下,在Data窗口可以修改相应变量和寄存器的值,可惜在sofTec和P%E进行硬件调试时就束手无策了。请各位帮忙想想办法?
在硬件调试状态下寄存器和变量的值应该也是可以修改的。
海纳百川  有容乃大
多谢版主!可是我现在发现以前在simulation下可以修改的寄存器和变量值在硬件调试下不能修改了,郁闷ing。请问是直接在data窗口里面修改,还是在哪里修改?偶刚刚用freescale MCU,对9S12XDP512很不熟。请版主指点!!!非常感谢
你可以再memory窗口里修改。
海纳百川  有容乃大
我发现还可以用PC可以修改,只能跳过这一步。我还有个问题,这个 cw打开了两对窗口:S12和XGATE。s12可以单步执行,但是XGATE怎么才能单步执行啊?好像没有办法可以主动去查看XGATE里面的东西,只能等它的中断。
S12与XGATE一起联合调试的资料太少了,版主能不能推荐一点资料,或者给我稍微讲一下啊。急等。
返回列表