#include "gd32f30x.h" #include "gd32_flash.h" /*-------------------------------------------------*/ /*������������FLASH */ /*�� ����start��������ʼ���� num������������ */ /*����ֵ���� */ /*-------------------------------------------------*/ void GD32_EraseFlash(uint16_t start, uint16_t num) { uint16_t i; //����forѭ�� fmc_unlock(); for(i=0;i<num;i++){ fmc_page_erase((0x08000000 + start * 1024) + (1024 * i)); } fmc_lock(); } /*---------------------------------------------------------------------*/ /*��������д��FLASH */ /*�� ����saddr��д���ַ wdata��д������ָ�� wnum��д����ٸ��ֽ� */ /*����ֵ���� */ /*---------------------------------------------------------------------*/ void GD32_WriteFlash(uint32_t saddr, uint32_t *wdata, uint32_t wnum) { fmc_unlock(); while(wnum){ fmc_word_program(saddr,*wdata); wnum-=4; saddr+=4; wdata++; } fmc_lock(); }