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.

在烧录程序的时候出现了这个错误 DCO constants verification....... failed --------------- FAILED !!! -----------------

Reading Code File ........................... done
-- Code size = 0x012E ( 302 ) bytes
=====================================
JTAG communication initialization.... OK
Verifying Security Fuse .................... OK
Reading Retain Data ............. done
Erasing memory ............................... done
Verifying Retain Data ...................... done
JTAG communication initialization.... OK
Flash programming .................... done
Verifying check sum ......................... OK
DCO constants verification....... failed
--------------- FAILED !!! -----------------
在烧录程序的时候出现了这个错误
提示FAILED
用的是430G2211的芯片
用430G2452的烧录就没问题,430G2452和430G2211的晶振配置是不是不一样啊,用到底层的也就是时钟的配置
DCO constants verification....... failed
程序比较简单,也就是这里用到的是底层,其他的都是标准的C语言了

具体该怎样解决啊

  • 换一颗IC试试?

  • 应该是DCO constant部分被擦除了。

  • 烧录的时候不校验DCO就可以烧录,但是不校验DCO对程序影响不知道大不大??

  • 我也出现相同的问题;

    如果真的芯片的DCO constant部分被擦除,那要怎么烧写;才能成功;

    我用的新的芯片,也是一样的问题;

  • 可以使用JTAG从其他板子读出了DCO constant,然后把读出的代码烧入到DCO constant被破坏的板

  • 我也把那个info擦除了,请问那个信息哪里?如何烧写进去?

  • 这种方法我也试过,还是不行,info的数据还是为空。info A区不能再写进数据了,怎么办?

  • infoA里会有一些芯片出厂校准数据,最好不要擦除。写不进数据可能是你Lock了,参考users guide FLASH章节,7.2.1 SegmentA

  • 这里有两个问题:

    第一:所有TI出厂的芯片都会对每个芯片进行DCO校准。每个芯片的校准值理论上不具有任何一致性。从别的芯片读出来的校准值是别的芯片的。即使烧到别的芯片里,能跑起来,也失去了DCO校准的意义。如果你只是在调试时遇到这种问题,那麻烦你换颗芯片。但是如果是量产时出现误擦除,为了保证DCO的频率精度,必须重新校准。

    第二:你是从G2452导入的程序运行正常,然后想要换个G2211芯片来运行吗?G2452出厂时TI提供完成的几组DCO频率的校准值,如下

    而低成本的G2211我们在出厂前只提供一组1M频率下的校准值,如下

    因此如果你在G2452的代码上有尝试去读取非1M频率的值时是正常的,但是在G2211上这个值就是FF。

    你可以自己检查下