#include "gd32f10x.h" #include "fmc.h" /*-------------------------------------------------*/ /*函数名:擦除FLASH */ /*参 数:start:擦除起始扇区 num:擦几个扇区 */ /*返回值:无 */ /*-------------------------------------------------*/ void GD32_EraseFlash(uint16_t start, uint16_t num) { uint16_t i; //用于for循环 fmc_unlock(); //解锁 for(i=0;i= GD32FLASH_END) return 0; while (nread >= sizeof(uint32_t) && (((uint32_t)s) <= (GD32FLASH_END - 4))) { *(volatile uint32_t *)d = *(volatile uint32_t *)s; d += sizeof(uint32_t); s += sizeof(uint32_t); nread -= sizeof(uint32_t); } while (nread && (((uint32_t)s) < GD32FLASH_END)) { *d++ = *s++; nread--; } return Size - nread; }