11#define FURI_HAL_FLASH_OB_RAW_SIZE_BYTES 0x80
12#define FURI_HAL_FLASH_OB_SIZE_WORDS (FURI_HAL_FLASH_OB_RAW_SIZE_BYTES / sizeof(uint32_t))
13#define FURI_HAL_FLASH_OB_TOTAL_VALUES (FURI_HAL_FLASH_OB_SIZE_WORDS / 2)
16 uint8_t bytes[FURI_HAL_FLASH_OB_RAW_SIZE_BYTES];
20 uint32_t complementary_value;
23 } obs[FURI_HAL_FLASH_OB_TOTAL_VALUES];
28 "UpdateManifestOptionByteData size error");
32void furi_hal_flash_init(
void);
38size_t furi_hal_flash_get_base(
void);
44size_t furi_hal_flash_get_read_block_size(
void);
50size_t furi_hal_flash_get_write_block_size(
void);
56size_t furi_hal_flash_get_page_size(
void);
62size_t furi_hal_flash_get_cycles_count(
void);
68const void* furi_hal_flash_get_free_start_address(
void);
74const void* furi_hal_flash_get_free_end_address(
void);
80size_t furi_hal_flash_get_free_page_start_address(
void);
86size_t furi_hal_flash_get_free_page_count(
void);
94void furi_hal_flash_erase(uint8_t page);
103void furi_hal_flash_write_dword(
size_t address, uint64_t data);
113void furi_hal_flash_program_page(
const uint8_t page,
const uint8_t* data, uint16_t length);
119int16_t furi_hal_flash_get_page_number(
size_t address);
129bool furi_hal_flash_ob_set_word(
size_t word_idx,
const uint32_t value);
136void furi_hal_flash_ob_apply(
void);
Definition furi_hal_flash.h:15