12 #include "usbd_flash_if.h"
33 static uint8_t Flash_If_Init (
void);
34 static uint8_t Flash_If_DeInit (
void);
35 static uint8_t Flash_If_Erase (uint32_t Addr, uint32_t Page_Count);
36 static uint8_t Flash_If_Write (uint8_t Data[], uint32_t Addr, uint32_t Len);
37 static uint8_t* Flash_If_Read (uint32_t Addr, uint32_t Len);
38 static uint8_t Flash_If_CheckAddr (uint32_t Addr);
69 static uint8_t Flash_If_Init (
void)
82 static uint8_t Flash_If_DeInit (
void)
95 static uint8_t Flash_If_Erase (uint32_t Addr, uint32_t PageCount)
99 for(i = 0; i < PageCount; i ++)
116 static uint8_t Flash_If_Write (uint8_t Data[], uint32_t Addr, uint32_t Len)
124 for (idx = Len; idx < ((Len & 0xFFFC) + 4); idx++)
131 for (idx = 0; idx < Len; idx += 4)
133 FMC_ProgramWord(Addr, *(uint32_t *)(Data + idx));
146 static uint8_t* Flash_If_Read (uint32_t Addr, uint32_t Len)
148 return (uint8_t *)(Addr);
156 static uint8_t Flash_If_CheckAddr (uint32_t Addr)
158 if ((Addr >= FLASH_START_ADDR) && (Addr < FLASH_END_ADDR))