quasar_memory.h
The memory module contains all functionalities related to the flash memory.
- Copyright
Copyright (C) 2026 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.
Defines
-
QUASAR_MEMORY_COUNTER (__COUNTER__ - QUASAR_MEMORY_COUNTER_BASE)
Create a local counter macro.
-
QUASAR_MEMORY_GENERATE_ERR_CODE (-(QUASAR_MEMORY_COUNTER + 1))
Automatically increase error count each time invoked. Starts at -(0 + 1) = -1.
Typedefs
-
typedef enum quasar_memory_error quasar_memory_error_t
Memory error status.
Enums
-
enum quasar_memory_error
Memory error status.
Values:
-
enumerator QUASAR_MEM_ERR_NONE = 0
No error was detected.
-
enumerator QUASAR_MEM_ERR = QUASAR_MEMORY_GENERATE_ERR_CODE
Write flash error.
-
enumerator QUASAR_MEM_ERR_BUSY = QUASAR_MEMORY_GENERATE_ERR_CODE
Flash is busy.
-
enumerator QUASAR_MEM_ERR_TIMEOUT = QUASAR_MEMORY_GENERATE_ERR_CODE
Flash write/read timeout.
-
enumerator QUASAR_MEM_ERR_ARGUMENT = QUASAR_MEMORY_GENERATE_ERR_CODE
Flash function argument error.
-
enumerator QUASAR_MEM_ERR_UNKNOWN = QUASAR_MEMORY_GENERATE_ERR_CODE
There is an unknown error occurring.
-
enumerator QUASAR_MEM_ERR_NONE = 0
Functions
-
quasar_memory_error_t quasar_memory_read(uint32_t flash_address, const void *read_buffer, uint32_t buffer_size)
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.
- Returns:
The quasar error code.
-
quasar_memory_error_t quasar_memory_write(uint32_t flash_address, const void *write_buffer, uint32_t buffer_size)
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.
- Returns:
The quasar error code.
-
quasar_memory_error_t quasar_memory_erase(uint32_t address)
Erase memory blocks of the MCU’s flash memory.
Note
The state of an erased block is undefined. A block must be erased before being programmed.
- Parameters:
address – [in] The address of the flash memory.
- Returns:
The quasar error code.
-
quasar_memory_error_t quasar_memory_invalidate_cache(void)
Invalidate the cache (syncs the cache).
- Returns:
The quasar error code.