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.

MSP430G2553的info-A中信息被清除了,导致系统时钟初始化失败,进入如下死循环。

  1. if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)                                     
  2.   {  
  3.     while(1);                               // If calibration constants erased
  4.                                             // do not load, trap CPU!!
  5.   } 
  6. 一直在上方死循环。

  • MSP430G2系列中information flash中Info-A保存了内部时钟晶振调教参数,如果这个被误擦除了,此芯片不建议使用了。

    Info A中有时钟调教参数和ADC调教参数,除非不使用内部时钟和不考虑ADC精度,就可以。

    在烧录芯片GUI,需要保护这个区域,详细进入memory选项中。

  • 那我能在INFO-A中写数据什么的吗?

  •  不建议在A段写数据,information flash分成ACBD四段,你可以写在BCD三段。

    为了保护A区,擦除的时候,解除锁定才能擦除。

    调教参数是TI在工厂芯片生产过程中写入调教参数,每个IC的调教参数都不一样,一旦擦除无法复原。

  • CALBC1_1MHZ和CALDCO_1MHZ是已经定义好的两个宏:
    SFR_8BIT(CALDCO_1MHZ);
    SFR_8BIT(CALBC1_1MHZ);

    Flash擦除后的所有单元比特位都恢复为1,因此若CALBC1_1MHZ和CALDCO_1MHZ都等于0xFF,说明是已经定义好的宏被擦除了。当出现这种情况时就将程序停止于此。