Hello,
Why can't FAPI write floating point integer values to flash memory buffer via pointer defined as (float32_t *)?
Why does the C2000 types.h not have float16_t for Flash Bank memory writes? Since x49c can only write 16bit flash memory address it needs to have a float16_t data type?
Seemingly we need FAPI source code to fix the library as to allow floating point integers to be written into non ECC pu16DataBuffer. And there is a missing source file, believe it was Paragon.h so debug can step into the source library (F021_API_F28004x_EABI.lib). Note: I modified FAPI program to allow float32_t pointer to the input buffer. Yet (24.0) is not being transferred into the pu16DataBuffer, though it seemed to do it once via (float*) though never enables the FSM to write flash memory banks.
/* Programming Commands */
#if defined(_C28X)
extern Fapi_StatusType Fapi_issueProgrammingCommand(
uint32 *pu32StartAddress,
float32_t *pu16DataBuffer,
uint16 u16DataBufferSizeInWords,
uint16 *pu16EccBuffer,
uint16 u16EccBufferSizeInBytes,
Fapi_FlashProgrammingCommandsType oMode
);
>> FapiProgramDataError
>> Fapi_Error_AsyncIncorrectDataBufferLength


Edit: Anyone has same issue FAPI to claim DCSM Semaphore clears FSM registers: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1195860/launchxl-f280049c-all-flash-registers-are-0x0-after-_c_int00

