急啊,怎么恢复啊,盼复!
灰小子:
擦除了就没有了。只能自己校准了。
Jacky Xu:
在TI提供的工具里面记得只有GANG有这个功能能重新校准烧写
如果只是调试时不小心擦除,也没太大关系,一样能跑
e路向前走:
回复 Jacky Xu:
是不是每个芯片的校准信息都不一样,从同款其他片子上复制过来写上行吗,或者说差的多不多,能不能用?
灰小子:
回复 e路向前走:
能用的。只是误差大小而已,一般应用没关系的。
Loops:
看你需要回复什么。是DCO的数据还是温度校准的数据吗? TI针对这两个都有校准的参考程序,你可以自己重新写。
Julian xiao:
回复 Jacky Xu:
擦除信息段的调校信息后不能在线调试,信息段的数据也看不到。不信你试试,我说的是i2041,不知道你试过没有?
重新条件怎么弄?上电就复位,不会搞。
Julian xiao:
回复 Loops:
擦除信息段的调校信息后不能在线调试,信息段的数据也看不到。不信你试试,我说的是i2041,不知道你试过没有? 重新调校怎么弄?上电就一直复位,程序都不能调试。
e路向前走:
回复 Julian xiao:
可以吧,我也是用的i2041,之前在调试flash存储的时候把Info段给擦了,确实出现了问题,就是总是在例程中的low_level_init.c文件里的TLV校验那通不过直接进入了LPM4,把这个文件从工程里移除还是能用的,或者直接隐掉进入LPM4的语句也行。
/* If check sum is not correct go to LPM4 */if (*((unsigned int *)TLV_START) != checksum){/* Enter LPM4 if checksum failed */__bis_SR_register(LPM4_bits);}/* Check sum matched, now set calibration values *//* Calibrate REF */REFCAL1 = *(TLV_address_for_parse + TLV_CAL_REFCAL1);REFCAL0 = *(TLV_address_for_parse + TLV_CAL_REFCAL0);/* Calibrate DCO */CSIRFCAL = *(TLV_address_for_parse + TLV_CAL_CSIRFCAL);CSIRTCAL = *(TLV_address_for_parse + TLV_CAL_CSIRTCAL);CSERFCAL = *(TLV_address_for_parse + TLV_CAL_CSERFCAL);CSERTCAL = *(TLV_address_for_parse + TLV_CAL_CSERTCAL);/* Calibrate SD24 */SD24TRIM = *(TLV_address_for_parse + TLV_CAL_SD24TRIM);/* Clear BORIFG */IFG1 &= ~(BORIFG);可能你说的不能调试是这个原因,我隐掉后是可以用的,只不过我就是用的内部的DCO/SD24等所以没有往下用,换了一个片子继续调的。换完后的第一件事就是把新片子的Info段拍照留下来了,当然,我也没在继续用Info段做存储,而是找了段主flash存的,安全一些 -_-||
Jacky Xu:
回复 Julian xiao:
把check info的代码去掉就可以了,不影响调试的
TI中文支持网



