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

  今天焊接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晶振出现问题的例子

博客讨论一些室内定位(DWM1000/CC2431/CC2530) 以及一些随性的技术。博文可以转载,但需要注明出处!
原文地址:https://www.cnblogs.com/tuzhuke/p/7502538.html