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.

CCS/TMS570LC4357: Fapi_issueProgrammingCommand () can't use the "Fapi_DataOnly" mode

Part Number: TMS570LC4357

Tool/software: Code Composer Studio

hello 

I am using the F021 to implemet a flash driver.

it need to call the Fapi_issueProgrammingCommand () function.

if I use the Fapi_AutoEccGeneration mode, it can write data into the flash 8 bytes every time. if my data size is small than 8, it also write 8 bytes into the flash.

if I write data 0x11223344 into the flash address 0x003e0000, it can success into it. then continue write data 0x55667788 into the 0x003e0004, it will failed to write into it.

  • Hello,

    if Fapi_AutoGeneration option is used, the function will program the supplied data portion in Flash along with automatically generated ECC. ECC is calculated on 64-bit aligned addresses up to the data width of the bank. Data not supplied is treated as 0xFF. This means that the 0x00340004 has been programmed. 

  • hello 

    I understand it.

    if you have a good way for implement the following function:

    for example:

    1. I need to write 44 bytes data into the flash first, actuall, it write into 44bytes right data and 4 bytes 0xff; (flash address 0x003E0000~0x003E002C is right data, 0x003e002D~0x003e0030 is the 0xff)

    2. Then I need to write 4 bytes into flash(the address is : 0x003e002D~0x003e0030)

    if you have a way to implement it?

    I try to read 44bytes data from the flash and saved it into a buffer, write the 4 bytes data into the buffer, and write the 48 bytes data into the flash.

    but I think it too slowly.

    if you have a better way?

  • Hello,

    Can you combine the 44-bytes and 4-bytes in your first write? 

    You can try this way:

    1. program 44-bytes data using Fapi_DataOnly 

    2. program 4-bytes data using Fapi_DataOnly 

    3. program ECC for 48 bytes data using Fapi_EccOnly