Microchip
直播中

张华仁

7年用户 162经验值
私信 关注
[问答]

使用Simlator并调试主Projekt时只在观察窗口中看到STATUS和W Register

Hello论坛,我在MPLABX 4.05中用PIC12F1572启动一个项目。我在汇编程序中编写了我的代码。我在WaveCux0x70VAR1VAR2..EntC中修改了变量,当我使用SimLatar和调试主PROJEKT时,我只看到了监视窗口中的状态和W寄存器。通过停止监视窗口中的调试器,我可以看到VAR的添加。谢谢你的帮助。

以上来自于百度翻译


      以下为原文

    Hello Forum,
i start a Project with a PIC12F1572  in MPLABX 4.05 .
I wrote my Code in Assembler. I definded the variable in that way
cblock 0x70
var1
var2
....
endc
When i use the Simlator and  debug main Projekt i see only the STATUS and W Register in the watch window .
By stopping the Debugger in the watch window i can see the Var's who's  added from me .
Please can anybody explain what's wrong with my work.
Thanks for help

回帖(2)

周娟

2018-11-8 15:24:20
移动到MPLAB X IDE论坛。我知道这与汇编程序提供的调试信息有关,但不知道细节。我怀疑MPLAB X IDE论坛上的人可以提供更有力的建议。

以上来自于百度翻译


      以下为原文

    Moved this to MPLAB X IDE forum.  I know this has something to do with the debug information available from the assembler, but don't know the details.  I suspect folks in the MPLAB X IDE forum can offer more cogent advice.
举报

马杰

2018-11-8 15:33:33
是的,这是因为CUBLE类似于使用等式语句,它将一个名称等同于一个常量,这恰好是一个地址。因此,正在使用的调试文件不承认这是一个变量。这就是为什么你不能把它看作一个表变量。如果使用可重定位生成使用RES语句,则调试文件将让IDE知道这是一个变量。希望能回答这个问题。谢谢,霍华德

以上来自于百度翻译


      以下为原文

    Yes, this is because the cblock is similar to using EQU statements, which equates a name to a constant number, which just happens to be an address.  Therefore, the debug file that is being used does not recognize this to be a variable.  This is why you cannot see it as a watch variable.  If you use the RES statement using relocatable builds, the debug file will let the IDE know that this is a variable.  Hopefully that answers the question.
 
Thanks,
 
Howard
 
举报

更多回帖

发帖
×
20
完善资料,
赚取积分