28#ifndef HAL_FLASH_INTERFACE_H
29#define HAL_FLASH_INTERFACE_H
124 return self->vmt->get_descriptor(ip);
145 return self->vmt->read(ip, offset, n, rp);
163 size_t n,
const uint8_t *pp) {
166 return self->vmt->program(ip, offset, n, pp);
182 return self->vmt->start_erase_all(ip);
200 return self->vmt->start_erase_sector(ip, sector);
219 return self->vmt->query_erase(ip, msec);
237 return self->vmt->verify_erase(ip, sector);
253 return self->vmt->acquire_exclusive(ip);
269 return self->vmt->release_exclusive(ip);
#define CC_FORCE_INLINE
Enforces a function inline.
static CC_FORCE_INLINE flash_error_t flsStartEraseSector(void *ip, flash_sector_t sector)
Starts an sector erase operation.
static CC_FORCE_INLINE flash_error_t flsVerifyErase(void *ip, flash_sector_t sector)
Returns the erase state of a sector.
static CC_FORCE_INLINE const flash_descriptor_t * flsGetDescriptor(void *ip)
Gets the flash descriptor structure.
static CC_FORCE_INLINE flash_error_t flsReleaseExclusive(void *ip)
Releases exclusive access to flash.
static CC_FORCE_INLINE flash_error_t flsStartEraseAll(void *ip)
Starts a whole-device erase operation.
static CC_FORCE_INLINE flash_error_t flsQueryErase(void *ip, unsigned *msec)
Queries the driver for erase operation progress.
static CC_FORCE_INLINE flash_error_t flsAcquireExclusive(void *ip)
Acquires exclusive access to flash.
static CC_FORCE_INLINE flash_error_t flsProgram(void *ip, flash_offset_t offset, size_t n, const uint8_t *pp)
Program operation.
static CC_FORCE_INLINE flash_error_t flsRead(void *ip, flash_offset_t offset, size_t n, uint8_t *rp)
Read operation.
uint32_t flash_sector_t
Type of a flash sector number.
uint32_t flash_offset_t
Type of a flash offset.
flash_error_t
Type of a flash error code.
Type of a flash device descriptor.
Interface flash_interface_i virtual methods table.
flash_error_t(* read)(void *ip, flash_offset_t offset, size_t n, uint8_t *rp)
flash_error_t(* start_erase_sector)(void *ip, flash_sector_t sector)
flash_error_t(* acquire_exclusive)(void *ip)
flash_error_t(* program)(void *ip, flash_offset_t offset, size_t n, const uint8_t *pp)
flash_error_t(* start_erase_all)(void *ip)
flash_error_t(* release_exclusive)(void *ip)
flash_error_t(* verify_erase)(void *ip, flash_sector_t sector)
flash_error_t(* query_erase)(void *ip, unsigned *msec)
Structure representing a flash interface interface.
const struct flash_interface_vmt * vmt
Virtual Methods Table.