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

RM48L952: F021 FLASH API,Fapi_doVerifyByByte()函数问题

Part Number:RM48L952

TI工程师:

    您好!在做bootloader时,我发现一个问题。我才用了F021 FLASH API库,F021_API_CortexR4_LE_V3D16.lib。

    我把代码放在FLASH的BANK0中,FLASH的BANK1作为备份区域。CMD文件中相应做了如下设计,使得F021的库Load在FLASH,RUN在RAM。

SECTIONS
{
.intvecs : {} palign=8 > VECTORS
.text : {} palign=8 > FLASH0
.const : {} palign=8 > FLASH0
.cinit : {} palign=8 > FLASH0
.pinit : {} palign=8 > FLASH0
databuff: {} > RAM
GROUP
{
.TI.ramfunc
{ -l F021_API_CortexR4_LE_V3D16.lib}

}LOAD > FLASH0,
RUN > RAM,
LOAD_START(_RamfuncsLoadStart),
LOAD_SIZE(_RamfuncsLoadSize),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),

….

我把通讯接收到的数据写入BANK1的备份区域时,都没有问题。

但是当把BANK1的内容写入BANK0时(此时屏蔽所有中断,程序运行在RAM中),发现执行到Fapi_doVerifyByByte()函数时芯片跑飞,然而在写BANK1时执行Fapi_doVerifyByByte()函数没有问题。

想请TI工程师提供一些思路,我测试发现写BANK0时,执行Fapi_doMarginReadByByte函数没问题,跑飞之前通过Fapi_doMarginReadByByte回读的写入内容是正确的。

Liang Xi:

可能和Fapi_doVerifyByByte函数无关,我再查查,感谢TI工程师。

,

Cherry Zhou:

好的,那您先查查看,如果还是没有新进展请联系我们,我会帮您把问题升级到美国论坛。

赞(0)
未经允许不得转载:TI中文支持网 » RM48L952: F021 FLASH API,Fapi_doVerifyByByte()函数问题
分享到: 更多 (0)