Part Number:LAUNCHXL-F280049COther Parts Discussed in Thread: C2000WARE
您好,
我在运行一个程序时 不点real time是可以正常运行的
但是点了realtime 就会弹出 Trouble Reading Register PC: (Error -1142 @ 0x0) Device blocked debug access because it is currently executing non-debuggable code. Choose 'Rude Retry' to disable polite mode and force the operation. (Emulation package 9.2.0.00002)
最后这是没有点real time的正常运行
期待您的回复,谢谢
Green Deng:
Hi Depeng:
需要确认一下,你现在使用的市F280049C的launchPAD?即LAUNCHXL-F280049C?是外接仿真器进行仿真测试的吗?
,
Depeng Man:
非常感谢!
我已经转达给客户了,
Have a good day ^_^
James
,
zhuang Yin:
谢谢您,Green我用的是f280049c,然后外接仿真器进行测试的.
,
Green Deng:
有没有在 ISR 代码中设置断点?可以尝试重新加载程序并通过单击 CCS 菜单上的view – breakpoints – disable all breakpoints来禁用所有断点,然后再测试一下、
,
zhuang Yin:
您好,Green 我没有设置任何断点,刚刚也确认了下。 而且不点real time mode 是可以正常运行的!,所以应该是别的原因
,
Green Deng:
我看到你运行的应该是TI例程?是这个路径下的例程吗?例程是否有修改过?C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_02_00_00\solutions\tidm_1000\f28004x\pfc3phvienna
官方对于这个报错的解释是这样的:https://software-dl.ti.com/ccs/esd/documents/ccsv7_debugging_jtag_connectivity_issues.html#device-blocked
不知道你有没有试过其他仿真器测试仿真?或者其他程序会有这样的问题吗?
,
zhuang Yin:
对是有些修改的,官方给的解释 In these cases, consult the documentation of your device to find out how to unlock it.解决方法太笼统了- -有些不太了解
,
zhuang Yin:
另外,我想请教您一下,ccs10的 real time和正常运行(不点real time)有什么区别嘛,我看expression窗口中变量都是变化的
,
Green Deng:
首先是建议你可以测试一下其他工程,比如一些例程会不会有这样的情况,判断一下会不会是板子或者CCS有问题。
然后关于realtime mode,正常情况下应该是没有使能的话expressions窗口的数据只有暂停运行之后才会刷新,使能之后会每半秒刷新一次数据。不知道为什么你的数据没有使能也会刷新?
,
zhuang Yin:
好的,谢谢您 Green我测试过其他的例程 都是可以realtime mode运行。
另外 如果 我的数据可以刷新是不是也可以不使能 real time ,因为他们达到的效果是一样的,还是说精度上会有差?
,
zhuang Yin:
我不点击 real time,点了continues refresh 就一直在变了。我在想如果这样可以观察数据的话,是不是可以不使能real time mode
,
Green Deng:
zhuang Yin 说:其他的例程 都是可以realtime mode运行
那可能还是跟程序的修改有关
如果可以刷新的话不是能 time mode也可以,但正常的应该是停止运行才会更新,这点也挺奇怪的。
,
zhuang Yin:
好的,谢谢您的耐心解答 Green。我可能还有一些问题要请教您:1.我看了一下,不在实时模式下运行的话,我用 ccs的graph 画图等大约半分钟才有曲线响应变化。 在实时模式的话 应该是瞬间就响应的。正常时没办法去掉这个延时的嘛?2.我把我程序中pwm保护跳闸部分给注释掉,程序能够在 实时模式下运行。因为后面还有一个和pwm相关的中断。会不会和这个跳闸程序有关?
,
Green Deng:
不好意思之前都看错了。。。
如果要看expressions的数据刷新的话不需要开real-time模式,只需要点击continuous reflash就可以了。同样的,如果要观察graph的话只需要enable continuous reflash就可以了。其实一般调试的话都不需要开real-time模式。
你是用PWM的TZ模块来执行跳闸任务的吗?一般来说TZ模块也不会影响real-time模式,TI也有提供TZ模块的例程你可以测试一下。
,
zhuang Yin:
对的,用的pwm的联防模块,那 real time mode运行 和不开real-time模式有什么区别呢?
,
zhuang Yin:
或者说一般导致Trouble Reading Register PC: (Error -1142 @ 0x0) Device blocked debug access because it is currently executing non-debuggable code. Choose 'Rude Retry' to disable polite mode and force the operation. (Emulation package 9.2.0.00002) 这个错误的原因在哪里? 因为不知道原因 修改起来没有头绪。现在还是一头雾水
,
Green Deng:
官方的解释是这样的:
Real-time Mode Debug enables programmers to:
–examine and modify contents of memory/register locations while CPU is running and executing code
–halt/debug application while allowing user specified time critical interrupts to be serviced without interference
我的理解就是开启real-time模式后,在线调试的情况下可以修改某些变量/寄存器的实时值
这个报错本身也很少见,关键是也没有一个确定的产生原因,比如这两个帖子,虽然问题都解决了,但是两者的解决方案也不一样
https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/928853/ccs-tms320f28027f-error–1142-0x0
e2e.ti.com/…/c2000ware-motorcontrol-sdk-trouble-reading-register-pc-error–1142-0x0-device-blocked-debug-access-because-it-is-currently-executing-non-debuggable-code
,
zhuang Yin:
好的,感谢您的回复和帮助。 观测的话 我只能先不使能real-time了。我已经没有什么疑问啦,再次感谢您的热心解答!Green。
,
Green Deng:
好的,观察的话也不需要使能real-time模式的