1.8.19.11 SEFCx_PageBufferWrite Function

C

bool SEFCx_PageBufferWrite( uint32_t *data, const uint32_t address) // x - Instance of the SEFC peripheral

Summary

Writes data to the internal buffer of SEFCx known as the latch buffer

Description

Writes data to the internal buffer of SEFCx known as the latch buffer. Use this API if multiple updates are required to the same Flash page and to avoid erasing the page multiple times. When all the updates to the page are done, commit the data to the flash by calling the SEFCx_PageBufferCommit() API.

Precondition

The SEFCx_Initialize() function should have been called once.

Parameters

Param Description
data pointer to data buffer.
address Data Flash address to be modified.

Returns

true if the operation was successful, else returns false.

Example

uint32_t* data; //data - pointer to the buffer to be written to flash memory
uint32_t flashAddr; //flashAddr - variable containing flash address

//populate data and flashAddr

SEFC0_PageBufferWrite((uint32_t*)data, (uint32_t)flashAddr);

//update data here

SEFC0_PageBufferWrite((uint32_t*)data, (uint32_t)flashAddr);

//Commit the final data in the SEFC internal page buffer to the flash memory
SEFC0_PageBufferCommit((uint32_t)flashAddr);

//Wait until the SEFC controller is busy
while (SEFC0_IsBusy());

Remarks

None