TI中文支持网
TI专业的中文技术问题搜集分享网站

中断函数内调用函数处断点无法进入

如题,我使用的CCS版本是Version: 5.2.0.00069,硬件用的是TMS320F2812,板子和仿真器连接、运行一切正常;

问题就是:

1、在程序重新装载或者RESET CPU和RESTART 之后,在中断函数(T1PINT,定时器T1的中断服务函数,前提是中断使能、初始化都没问题)里面设置断点;根据断点的位置不同,运行情况也不同;假设断点A就是在中断函数里面,断点B在中断函数调用的另外一个函数里面;两个断点不同时设置;

2、让程序运行,断点B时,程序一直跑,停不下来(但此时此程序执行的结果已通过外设LED灯反应出来了)。这时候暂停程序执行,然后把中断函数里面的断点B撤销,会报出错误:

C28xx: Trouble Removing Breakpoint with the Action "Remain Halted" at 0x3f8052: (Error -1066 @ 0x3F8052) Unable to set requested breakpoint in memory. Verify that the breakpoint address is in writable memory. (Emulation package 5.0.681.0) 

3、重新在原来的地方设置断点B,然后再次运行程序,这时候程序就能运行到断点处停下来,感觉很迷惑。请问是什么原因?

如果是断点A,不管怎么重新装载程序或者RESET等,一运行,程序就会停在断点处。

主函数初始化程序、主循环函数处的断点,能够正常进入。

Johnson Chen1:

请确保硬件不要超过两个,可能是CCS的BUG,如果设置的断点停不下来,可以考虑在代码里面添加软件断点。

如题,我使用的CCS版本是Version: 5.2.0.00069,硬件用的是TMS320F2812,板子和仿真器连接、运行一切正常;

问题就是:

1、在程序重新装载或者RESET CPU和RESTART 之后,在中断函数(T1PINT,定时器T1的中断服务函数,前提是中断使能、初始化都没问题)里面设置断点;根据断点的位置不同,运行情况也不同;假设断点A就是在中断函数里面,断点B在中断函数调用的另外一个函数里面;两个断点不同时设置;

2、让程序运行,断点B时,程序一直跑,停不下来(但此时此程序执行的结果已通过外设LED灯反应出来了)。这时候暂停程序执行,然后把中断函数里面的断点B撤销,会报出错误:

C28xx: Trouble Removing Breakpoint with the Action "Remain Halted" at 0x3f8052: (Error -1066 @ 0x3F8052) Unable to set requested breakpoint in memory. Verify that the breakpoint address is in writable memory. (Emulation package 5.0.681.0) 

3、重新在原来的地方设置断点B,然后再次运行程序,这时候程序就能运行到断点处停下来,感觉很迷惑。请问是什么原因?

如果是断点A,不管怎么重新装载程序或者RESET等,一运行,程序就会停在断点处。

主函数初始化程序、主循环函数处的断点,能够正常进入。

June Wang:

回复 Johnson Chen1:

谢谢回复,我只在程序里面设置了一个断点啊,而且不同的位置,断点响应不一样。有软件断点使用说明资料参考吗?

如题,我使用的CCS版本是Version: 5.2.0.00069,硬件用的是TMS320F2812,板子和仿真器连接、运行一切正常;

问题就是:

1、在程序重新装载或者RESET CPU和RESTART 之后,在中断函数(T1PINT,定时器T1的中断服务函数,前提是中断使能、初始化都没问题)里面设置断点;根据断点的位置不同,运行情况也不同;假设断点A就是在中断函数里面,断点B在中断函数调用的另外一个函数里面;两个断点不同时设置;

2、让程序运行,断点B时,程序一直跑,停不下来(但此时此程序执行的结果已通过外设LED灯反应出来了)。这时候暂停程序执行,然后把中断函数里面的断点B撤销,会报出错误:

C28xx: Trouble Removing Breakpoint with the Action "Remain Halted" at 0x3f8052: (Error -1066 @ 0x3F8052) Unable to set requested breakpoint in memory. Verify that the breakpoint address is in writable memory. (Emulation package 5.0.681.0) 

3、重新在原来的地方设置断点B,然后再次运行程序,这时候程序就能运行到断点处停下来,感觉很迷惑。请问是什么原因?

如果是断点A,不管怎么重新装载程序或者RESET等,一运行,程序就会停在断点处。

主函数初始化程序、主循环函数处的断点,能够正常进入。

June Wang:

回复 Johnson Chen1:

如果是CCS的BUG,请问使用何种版本的CCS?

如题,我使用的CCS版本是Version: 5.2.0.00069,硬件用的是TMS320F2812,板子和仿真器连接、运行一切正常;

问题就是:

1、在程序重新装载或者RESET CPU和RESTART 之后,在中断函数(T1PINT,定时器T1的中断服务函数,前提是中断使能、初始化都没问题)里面设置断点;根据断点的位置不同,运行情况也不同;假设断点A就是在中断函数里面,断点B在中断函数调用的另外一个函数里面;两个断点不同时设置;

2、让程序运行,断点B时,程序一直跑,停不下来(但此时此程序执行的结果已通过外设LED灯反应出来了)。这时候暂停程序执行,然后把中断函数里面的断点B撤销,会报出错误:

C28xx: Trouble Removing Breakpoint with the Action "Remain Halted" at 0x3f8052: (Error -1066 @ 0x3F8052) Unable to set requested breakpoint in memory. Verify that the breakpoint address is in writable memory. (Emulation package 5.0.681.0) 

3、重新在原来的地方设置断点B,然后再次运行程序,这时候程序就能运行到断点处停下来,感觉很迷惑。请问是什么原因?

如果是断点A,不管怎么重新装载程序或者RESET等,一运行,程序就会停在断点处。

主函数初始化程序、主循环函数处的断点,能够正常进入。

WEILONG CHEN3:

回复 Johnson Chen1:

为什么在中断中,设置的断点停不下来,是什么原因引起的?

赞(0)
未经允许不得转载:TI中文支持网 » 中断函数内调用函数处断点无法进入
分享到: 更多 (0)