17#ifndef MBED_FLASH_DATA_H
18#define MBED_FLASH_DATA_H
60#if defined(__CORTEX_M23) || defined(__CORTEX_M33)
78typedef int32_t (*flash_algo_jump_t)(
args_t *);
82typedef int (*CMSIS_Algo_Function_Init)(
unsigned long adr,
unsigned long clk,
unsigned long fnc);
83typedef int (*CMSIS_Algo_Function_UnInit)(
unsigned long fnc);
84typedef int (*CMSIS_Algo_Function_EraseSector)(
unsigned long adr);
85typedef int (*CMSIS_Algo_Function_EraseChip)(void);
86typedef int (*CMSIS_Algo_Function_ProgramPage)(
unsigned long adr,
unsigned long sz,
unsigned char *buf);
87typedef unsigned long (*CMSIS_Algo_Function_Verify)(
unsigned long adr,
unsigned long sz,
unsigned char *buf);
95void flash_set_target_config(
flash_t *obj);
Flash algo argument structure Contains all registers that should be preserved.
Target flash algorithm structure.
const uint32_t uninit
Uninit function address.
const uint32_t program_page
Program page function address.
uint32_t * algo_blob
Pointer to flash algo binary blob.
const uint32_t static_base
Static base address.
const uint32_t erase_sector
Erase sector function address.
const uint32_t init
Init function address.
Target flash configuration For targets not supporting TrustZone, its flash_set_target_config must def...
const flash_target_config_t * target_config
Normal/secure flash configuration structure for targets not supporting/supporting TrustZone.
Flash configuration structure.
const uint32_t sector_info_count
Number of sectors.
const uint32_t flash_size
Flash size.
const uint32_t flash_start
Start address of the flash <0, flash_size)
const uint32_t page_size
The minimum program page size that can be written.
const sector_info_t * sectors
List of sectors - sector can vary in sizes.
Sector information structure.
const uint32_t size
Sector size.
const uint32_t start
Sector start address.