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.

请教一个关于SBL的问题

在对协调器进行串口升级时,是一定要使用外部晶振吗? 在进行SBL时,在应用程序内有一句:0SC32K_CRYSTAL_INSTALLED=FALSE,只要注释掉就可以升级成功,而如果加上了这句似乎转到应用程序运行后功能都不正常,想请教这是什么原因呢

  • 请参考这边的类似问题: e2e.ti.com/.../780159
  • 你这个问题属于:板子没有焊接32K晶振导致板子工作不稳定
    解决办法:
    找到hal_board_cfg.h,打开,找到这个地方。。。。
    /* 32 kHz clock source select in CLKCONCMD */
    #if !defined (OSC32K_CRYSTAL_INSTALLED) || (defined (OSC32K_CRYSTAL_INSTALLED) && (OSC32K_CRYSTAL_INSTALLED == TRUE))
    #define OSC_32KHZ 0x00 /* external 32 KHz xosc */
    #else
    #define OSC_32KHZ 0x80 /* internal 32 KHz rcosc */
    #endif
    看定义,应该是如果定义OSC_32KHz 为0x00的话,就用32K外部晶振,要是0x80,就用内部的。
    那好,解决办法1:把这个地方的0x00改成0x80.别的地方不用动,下载程序试试看可以了吧?
    解决办法2:define一下OSC32K_CRYSTAL_INSTALLED
    两种办法都是逼着协议栈用内部32K的RC振荡器。
    想搞清楚协议栈里面到底怎么用了OSC_32KHz,就自己找找代码,我不说了。