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.
oReturnCheck = Fapi_issueProgrammingCommand((uint32 *)u32Index, Buffer+(i>>1), 8, 0, 0, Fapi_AutoEccGeneration); // Wait until the Flash program operation is over while(Fapi_checkFsmForReady() == Fapi_Status_FsmBusy); if(oReturnCheck != Fapi_Status_Success) { // Check Flash API documentation for possible errors //Example_Error(oReturnCheck); return FLASH_STATUS_FAIL; } // Read FMSTAT register contents to know the status of FSM after // program command to see if there are any program operation related errors oFlashStatus = Fapi_getFsmStatus(); if(oFlashStatus != 0) { //Check FMSTAT and debug accordingly //FMSTAT_Fail(); return FLASH_STATUS_FAIL; } // Verify the programmed values. Check for any ECC errors. // The program command itself does a verify as it goes. // Hence program verify by CPU reads (Fapi_doVerify()) is optional. oReturnCheck = Fapi_doVerify((uint32 *)u32Index, 4, Buffer32+(i>>2), &oFlashStatusWord); if(oReturnCheck != Fapi_Status_Success) { // Check Flash API documentation for possible errors //Example_Error(oReturnCheck); return FLASH_STATUS_FAIL; } }
Fapi_getFsmStatus 返回 30状态码。这个状态码对应的是手册中如下内容:
请问引起这个问题的原因有哪些。
您好,
根据TMS320F280049 Flash API Reference Guide (Rev. A)指南的Table 7,如果您尝试将一个位从0编程为1,Fapi_getFsmStatus函数将返回0x30的值。您是否在编程之前确认了该闪存区域已被擦除?