Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
|
FCB instance structure. More...
#include <fcb.h>
Data Fields | |
uint32_t | f_magic |
uint8_t | f_version |
uint8_t | f_sector_cnt |
uint8_t | f_scratch_cnt |
struct flash_sector * | f_sectors |
struct k_mutex | f_mtx |
struct flash_sector * | f_oldest |
struct fcb_entry | f_active |
uint16_t | f_active_id |
uint8_t | f_align |
const struct flash_area * | fap |
uint8_t | f_erase_value |
FCB instance structure.
The following data structure describes the FCB itself. First part should be filled in by the user before calling fcb_init. The second part is used by FCB for its internal bookkeeping.
struct fcb_entry fcb::f_active |
internal state
uint16_t fcb::f_active_id |
Flash location where the newest data is, internal state
uint8_t fcb::f_align |
writes to flash have to aligned to this, internal state
uint8_t fcb::f_erase_value |
The value flash takes when it is erased. This is read from flash parameters and initialized upon call to fcb_init.
uint32_t fcb::f_magic |
Magic value, should not be 0xFFFFFFFF. It is xored with inversion of f_erase_value and placed in the beginning of FCB flash sector. FCB uses this when determining whether sector contains valid data or not. Giving it value of 0xFFFFFFFF means leaving bytes of the filed in "erased" state.
struct k_mutex fcb::f_mtx |
Locking for accessing the FCB data, internal state
struct flash_sector* fcb::f_oldest |
Pointer to flash sector containing the oldest data, internal state
uint8_t fcb::f_scratch_cnt |
Number of sectors to keep empty. This can be used if you need to have scratch space for garbage collecting when FCB fills up.
uint8_t fcb::f_sector_cnt |
Number of elements in sector array
struct flash_sector* fcb::f_sectors |
Array of sectors, must be contiguous
uint8_t fcb::f_version |
Current version number of the data
const struct flash_area* fcb::fap |
Flash area used by the fcb instance, , internal state. This can be transfer to FCB user