CC2530 Debug ---CC2530 无启动之32K晶振

时间:2021-11-16 18:37:27

  今天焊接CC2530,其中有个模块下载程序(协议栈程序),无法创建也无法加入网络。

  第一步先检查32MH 晶振是否启动,用basice 程序看uart,发现可以正常打印log。

  第二步,在线调试,看看程序跑到那里了。

  

  MAC_RADIO_TIMER_WAKE_UP();

在看里面果然有while 循环

#define MAC_RADIO_TIMER_WAKE_UP()                     st( HAL_CLOCK_STABLE(); \
T2CTRL |= (TIMER2_RUN | TIMER2_SYNC); \
while(!(T2CTRL & TIMER2_STATE));
/* 32 kHz clock source select in CLKCONCMD */
#if !defined (OSC32K_CRYSTAL_INSTALLED) || (defined (OSC32K_CRYSTAL_INSTALLED) && (OSC32K_CRYSTAL_INSTALLED == TRUE))
#define OSC_32KHZ 0x80 /* external 32 KHz xosc */
#else
#define OSC_32KHZ 0x00 /* internal 32 KHz rcosc */
#endif #define HAL_CLOCK_STABLE() st( while (CLKCONSTA != (CLKCONCMD_32MHZ | OSC_32KHZ)); )

现在怀疑是32K晶振问题了,把 32K晶振宏定义修改一下,如上面的code。正常启动创建网络。

debug 问题完毕。 这个板子32k 晶振出现问题主要是我过孔被焊锡堵上了,在焊接的时候烙铁接触晶振时间太长了。

这个也是目前见到唯一一个32k晶振出现问题的例子