8#ifndef BASE_MEMORY_DRIVER_H_
9#define BASE_MEMORY_DRIVER_H_
14#define ROUND_MEMORY_CELL_SIZE(_sizeof_, _base_) (_sizeof_%_base_ ? ((_sizeof_/_base_)*_base_+_base_) : (_sizeof_))
53typedef uint32_t (*
read32_t)(
void* memory_driver, uint32_t Address);
54typedef uint16_t (*
read16_t)(
void* memory_driver, uint32_t Address);
55typedef uint8_t (*
read8_t)(
void* memory_driver, uint32_t Address);
57typedef bool (*
write_bytes_t)(
void* memory_driver, uint32_t Address, uint8_t* Buf, uint32_t Size);
58typedef void* (*smart_write_t)(
void* memory_driver, uint32_t Address, uint8_t* Buf, uint32_t Size,
memory_driver_status_enum* status);
59typedef bool (*
compare_memory_val_t)(
void* memory_driver, uint32_t Address, uint8_t* val, uint32_t val_size);
61typedef void (*
clear_sector_t)(
void* memory_driver, uint32_t Address,uint32_t size_clear);
62typedef void (*
clear_segment_t)(
void* memory_driver, uint32_t Address, uint32_t Len);
68typedef bool (*
Write_FW_t)(
void* memory_driver, uint32_t Address, uint8_t* Buf, uint32_t Size,uint32_t General_Size,uint32_t FW_Size);
bool(* compare_memory_val_t)(void *memory_driver, uint32_t Address, uint8_t *val, uint32_t val_size)
Definition base_memory_driver.h:59
bool(* memory_region_is_free_t)(void *memory_driver, uint32_t Address, uint32_t Len)
Definition base_memory_driver.h:60
void *(* get_pointer_t)(void *memory_driver, uint32_t Address, int size, memory_driver_status_enum *status)
Definition base_memory_driver.h:64
void(* read_data_t)(void *memory_driver, uint32_t Address, uint8_t *readBuffer, uint32_t len, memory_driver_status_enum *status)
Definition base_memory_driver.h:65
uint32_t(* read32_t)(void *memory_driver, uint32_t Address)
Definition base_memory_driver.h:53
memory_driver_status_enum
Definition base_memory_driver.h:16
@ MDSE_OK
Definition base_memory_driver.h:17
@ MDSE_ERROR
Definition base_memory_driver.h:18
@ MDSE_OWERWRITING_NOT_REQUERED
Definition base_memory_driver.h:19
@ MDSE_FLASH_BUFFER_BUSY
Definition base_memory_driver.h:21
@ MDSE_DATA_CONTAINE_IN_RAM_BUFFER
Definition base_memory_driver.h:20
uint16_t(* read16_t)(void *memory_driver, uint32_t Address)
Definition base_memory_driver.h:54
void(* clear_sector_t)(void *memory_driver, uint32_t Address, uint32_t size_clear)
Definition base_memory_driver.h:61
memory_type_enum
Definition base_memory_driver.h:25
@ MTE_INTERNAL_FLASH
Definition base_memory_driver.h:26
@ MTE_EXTERNAL_FLASH
Definition base_memory_driver.h:29
@ MTE_EXTERNAL_EEPROM
Definition base_memory_driver.h:30
@ MTE_INTERNAL_EEPROM
Definition base_memory_driver.h:27
@ MTE_EXTERNAL_RAM
Definition base_memory_driver.h:31
@ MTE_INTERNAL_RAM
Definition base_memory_driver.h:28
bool(* write_bytes_t)(void *memory_driver, uint32_t Address, uint8_t *Buf, uint32_t Size)
Definition base_memory_driver.h:57
void(* finish_used_flash_t)(void *memory_driver)
Definition base_memory_driver.h:63
void *(* smart_write_t)(void *memory_driver, uint32_t Address, uint8_t *Buf, uint32_t Size, memory_driver_status_enum *status)
Definition base_memory_driver.h:58
void(* clear_flash_for_fw_t)(void *memory_driver, uint32_t Address, uint32_t size_clear)
Definition base_memory_driver.h:67
uint8_t(* read8_t)(void *memory_driver, uint32_t Address)
Definition base_memory_driver.h:55
bool(* Write_FW_t)(void *memory_driver, uint32_t Address, uint8_t *Buf, uint32_t Size, uint32_t General_Size, uint32_t FW_Size)
Definition base_memory_driver.h:68
void(* clear_segment_t)(void *memory_driver, uint32_t Address, uint32_t Len)
Definition base_memory_driver.h:62
Definition base_memory_driver.h:70
smart_write_t smart_write
Definition base_memory_driver.h:74
get_pointer_t get_pointer
Definition base_memory_driver.h:82
ram_buffer_info_struct RAM_Buffer
Definition base_memory_driver.h:92
clear_sector_t clear_sector
Definition base_memory_driver.h:78
Write_FW_t Write_FW
Definition base_memory_driver.h:90
finish_used_flash_t finish_used_flash
Definition base_memory_driver.h:80
clear_segment_t clear_segment
Definition base_memory_driver.h:79
memory_type_enum memory_type
Definition base_memory_driver.h:71
read32_t read32
Definition base_memory_driver.h:85
read_data_t readData
Definition base_memory_driver.h:83
clear_flash_for_fw_t clear_flash_for_fw
Definition base_memory_driver.h:89
compare_memory_val_t compare_memory_val
Definition base_memory_driver.h:75
read8_t read8
Definition base_memory_driver.h:87
read16_t read16
Definition base_memory_driver.h:86
write_bytes_t write_bytes
Definition base_memory_driver.h:73
memory_region_is_free_t memory_region_is_free
Definition base_memory_driver.h:76
Definition base_memory_driver.h:36
uint32_t ram_buffer_byte_count
Definition base_memory_driver.h:40
uint32_t ram_buffer_size
Definition base_memory_driver.h:39
uint8_t * flash_driver_ram_buf
Definition base_memory_driver.h:41
uint32_t StartSectorAddress
Definition base_memory_driver.h:38
bool flash_sector_used
Definition base_memory_driver.h:37