//*********************************************************************************** // Ver 1.0 // 2021.11.19 1、新建文件。 //*********************************************************************************** #ifndef __FLASH__H #define __FLASH__H //APP程序注释下面行,bootloader程序取消下面行的注释 //#define FLASH_BOOT_LOADER //*********************************************************************************** #define FLASH_BOOT_SIZE 0x2000 //BOOTLOAD预留8K #ifdef STM32F042 #define FLASH_SIZE 0x8000 //32K FLASH #define FLASH_PAGE_SIZE 0x400 //1K #define FLASH_BASE_ADDR 0x08000000 //起始地址 #define FLASH_UID_ADDR 0x1ffff7ac //12byte #endif #ifdef STM32F072 #define FLASH_SIZE 0x10000 //64K FLASH #define FLASH_PAGE_SIZE 0x800 //2K #define FLASH_BASE_ADDR 0x08000000 //起始地址 #define FLASH_UID_ADDR 0x1ffff7ac //12byte #endif #ifdef STM32F030 #define FLASH_SIZE 0x10000 //64K FLASH #define FLASH_PAGE_SIZE 0x400 //1K #define FLASH_BASE_ADDR 0x08000000 //起始地址 #define FLASH_UID_ADDR 0x1ffff7ac //12byte #endif #ifdef BAT32G135 #define FLASH_SIZE 0x10000 //64K FLASH #define FLASH_PAGE_SIZE 512 #define FLASH_BASE_ADDR 0x00000000 //起始地址 #define FLASH_UID_ADDR 0x00100e74 //12byte #endif #define FLASH_INFO_SIZE (FLASH_PAGE_SIZE * 2) //数据空间预留2页, #define FLASH_INFO_ADDR (FLASH_BASE_ADDR + FLASH_SIZE-FLASH_INFO_SIZE) //数据空间地址 #define FLASH_APP_ADDR (FLASH_BASE_ADDR + FLASH_BOOT_SIZE) //程序地址, #define FLASH_APP_SIZE (FLASH_SIZE - FLASH_BOOT_SIZE - FLASH_INFO_SIZE * 2) //程序空间大小 #define FLASH_PROD_ADDR (FLASH_BASE_ADDR + FLASH_INFO_ADDR - FLASH_PAGE_SIZE) //*********************************************************************************** extern INT8U FLASH_Write(INT32U Addr, INT8U *ptr, INT16U Len); extern INT8U FLASH_Read(INT32U Addr, INT8U *ptr, INT16U Len); extern void FLASH_BootVector(void); #endif