FlashMemoryClass Class

FlashMemoryClass Class

Description
A class for Flash memory API.

Syntax
class FlashMemoryClass

Members

Public Constructors 
FlashMemoryClass::FlashMemoryClassConstructs a FlashMemoryClass object
Public Methods 
FlashMemoryClass::beginInitialize/Re-initialize the base address and size.
FlashMemoryClass::endFree the buf set by begin, deinit flash memory process.
FlashMemoryClass::readRead content (stream of word) from flash memory to buffer. Able to set address with specific offset.
FlashMemoryClass::writeWrite the content in the buffer back to the flash memory. Able to set address with specific offset.
FlashMemoryClass::readWordRead word (4 bytes) from flash memory based on the new base address with specific offset.
FlashMemoryClass::writeWordWrite word to flash memory based on the new base address with specific offset.
FlashMemoryClass::eraseSectorErase flash memory by sector (4K bytes).
FlashMemoryClass::eraseWordErase flash memory by word.
FlashMemoryClass::buf_sizeThe buf size regarded as work size.
FlashMemoryClass::bufThe buf to be operated.

FlashMemoryClass::FlashMemoryClass

Description
Constructs a FlashMemoryClass object.

Syntax
FlashMemoryClass(void);

Parameters
NA

Returns
NA

Example Code
Example: ReadWriteWord
https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/FlashMemory/examples/ReadWriteWord/ReadWriteWord.ino

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::begin

Description
Initialize/Re-initialize the base address and size. The default usable flash memory size is 0x3000.

Syntax
void begin(unsigned int flash_base_address, unsigned int flash_buf_size);

Parameters
flash_base_address: The starting location/position of the flash memory.
flash_buf_size: The desired buffer size.

Returns
NA

Example Code
Example: ReadWriteWord
https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/FlashMemory/examples/ReadWriteWord/ReadWriteWord.ino

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::end

Description
Free the buf set by begin, deinit flash memory process.

Syntax
void end(void);

Parameters
NA

Returns
NA

Example Code
NA

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::read

Description
Read from the flash memory and copy into a buffer. All modification of the contents will be done in the buffer before updating the flash memory. The default length of the buf is buf_size with 0x3000. Update buf and buf_size by function “begin()”. Indicate the starting address by “offset”.

Syntax
void read(unsigned int offset = 0);

Parameters
offset: offset to the base address

Returns
NA

Example Code
Example: ReadWriteStream
https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/FlashMemory/examples/ReadWriteStream/ReadWriteStream.ino

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::write

Description
Write buf back to flash memory. Indicate the starting address by “offset”. The default length of the buf is buf_size with 0x3000. Update buf and buf_size by function “begin()”.

Syntax
void write(unsigned int offset = 0);

Parameters
offset: offset to the base address.

Returns
NA

Example Code
Example: ReadWriteStream
https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/FlashMemory/examples/ReadWriteStream/ReadWriteStream.ino

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::readWord

Description
Read 4 bytes data (a word) from a flash address, based on the new base address with specific offset.

Syntax
unsigned int readWord(unsigned int offset);

Parameters
offset: offset to the base address.

Returns
This function returns the 4 bytes read data. The return type is “unsigned int”

Example Code
Example: ReadWriteWord
https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/FlashMemory/examples/ReadWriteWord/ReadWriteWord.ino

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::writeWord

Description
Write 4 bytes data (a word) to a flash address, based on the new base address with specific offset. Then read data from the address and compare with the original data. If there is difference. Buffer a flash sector from the new base address, then erase the sector from the flash. Replace the correct data back into buffer. Then rewrite the buffer into the flash.

Syntax
void writeWord(unsigned int offset, unsigned int data);

Parameters
offset: offset to the base address
data: The data to be written (4 bytes / a word)

Returns
NA

Example Code
Example: ReadWriteWord
https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/FlashMemory/examples/ReadWriteWord/ReadWriteWord.ino

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::eraseSector

Description
Erase flash memory by sector (4K bytes). The erase size should be the multiples of sector size.

Syntax
void eraseSector(unsigned int sector_offset);

Parameters
offset: offset to the base address.

Returns
NA

Example Code
NA

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::eraseWord

Description
Erase flash memory by word (4 bytes). The offset according to base address.

Syntax
void eraseWord(unsigned int offset);

Parameters
offset: offset to the base address.

Returns
NA

Example Code
NA

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::buf_size

Description
The buf size regarded as work size. Maximum size is MAX_FLASH_MEMORY_APP_SIZE that is 0x3000.

Syntax
unsigned int buf_size;

Parameters
NA

Returns
NA

Example Code
Example: ReadWriteWord
https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/FlashMemory/examples/ReadWriteWord/ReadWriteWord.ino

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

FlashMemoryClass::buf

Description
The buf to be operated. Modify buf won’t change the content of buf. It needs update to write back to flash memory.

Syntax
unsigned char *buf;

Parameters
NA

Returns
NA

Example Code
Example: ReadWriteWord
https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/FlashMemory/examples/ReadWriteWord/ReadWriteWord.ino

Notes and Warnings
“FlashMemory.h” must be included to use the class function.

Please confirm that QQ communication software is installed