Part Number: TMS320F28377S
使用TMS320F28377S时利用F021_API_F2837xS_FPU32.lib进行FLASH操作时遇到以下问题:
1、目的:将8个16-bit的Buffer的数烧写入FLASH E中,以下是定义的变量及程序等:
Uint16 Buffer[8];(以下程序省略了FLASH的初始化等)
Uint32 *Buffer32 = (Uint32 *)Buffer;
Uint32 u32Index = Bzero_SectorE_start;
oReturnCheck = Fapi_issueProgrammingCommand((Uint32 *)u32Index,Buffer,8,0,0,Fapi_AutoEccGeneration);
while(Fapi_checkFsmForReady() == Fapi_Status_FsmBusy);
if(oReturnCheck != Fapi_Status_Success)
{
Example_Error(oReturnCheck);
}
oFlashStatus = Fapi_getFsmStatus();
oReturnCheck = Fapi_doVerify((Uint32 *)u32Index,4,Buffer32,&oFlashStatusWord);
if(oReturnCheck != Fapi_Status_Success)
{
Example_Error(oReturnCheck);//程序总是停在此处,不再往下执行。。。。。。。显示变量“state = Fapi_Error_Fail”
}
2、我看文档是说FLASH E的数和Buffer的数 does not match,但是我后面再重新烧写一版程序,专门读FLASH E的数,和我前一次程序烧写的Buffer的数一样,不确定Fapi_doVerify()为什么报错?
3、或者我上面程序里的什么设置不对吗?我看文档里有一句“ This function is not supported for F2837xS ECC memory space”,不知道跟这个有没有关系?
麻烦请教大家!