TI Stellaris M3的硬件断点数
Cortex-M3内核支持8个硬件断点(hardware breakpoints)以及4个监测点/观察点(Watchpoints)。不同的仿真工具所支持的调试断点数量不同,如果用TI的Stellaris ICDI调试,那么最多只能支持6个断点,在Keil环境下如果设置断点超过六个,进入调试环境会提示出错,如果是在IAR环境下,设置的断点最多就只能到6个,再多就会提示调试器驱动报错。如果是使用J-link调试工具,那么可以提供的断点要多得多,试过了不论在Keil还是IAR环境下,所能够设置的断点都能到达20个以上。另外,用Keil下载程序的时候会有如下的提示信息:
Device: LM3S9B96
VTarget = 3.377V
State of Pins: TCK: 1, TDI: 0, TDO: 1, TMS: 0, TRES: 1, TRST: 1
Hardware-Breakpoints: 6
Software-Breakpoints: 8192
Watchpoints: 4
JTAG speed: 2000 kHz
也就是说,它能提供的断点除了6个硬件断点之外,还有8192个软件断点。但是这个软件断点,就需要相应的仿真器支持才可以设置,TI的ICDI驱动就是不支持软件断点,所以只能设定6个断点。而J-link因为支持软件断点,所以可以提供多得多的断点用来调试。另外为什么Cortex-M3内核的说明上说支持8个断点而实际的硬件断点只能设置6个呢?因为IAR将两个硬件断点用作特殊用途了,一个是停在main()函数,另外一个用于堆栈。
[
本帖最后由 hansonhe 于 2012-3-24 11:40 编辑 ]