#ifndef _MEM_MIDD_CFG_H_ #define _MEM_MIDD_CFG_H_ #include "uds_vmem.h" /*Macro define for FBL update--FLU*/ #define FLU_FBL_ADDR_START_OnApp 0x00040000 #define MEM_FLU_FBL_LEN_OnApp 0x1C0000 /*FLU and FBL on App Length 1792KB*/ #define APP_ValiDFlag_StartAddr 0x001FE000 /*8KB APP flag sector start adddress*/ #define FBL_ValiDFlag_StartAddr 0x00026000 /*8KB FBL flag sector start adddress*/ /* flash start address */ #define FBL_ADDR_START 0x00010000 #define COD_APPL_ADDR_START 0x00034000 #define DRIVER_ADDR_START 0x20000000 /* flash length */ #define MEM_FBL_LEN 0x18000 #define MEM_COD_APP_LEN 0x1CC000 #define MEM_DRIVER_LEN 0x800 /* valid flag start address */ #define FBL_VALID_FLAG_ADDR 0x00027FFC #define APPL_VALID_FLAG_ADDR 0x00027FF4 #define ALL_VALID_FLAG_STARTADDR 0x00027FF0 /* fbl version address */ #define FBL_VERSION_ADDR 0x00027FF0 /* code flash valid flag */ #define FBL_VALID_FLAG 0x44AA44AA #define APPL_VALID_FLAG 0x55AA55AA #define MEM_CFG_TABLE \ {\ {\ MEM_FBL, /* 内存标签 */ \ FLU_FBL_ADDR_START_OnApp, /* 起始地址 */ \ MEM_FBL_LEN, /* 可操作长度 */ \ FLU_FBL_ADDR_START_OnApp+MEM_FBL_LEN-1, /* 结束地址 */ \ MEM_CodeflashErase, /* 擦调用 */ \ MEM_CodeflashRequest, /* 请求调用 */ \ NULL, /* 读调用 */ \ MEM_CodeflashProgram, /* 写调用 */ \ NULL, /* 校验调用 */ \ true, /* 写之前是否要擦除 */ \ false, /* 是否被擦除 */ \ },\ {\ MEM_CAL_APP, /* 内存标签 */ \ COD_APPL_ADDR_START, /* 起始地址 */ \ MEM_COD_APP_LEN, /* 可操作长度 */ \ COD_APPL_ADDR_START+MEM_COD_APP_LEN-1, /* 结束地址 */ \ MEM_CodeflashErase, /* 擦调用 */ \ MEM_CodeflashRequest, /* 请求调用 */ \ NULL, /* 读调用 */ \ MEM_CodeflashProgram, /* 写调用 */ \ NULL, /* 校验调用 */ \ true, /* 写之前是否要擦除 */ \ false, /* 是否被擦除 */ \ },\ {\ MEM_FLASHDRIVER, /* 内存标签 */ \ DRIVER_ADDR_START, /* 起始地址 */ \ MEM_DRIVER_LEN, /* 可操作长度 */ \ DRIVER_ADDR_START+MEM_DRIVER_LEN-1, /* 结束地址 */ \ NULL, /* 擦调用 */ \ NULL, /* 请求调用 */ \ NULL, /* 读调用 */ \ MEM_FlashDriverProgram, /* 写调用 */ \ NULL, /* 校验调用 */ \ false, /* 写之前是否要擦除 */ \ false, /* 是否被擦除 */ \ }\ } #endif