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.

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.