18#if VSF_HAL_USE_FLASH == ENABLED
24#define vsf_real_flash_t VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_t)
25#define vsf_real_flash_capability VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_capability)
26#define vsf_real_flash_get_configuration VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_get_configuration)
27#define vsf_real_flash_erase_all VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_erase_all)
28#define vsf_real_flash_erase_one_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_erase_one_sector)
29#define vsf_real_flash_erase_multi_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_erase_multi_sector)
30#define vsf_real_flash_write_one_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_write_one_sector)
31#define vsf_real_flash_write_multi_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_write_multi_sector)
32#define vsf_real_flash_read_one_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_read_one_sector)
33#define vsf_real_flash_read_multi_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_read_multi_sector)
34#define vsf_real_flash_ctrl VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_ctrl)
36#ifndef VSF_FLASH_CFG_REIMPLEMENT_API_GET_CONFIGURATION
37# define VSF_FLASH_CFG_REIMPLEMENT_API_GET_CONFIGURATION DISABLED
40#ifndef VSF_FLASH_CFG_REIMPLEMENT_API_CAPABILITY
41# define VSF_FLASH_CFG_REIMPLEMENT_API_CAPABILITY DISABLED
44#ifndef VSF_FLASH_CFG_REIMPLEMENT_API_CTRL
45# define VSF_FLASH_CFG_REIMPLEMENT_API_CTRL DISABLED
48#ifdef VSF_FLASH_CFG_IMP_REMAP_PREFIX
49# undef VSF_FLASH_CFG_REIMPLEMENT_API_CAPABILITY
50# define VSF_FLASH_CFG_REIMPLEMENT_API_CAPABILITY ENABLED
51# undef VSF_FLASH_CFG_REIMPLEMENT_API_GET_CONFIGURATION
52# define VSF_FLASH_CFG_REIMPLEMENT_API_GET_CONFIGURATION ENABLED
53# undef VSF_FLASH_CFG_REIMPLEMENT_API_CTRL
54# define VSF_FLASH_CFG_REIMPLEMENT_API_CTRL ENABLED
57#if VSF_FLASH_CFG_REIMPLEMENT_API_CAPABILITY == DISABLED
58# ifndef VSF_FLASH_CFG_CAPABILITY_IRQ_MASK
59# define VSF_FLASH_CFG_CAPABILITY_IRQ_MASK VSF_FLASH_IRQ_ALL_BITS_MASK
61# ifndef VSF_FLASH_CFG_CAPABILITY_BASE_ADDRESS
62# define VSF_FLASH_CFG_CAPABILITY_BASE_ADDRESS 0
64# ifndef VSF_FLASH_CFG_CAPABILITY_MAX_SIZE
65# error "Please define flash size macro 'VSF_FLASH_CFG_CAPABILITY_MAX_SIZE' in source files"
67# ifndef VSF_FLASH_CFG_CAPABILITY_ERASE_SECTORE_SIZE
68# define VSF_FLASH_CFG_CAPABILITY_ERASE_SECTORE_SIZE 4096
70# ifndef VSF_FLASH_CFG_CAPABILITY_WRITE_SECTORE_SIZE
71# define VSF_FLASH_CFG_CAPABILITY_WRITE_SECTORE_SIZE 512
73# ifndef VSF_FLASH_CFG_CAPABILITY_NONE_SECTOR_ALIGNED_WRITE
74# define VSF_FLASH_CFG_CAPABILITY_NONE_SECTOR_ALIGNED_WRITE 0
76# ifndef VSF_FLASH_CFG_CAPABILITY_NONE_SECTOR_ALIGNED_READ
77# define VSF_FLASH_CFG_CAPABILITY_NONE_SECTOR_ALIGNED_READ 1
88#if VSF_FLASH_CFG_REIMPLEMENT_API_CAPABILITY == DISABLED
92 .irq_mask = VSF_FLASH_CFG_CAPABILITY_IRQ_MASK,
94 .max_size = VSF_FLASH_CFG_CAPABILITY_MAX_SIZE,
95 .erase_sector_size = VSF_FLASH_CFG_CAPABILITY_ERASE_SECTORE_SIZE,
96 .write_sector_size = VSF_FLASH_CFG_CAPABILITY_WRITE_SECTORE_SIZE,
97 .none_sector_aligned_write = VSF_FLASH_CFG_CAPABILITY_NONE_SECTOR_ALIGNED_WRITE,
98 .none_sector_aligned_read = VSF_FLASH_CFG_CAPABILITY_NONE_SECTOR_ALIGNED_READ,
103 return flash_capability;
107#if VSF_FLASH_CFG_REIMPLEMENT_API_GET_CONFIGURATION == DISABLED
120#if VSF_FLASH_CFG_REIMPLEMENT_API_CTRL == DISABLED
132#if VSF_FLASH_CFG_ERASE_ONE_SECTOR_TEMPLATE == ENABLED
146#if VSF_FLASH_CFG_ERASE_MULTI_SECTOR_TEMPLATE == ENABLED
147# error not supported yet
150#if VSF_FLASH_CFG_ERASE_ALL_TEMPLATE == ENABLED
151vsf_err_t vsf_real_flash_erase_all(vsf_real_flash_t *real_flash_ptr)
160 return vsf_real_flash_erase_multi_sector(real_flash_ptr, 0, flash_capability.
max_size);
164#if VSF_FLASH_CFG_WRITE_ONE_SECTOR_TEMPLATE == ENABLED
173 return vsf_real_flash_write_multi_sector(real_flash_ptr,
offset, buffer,
size);
177#if VSF_FLASH_CFG_WRITE_MULTI_SECTOR_TEMPLATE == ENABLED
178# error not supported yet
181#if VSF_FLASH_CFG_READ_ONE_SECTOR_TEMPLATE == ENABLED
190 return vsf_real_flash_read_multi_sector(real_flash_ptr,
offset, buffer,
size);
194#if VSF_FLASH_CFG_READ_MULTI_SECTOR_TEMPLATE == ENABLED
195# error not supported yet
200#undef VSF_FLASH_CFG_REIMPLEMENT_API_CAPABILITY
201#undef VSF_FLASH_CFG_REIMPLEMENT_API_GET_CONFIGURATION
202#undef VSF_FLASH_CFG_REIMPLEMENT_API_CTRL
203#undef VSF_FLASH_CFG_CAPABILITY_IRQ_MASK
204#undef VSF_FLASH_CFG_CAPABILITY_BASE_ADDRESS
205#undef VSF_FLASH_CFG_CAPABILITY_MAX_SIZE
206#undef VSF_FLASH_CFG_CAPABILITY_ERASE_SECTORE_SIZE
207#undef VSF_FLASH_CFG_CAPABILITY_WRITE_SECTORE_SIZE
208#undef VSF_FLASH_CFG_CAPABILITY_NONE_SECTOR_ALIGNED_WRITE
209#undef VSF_FLASH_CFG_CAPABILITY_NONE_SECTOR_ALIGNED_READ
211#undef vsf_real_flash_t
212#undef vsf_real_flash_erase_all
213#undef vsf_real_flash_erase_one_sector
214#undef vsf_real_flash_erase_multi_sector
215#undef vsf_real_flash_write_one_sector
216#undef vsf_real_flash_write_multi_sector
217#undef vsf_real_flash_read_one_sector
218#undef vsf_real_flash_read_multi_sector
219#undef vsf_real_flash_capability
220#undef vsf_real_flash_get_configuration
221#undef vsf_real_flash_ctrl
225#ifdef VSF_FLASH_CFG_IMP_REMAP_PREFIX
226# define vsf_imp_flash_t VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_t)
227# define vsf_imp_flash_init VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_init)
228# define vsf_imp_flash_fini VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_fini)
229# define vsf_imp_flash_enable VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_enable)
230# define vsf_imp_flash_disable VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_disable)
231# define vsf_imp_flash_capability VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_capability)
232# define vsf_imp_flash_status VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_status)
233# define vsf_imp_flash_irq_enable VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_irq_enable)
234# define vsf_imp_flash_irq_disable VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_irq_disable)
235# define vsf_imp_flash_erase_one_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_erase_one_sector)
236# define vsf_imp_flash_erase_multi_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_erase_multi_sector)
237# define vsf_imp_flash_erase VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_erase_multi_sector)
238# define vsf_imp_flash_erase_all VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_erase_all)
239# define vsf_imp_flash_write_one_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_write_one_sector)
240# define vsf_imp_flash_write_multi_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_write_multi_sector)
241# define vsf_imp_flash_write VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_write_multi_sector)
242# define vsf_imp_flash_read_one_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_read_one_sector)
243# define vsf_imp_flash_read_multi_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_read_multi_sector)
244# define vsf_imp_flash_read VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_read_multi_sector)
245# define vsf_imp_flash_get_configuration VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_get_configuration)
246# define vsf_imp_flash_ctrl VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_ctrl)
248# define vsf_remap_flash_t VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_t)
249# define vsf_remap_flash_init VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_init)
250# define vsf_remap_flash_fini VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_fini)
251# define vsf_remap_flash_enable VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_enable)
252# define vsf_remap_flash_disable VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_disable)
253# define vsf_remap_flash_capability VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_capability)
254# define vsf_remap_flash_status VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_status)
255# define vsf_remap_flash_irq_enable VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_irq_enable)
256# define vsf_remap_flash_irq_disable VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_irq_disable)
257# define vsf_remap_flash_erase_one_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_erase_one_sector)
258# define vsf_remap_flash_erase_multi_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_erase_multi_sector)
259# define vsf_remap_flash_erase VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_erase_multi_sector)
260# define vsf_remap_flash_erase_all VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_erase_all)
261# define vsf_remap_flash_write_one_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_write_one_sector)
262# define vsf_remap_flash_write_multi_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_write_multi_sector)
263# define vsf_remap_flash_write VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_write_multi_sector)
264# define vsf_remap_flash_read_one_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_read_one_sector)
265# define vsf_remap_flash_read_multi_sector VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_read_multi_sector)
266# define vsf_remap_flash_read VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_read_multi_sector)
267# define vsf_remap_flash_get_configuration VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_get_configuration)
268# define vsf_remap_flash_ctrl VSF_MCONNECT(VSF_FLASH_CFG_IMP_REMAP_PREFIX, _flash_ctrl)
270# define VSF_FLASH_CFG_IMP_REMAP_FUNCTIONS \
271 vsf_err_t vsf_imp_flash_init(vsf_imp_flash_t *flash_ptr, vsf_flash_cfg_t *cfg_ptr) \
273 VSF_HAL_ASSERT(flash_ptr != NULL); \
274 return vsf_remap_flash_init((vsf_remap_flash_t *)flash_ptr, cfg_ptr); \
276 void vsf_imp_flash_fini(vsf_imp_flash_t *flash_ptr) \
278 VSF_HAL_ASSERT(flash_ptr != NULL); \
279 vsf_remap_flash_fini((vsf_remap_flash_t *)flash_ptr); \
281 fsm_rt_t vsf_imp_flash_enable(vsf_imp_flash_t *flash_ptr) \
283 VSF_HAL_ASSERT(flash_ptr != NULL); \
284 return vsf_remap_flash_enable((vsf_remap_flash_t *)flash_ptr); \
286 fsm_rt_t vsf_imp_flash_disable(vsf_imp_flash_t *flash_ptr) \
288 VSF_HAL_ASSERT(flash_ptr != NULL); \
289 return vsf_remap_flash_disable((vsf_remap_flash_t *)flash_ptr); \
291 void vsf_imp_flash_irq_enable(vsf_imp_flash_t *flash_ptr, vsf_flash_irq_mask_t irq_mask) \
293 VSF_HAL_ASSERT(flash_ptr != NULL); \
294 vsf_remap_flash_irq_enable((vsf_remap_flash_t *)flash_ptr, irq_mask); \
296 void vsf_imp_flash_irq_disable(vsf_imp_flash_t *flash_ptr, vsf_flash_irq_mask_t irq_mask) \
298 VSF_HAL_ASSERT(flash_ptr != NULL); \
299 vsf_remap_flash_irq_disable((vsf_remap_flash_t *)flash_ptr, irq_mask); \
301 vsf_flash_status_t vsf_imp_flash_status(vsf_imp_flash_t *flash_ptr) \
303 VSF_HAL_ASSERT(flash_ptr != NULL); \
304 return vsf_remap_flash_status((vsf_remap_flash_t *)flash_ptr); \
306 vsf_flash_capability_t vsf_imp_flash_capability(vsf_imp_flash_t *flash_ptr) \
308 VSF_HAL_ASSERT(flash_ptr != NULL); \
309 return vsf_remap_flash_capability((vsf_remap_flash_t *)flash_ptr); \
311 vsf_err_t vsf_imp_flash_erase_one_sector(vsf_imp_flash_t *flash_ptr, uint_fast32_t offset) \
313 VSF_HAL_ASSERT(flash_ptr != NULL); \
314 return vsf_remap_flash_erase_one_sector((vsf_remap_flash_t *)flash_ptr, offset); \
316 vsf_err_t vsf_imp_flash_erase_multi_sector(vsf_imp_flash_t *flash_ptr, uint_fast32_t offset, uint_fast32_t size) \
318 VSF_HAL_ASSERT(flash_ptr != NULL); \
319 return vsf_remap_flash_erase_multi_sector((vsf_remap_flash_t *)flash_ptr, offset, size); \
321 vsf_err_t vsf_imp_flash_erase_all(vsf_imp_flash_t *flash_ptr) \
323 VSF_HAL_ASSERT(flash_ptr != NULL); \
324 return vsf_remap_flash_erase_all((vsf_remap_flash_t *)flash_ptr); \
326 vsf_err_t vsf_imp_flash_write_one_sector(vsf_imp_flash_t *flash_ptr, uint_fast32_t offset, uint8_t* buffer, uint_fast32_t size) \
328 VSF_HAL_ASSERT(flash_ptr != NULL); \
329 return vsf_remap_flash_write_one_sector((vsf_remap_flash_t *)flash_ptr, offset, buffer, size); \
331 vsf_err_t vsf_imp_flash_write_multi_sector(vsf_imp_flash_t *flash_ptr, uint_fast32_t offset, uint8_t* buffer, uint_fast32_t size) \
333 VSF_HAL_ASSERT(flash_ptr != NULL); \
334 return vsf_remap_flash_write_multi_sector((vsf_remap_flash_t *)flash_ptr, offset, buffer, size); \
336 vsf_err_t vsf_imp_flash_read_one_sector(vsf_imp_flash_t *flash_ptr, uint_fast32_t offset, uint8_t* buffer, uint_fast32_t size) \
338 VSF_HAL_ASSERT(flash_ptr != NULL); \
339 return vsf_remap_flash_read_one_sector((vsf_remap_flash_t *)flash_ptr, offset, buffer, size); \
341 vsf_err_t vsf_imp_flash_read_multi_sector(vsf_imp_flash_t *flash_ptr, uint_fast32_t offset, uint8_t* buffer, uint_fast32_t size) \
343 VSF_HAL_ASSERT(flash_ptr != NULL); \
344 return vsf_remap_flash_read_multi_sector((vsf_remap_flash_t *)flash_ptr, offset, buffer, size); \
347 vsf_err_t vsf_imp_flash_get_configuration(vsf_imp_flash_t *flash_ptr, vsf_flash_cfg_t *cfg_ptr) \
349 VSF_HAL_ASSERT(flash_ptr != NULL); \
350 return vsf_remap_flash_get_configuration((vsf_remap_flash_t *)flash_ptr, cfg_ptr); \
352 vsf_err_t vsf_imp_flash_ctrl(vsf_imp_flash_t *flash_ptr, vsf_flash_ctrl_t ctrl, void *param) \
354 VSF_HAL_ASSERT(flash_ptr != NULL); \
355 return vsf_remap_flash_ctrl((vsf_remap_flash_t *)flash_ptr, ctrl, param); \
361#define VSF_HAL_TEMPLATE_IMP_NAME _flash
362#define VSF_HAL_TEMPLATE_IMP_UPCASE_NAME _FLASH
364#if !defined(VSF_FLASH_CFG_IMP_PREFIX) && !defined(VSF_FLASH_CFG_IMP_DEVICE_PREFIX)
365# error "Please define VSF_FLASH_CFG_IMP_PREFIX in flash driver"
368#if !defined(VSF_FLASH_CFG_IMP_UPCASE_PREFIX) && !defined(VSF_FLASH_CFG_IMP_DEVICE_UPCASE_PREFIX)
369# error "Please define VSF_FLASH_CFG_IMP_UPCASE_PREFIX in flash driver"
372#ifndef VSF_FLASH_CFG_IMP_COUNT_MASK_PREFIX
373# define VSF_FLASH_CFG_IMP_COUNT_MASK_PREFIX VSF_FLASH_CFG_IMP_UPCASE_PREFIX
376#ifdef VSF_FLASH_CFG_IMP_REMAP_FUNCTIONS
377# define VSF_HAL_CFG_IMP_REMAP_FUNCTIONS VSF_FLASH_CFG_IMP_REMAP_FUNCTIONS
382#undef VSF_FLASH_CFG_IMP_PREFIX
383#undef VSF_FLASH_CFG_IMP_COUNT_MASK_PREFIX
384#undef VSF_FLASH_CFG_IMP_UPCASE_PREFIX
385#undef VSF_FLASH_CFG_IMP_DEVICE_PREFIX
386#undef VSF_FLASH_CFG_IMP_DEVICE_UPCASE_PREFIX
387#undef VSF_FLASH_CFG_IMP_LV0
388#undef VSF_FLASH_CFG_IMP_REMAP_FUNCTIONS
389#undef VSF_FLASH_CFG_IMP_HAS_OP
390#undef VSF_FLASH_CFG_IMP_EXTERN_OP
392#undef vsf_imp_flash_t
393#undef vsf_imp_flash_init
394#undef vsf_imp_flash_fini
395#undef vsf_imp_flash_enable
396#undef vsf_imp_flash_disable
397#undef vsf_imp_flash_capability
398#undef vsf_imp_flash_status
399#undef vsf_imp_flash_irq_enable
400#undef vsf_imp_flash_irq_disable
401#undef vsf_imp_flash_erase_one_sector
402#undef vsf_imp_flash_erase_multi_sector
403#undef vsf_imp_flash_erase
404#undef vsf_imp_flash_erase_all
405#undef vsf_imp_flash_write_one_sector
406#undef vsf_imp_flash_write_multi_sector
407#undef vsf_imp_flash_write
408#undef vsf_imp_flash_read_one_sector
409#undef vsf_imp_flash_read_multi_sector
410#undef vsf_imp_flash_read
411#undef vsf_imp_flash_get_configuration
412#undef vsf_imp_flash_ctrl
414#undef vsf_remap_flash_t
415#undef vsf_remap_flash_init
416#undef vsf_remap_flash_fini
417#undef vsf_remap_flash_enable
418#undef vsf_remap_flash_disable
419#undef vsf_remap_flash_capability
420#undef vsf_remap_flash_status
421#undef vsf_remap_flash_irq_enable
422#undef vsf_remap_flash_irq_disable
423#undef vsf_remap_flash_erase_one_sector
424#undef vsf_remap_flash_erase_multi_sector
425#undef vsf_remap_flash_erase
426#undef vsf_remap_flash_erase_all
427#undef vsf_remap_flash_write_one_sector
428#undef vsf_remap_flash_write_multi_sector
429#undef vsf_remap_flash_write
430#undef vsf_remap_flash_read_one_sector
431#undef vsf_remap_flash_read_multi_sector
432#undef vsf_remap_flash_read
433#undef vsf_remap_flash_get_configuration
434#undef vsf_remap_flash_ctrl
vsf_err_t
Definition __type.h:42
@ VSF_ERR_NOT_SUPPORT
function not supported
Definition __type.h:46
#define NULL
Definition lvgl.h:26
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_template_flash.h:277
vsf_flash_size_t max_size
Definition vsf_template_flash.h:284
uint8_t none_sector_aligned_read
Definition vsf_template_flash.h:290
vsf_flash_size_t write_sector_size
Definition vsf_template_flash.h:286
vsf_flash_size_t base_address
Definition vsf_template_flash.h:283
vsf_flash_size_t erase_sector_size
Definition vsf_template_flash.h:285
uint8_t none_sector_aligned_write
Definition vsf_template_flash.h:289
Definition vsf_template_flash.h:253
#define VSF_HAL_ASSERT(__CON)
all hal modules use this configuration file
Definition vsf_hal_cfg.h:36
uint64_t offset
Definition vsf_memfs.h:49
uint32_t size
Definition vsf_memfs.h:50
vsf_flash_ctrl_t
Predefined VSF Flash control commands that can be reimplemented in specific HAL drivers.
Definition vsf_template_flash.h:315
uint_fast32_t vsf_flash_size_t
Definition vsf_template_flash.h:234
#define VSF_ASSERT(...)
Definition vsf_usr_cfg.h:1