我的cc2541板子能用CCdebugger下载程序,而且下载一切正常,但是不能在线调试,一直停留在第一行HAL_BOARD_INIT();,有谁知道可能是什么原因吗?非常感谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
停在这行,表示你可以进入调试。
#define HAL_BOARD_INIT() \
{ \
/* Set to 16Mhz to set 32kHz OSC, then back to 32MHz */ \
START_HSOSC_XOSC(); \
SET_OSC_TO_HSOSC(); \
SET_32KHZ_OSC(); \
SET_OSC_TO_XOSC(); \
STOP_HSOSC(); \
\
/* Enable cache prefetch mode. */ \
PREFETCH_ENABLE(); \
}
把宏去掉则是如下,可以看到有很多while()语句,可以把如下替代拷贝到程序里,再调试下试试,看停在什么地方,就可以定位是哪个晶振没有起来。
你用示波器测测也可以看出来。
//START_HSOSC_XOSC();
SLEEPCMD &= ~OSC_PD; /* start 16MHz RCOSC & 32MHz XOSC */
while (!(SLEEPSTA & XOSC_STB)); /* wait for stable 32MHz XOSC */
/* Set to 16Mhz to set 32kHz OSC, then back to 32MHz */
//SET_OSC_TO_HSOSC();
CLKCONCMD = (CLKCONCMD & 0x80) | CLKCONCMD_16MHZ;
while ( (CLKCONSTA & ~0x80) != CLKCONCMD_16MHZ );
// SET_32KHZ_OSC();
CLKCONCMD = (CLKCONCMD & ~0x80) | OSC_32KHZ;
while ( (CLKCONSTA & 0x80) != OSC_32KHZ );
//SET_OSC_TO_XOSC();
CLKCONCMD = (CLKCONCMD & 0x80) | CLKCONCMD_32MHZ;
while ( (CLKCONSTA & ~0x80) != CLKCONCMD_32MHZ );
//STOP_HSOSC();
SLEEPCMD |= OSC_PD; /* stop 16MHz RCOSC */
你好,
我对CC 2541进行debug,无法进入函数,我step into一下,它就闪一下,闪了几次就到下一个函数,这是怎么回事啊?最关键的是,有些函数是可以进入的。
初始化的函数不能进入,
HAL_BOARD_INIT();这个不能进入
// Initialize board I/O
InitBoard( OB_COLD );这个可以进入!