1.3.15.14 1.4.13.15 1.5.14.14 1.29.15.14 1.30.10.14 1.31.10.14 1.32.16.24 1.33.10.14 1.37.10.14 1.38.13.15 1.39.10.14 1.40.13.14 NVMCTRL_PageBufferWrite Function

C

bool NVMCTRL_PageBufferWrite( uint32_t *data, const uint32_t address)

Summary

Writes data to the internal buffer of NVM known as the page buffer

Description

Writes data to the internal buffer of NVM known as the page 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 NVMCTRL_PageBufferCommit() API.

Precondition

The NVMCTRL_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

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

//update data here

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

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

//Wait until the NVM controller is busy
while (NVMCTRL_IsBusy());

Remarks

This API is works only if the NVM is configured for manual write policy