|
ChibiOS/HAL 9.0.0
|
Generic flash driver class header. More...
Go to the source code of this file.
Data Structures | |
| struct | flash_sector_descriptor_t |
| Flash sector descriptor. More... | |
| struct | flash_descriptor_t |
| Type of a flash device descriptor. More... | |
| struct | BaseFlashVMT |
BaseFlash virtual methods table. More... | |
| struct | BaseFlash |
| Base flash class. More... | |
Macros | |
| #define | _base_flash_methods_alone |
BaseFlash specific methods. | |
| #define | _base_flash_methods |
BaseFlash specific methods with inherited ones. | |
| #define | _base_flash_data |
BaseFlash specific data. | |
Flash attributes | |
| #define | FLASH_ATTR_ERASED_IS_ONE 0x00000001U |
| Defines one as the erased bit state. | |
| #define | FLASH_ATTR_MEMORY_MAPPED 0x00000002U |
| The memory is accessible in a memory mapped mode. | |
| #define | FLASH_ATTR_REWRITABLE 0x00000004U |
| Programmed pages can be programmed again. | |
| #define | FLASH_ATTR_ECC_CAPABLE 0x00000008U |
| The memory is protected by an ECC mechanism. | |
| #define | FLASH_ATTR_ECC_ZERO_LINE_CAPABLE 0x00000010U |
| The device is able to overwrite zero to a line. | |
| #define | FLASH_ATTR_SUSPEND_ERASE_CAPABLE 0x00000020U |
| The device is able to suspend erase operations. | |
Macro Functions (BaseFlash) | |
| #define | getBaseFlash(ip) |
| Instance getter. | |
| #define | flashGetDescriptor(ip) |
| Gets the flash descriptor structure. | |
| #define | flashRead(ip, offset, n, rp) |
| Read operation. | |
| #define | flashProgram(ip, offset, n, pp) |
| Program operation. | |
| #define | flashStartEraseAll(ip) |
| Starts a whole-device erase operation. | |
| #define | flashStartEraseSector(ip, sector) |
| Starts an sector erase operation. | |
| #define | flashQueryErase(ip, msec) |
| Queries the driver for erase operation progress. | |
| #define | flashVerifyErase(ip, sector) |
| Returns the erase state of a sector. | |
| #define | flashAcquireExclusive(ip) |
| Acquires exclusive access to flash. | |
| #define | flashReleaseExclusive(ip) |
| Releases exclusive access to flash. | |
Typedefs | |
| typedef uint32_t | flash_offset_t |
| Type of a flash offset. | |
| typedef uint32_t | flash_sector_t |
| Type of a flash sector number. | |
Enumerations | |
| enum | flash_state_t { FLASH_UNINIT = 0 , FLASH_STOP = 1 , FLASH_READY = 2 , FLASH_READ = 3 , FLASH_PGM = 4 , FLASH_ERASE = 5 } |
| Driver state machine possible states. More... | |
| enum | flash_error_t { FLASH_NO_ERROR = 0 , FLASH_BUSY_ERASING = 1 , FLASH_ERROR_READ = 2 , FLASH_ERROR_PROGRAM = 3 , FLASH_ERROR_ERASE = 4 , FLASH_ERROR_VERIFY = 5 , FLASH_ERROR_HW_FAILURE = 6 , FLASH_ERROR_UNIMPLEMENTED = 7 } |
| Type of a flash error code. More... | |
Functions | |
| flash_error_t | flashWaitErase (BaseFlash *devp) |
| Waits until the current erase operation is finished. | |
| flash_offset_t | flashGetSectorOffset (BaseFlash *devp, flash_sector_t sector) |
| Returns the offset of a sector. | |
| uint32_t | flashGetSectorSize (BaseFlash *devp, flash_sector_t sector) |
| Returns the size of a sector. | |
| flash_sector_t | flashGetOffsetSector (BaseFlash *devp, flash_offset_t offset) |
| Returns the sector of an offset. | |
| void * | flashGetOffsetAddress (BaseFlash *devp, flash_offset_t offset) |
| Get absolute address from offset. | |
| flash_offset_t | flashGetAddressOffset (BaseFlash *devp, void *addr) |
| Get offset from absolute address. | |
Generic flash driver class header.
Definition in file hal_flash.h.