Go to the documentation of this file.
27 #if (HAL_USE_EFL == TRUE) || defined(__DOXYGEN__)
40 #if (PLATFORM_EFL_USE_EFL1 == TRUE) || defined(__DOXYGEN__)
57 .address = (uint8_t *)0,
80 #if PLATFORM_EFL_USE_EFL1 == TRUE
95 if (eflp->state == FLASH_STOP) {
97 #if PLATFORM_EFL_USE_EFL1 == TRUE
116 if (eflp->state == FLASH_READY) {
120 #if PLATFORM_EFL_USE_EFL1 == TRUE
121 if (&
EFLD1 == eflp) {
140 return &efl_lld_descriptor;
159 size_t n, uint8_t *rp) {
163 osalDbgCheck((instance != NULL) && (rp != NULL) && (n > 0U));
165 osalDbgAssert((devp->state == FLASH_READY) || (devp->state == FLASH_ERASE),
169 if (devp->state == FLASH_ERASE) {
170 return FLASH_BUSY_ERASING;
174 devp->state = FLASH_READ;
179 devp->state = FLASH_READY;
203 size_t n,
const uint8_t *pp) {
207 osalDbgCheck((instance != NULL) && (pp != NULL) && (n > 0U));
210 osalDbgAssert((devp->state == FLASH_READY) || (devp->state == FLASH_ERASE),
214 if (devp->state == FLASH_ERASE) {
215 return FLASH_BUSY_ERASING;
219 devp->state = FLASH_PGM;
224 devp->state = FLASH_READY;
247 osalDbgAssert((devp->state == FLASH_READY) || (devp->state == FLASH_ERASE),
251 if (devp->state == FLASH_ERASE) {
252 return FLASH_BUSY_ERASING;
256 devp->state = FLASH_ERASE;
260 return FLASH_NO_ERROR;
281 osalDbgAssert((devp->state == FLASH_READY) || (devp->state == FLASH_ERASE),
285 if (devp->state == FLASH_ERASE) {
286 return FLASH_BUSY_ERASING;
290 devp->state = FLASH_ERASE;
294 return FLASH_NO_ERROR;
319 if (devp->state == FLASH_ERASE) {
347 osalDbgAssert((devp->state == FLASH_READY) || (devp->state == FLASH_ERASE),
351 if (devp->state == FLASH_ERASE) {
352 return FLASH_BUSY_ERASING;
358 devp->state = FLASH_READY;
flash_error_t efl_lld_query_erase(void *instance, uint32_t *msec)
Queries the driver for erase operation progress.
flash_error_t efl_lld_verify_erase(void *instance, flash_sector_t sector)
Returns the erase state of a sector.
Structure representing an embedded flash driver.
Type of a flash device descriptor.
void efl_lld_init(void)
Low level Embedded Flash driver initialization.
flash_error_t efl_lld_start_erase_sector(void *instance, flash_sector_t sector)
Starts an sector erase operation.
#define FLASH_ATTR_ECC_ZERO_LINE_CAPABLE
The device is able to overwrite zero to a line.
uint32_t attributes
Device_attributes.
void efl_lld_stop(EFlashDriver *eflp)
Deactivates the Embedded Flash peripheral.
EFlashDriver EFLD1
EFL1 driver identifier.
uint32_t flash_sector_t
Type of a flash sector number.
flash_error_t efl_lld_program(void *instance, flash_offset_t offset, size_t n, const uint8_t *pp)
Program operation.
flash_error_t efl_lld_read(void *instance, flash_offset_t offset, size_t n, uint8_t *rp)
Read operation.
#define osalDbgCheck(c)
Function parameters check.
void efl_lld_start(EFlashDriver *eflp)
Configures and activates the Embedded Flash peripheral.
flash_sector_t sectors_count
Number of sectors in the device.
flash_error_t
Type of a flash error code.
#define FLASH_ATTR_ERASED_IS_ONE
Defines one as the erased bit state.
#define osalDbgAssert(c, remark)
Condition assertion.
#define FLASH_ATTR_MEMORY_MAPPED
The memory is accessible in a memory mapped mode.
uint32_t flash_offset_t
Type of a flash offset.
const flash_descriptor_t * efl_lld_get_descriptor(void *instance)
Gets the flash descriptor structure.
#define FLASH_ATTR_ECC_CAPABLE
The memory is protected by an ECC mechanism.
void eflObjectInit(EFlashDriver *eflp)
Initializes a generic EFlashDriver object.
flash_error_t efl_lld_start_erase_all(void *instance)
Starts a whole-device erase operation.