#ifndef FMC_H #define FMC_H #include "stdint.h" void GD32_EraseFlash(uint16_t start, uint16_t num); //函数声明 void GD32_WriteFlash(uint32_t saddr, uint32_t *wdata, uint32_t wnum); //函数声明 #include "gd32f10x.h" /// 移植修改区 /// /* FLASH大小:512K */ #define GD32FLASH_SIZE 0X00080000UL /* FLASH起始地址 */ #define GD32FLASH_BASE FLASH_BASE /* FLASH结束地址 */ #define GD32FLASH_END (GD32FLASH_BASE | GD32FLASH_SIZE) /* FLASH页大小:2K */ #define GD32FLASH_PAGE_SIZE (2048U) /* FLASH总页数 */ #define GD32FLASH_PAGE_NUM (GD32FLASH_SIZE / GD32FLASH_PAGE_SIZE) /// 导出函数声明 void FLASH_Init(void); uint32_t FLASH_Read(uint32_t Address, void *Buffer, uint32_t Size); uint32_t FLASH_Write(uint32_t Address, const uint16_t *Buffer, uint32_t NumToWrite); int FLASH_ErasePage(uint32_t PageAddress, uint32_t NbPages); uint32_t FLASH_WriteNotErase(uint32_t Address, const uint16_t *Buffer, uint32_t NumToWrite); #endif