quasar_memory.h
The memory module contains all functionalities related to the flash memory.
- Copyright
Copyright (C) 2023 SPARK Microsystems International Inc. All rights reserved.
- License
This source code is proprietary and subject to the SPARK Microsystems Software EULA found in this package in file EULA.txt.
- Author
SPARK FW Team.
Typedefs
-
typedef enum quasar_memory_error quasar_memory_error_t
Memory error status.
Enums
-
enum quasar_memory_error
Memory error status.
Values:
-
enumerator QUASAR_MEMORY_ERROR_NO_ERROR = 0
No error was detected.
-
enumerator QUASAR_MEMORY_ERROR
Write flash error.
-
enumerator QUASAR_MEMORY_ERROR_BUSY
Flash is busy.
-
enumerator QUASAR_MEMORY_ERROR_TIMEOUT
Flash write/read timeout.
-
enumerator QUASAR_MEMORY_ERROR_WRITE
Flash write error.
-
enumerator QUASAR_MEMORY_ERROR_ARGUMENT
Flash function argument error.
-
enumerator QUASAR_MEMORY_ERROR_UNKNOWN
There is an unknown error occurring.
-
enumerator QUASAR_MEMORY_ERROR_NO_ERROR = 0
Functions
-
void quasar_memory_read(uint32_t flash_address, const void *read_buffer, uint32_t buffer_size, quasar_memory_error_t *err)
Read data from the flash memory and put it in a buffer.
- Parameters:
flash_address – [in] Flash memory address to write.
read_buffer – [in] The read data buffer.
buffer_size – [in] The size of the buffer to be read.
err – [in] Memory error status.
-
void quasar_memory_write(uint32_t flash_address, const void *write_buffer, uint32_t buffer_size, quasar_memory_error_t *err)
Write a buffer containing data to the flash memory.
Note
The block must be previously erased.
- Parameters:
flash_address – [in] Flash memory address to write.
write_buffer – [in] The write data buffer.
buffer_size – [in] The size of the buffer to be written.
err – [in] Memory error status.
-
void quasar_memory_erase(uint32_t flash_address, quasar_memory_error_t *err)
Erase a memory block of the MCU’s flash memory.
Note
The state of an erased block is undefined. A block must be erased before being programmed.
- Parameters:
flash_address – [in] Flash memory address to erase.
err – [in] Memory error status.