#include "main.h" #define FLASH_SIZE (uint32_t)0x10000 #define PAGE_SIZE (0x100) //C8T6 Flash is 64KB ,each page is 256Byte #define MAX_FPAGE_NUM 64 #define FLASH_BASE_ADDR (uint32_t)0x08000000 //the start address of APP,keep the 0x8000000-0x8004FFF forIAP(20K) #define FLASH_IAP_CTRL_MAP (uint32_t)0x0801F800 //the control map start address, 63K #define MAX_APP_ADDR (uint32_t)0x0800FFFF //the max array of Flash address #define NVIC_VectTab_FLASH ((uint32_t)0x08000000) //parameters position uint32_t FLASH_Pages_Calculate(uint32_t Size); uint32_t FLASH_Prepare( uint32_t Address, uint32_t Len); void FLASH_Read( uint32_t Address, uint8_t *Readbuff, uint32_t Len); uint32_t FLASH_Write( uint32_t Address, const uint8_t* pData, uint32_t Len); void FLASH_Dis_WriteProt_Pages(void); unsigned short int STMFLASH_ReadHalfWord(unsigned int faddr);