TI中文支持网
TI专业的中文技术问题搜集分享网站

把430 info flash段的调校信息擦出了,怎么恢复?

急啊,怎么恢复啊,盼复!

灰小子:

擦除了就没有了。只能自己校准了。

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的代码去掉就可以了,不影响调试的

赞(0)
未经允许不得转载:TI中文支持网 » 把430 info flash段的调校信息擦出了,怎么恢复?
分享到: 更多 (0)