首页 >> 知识 >> stm32中flash的写入与读取

stm32中flash的写入与读取

stm32中flash应用的常见函数: 1.擦除函数: FLASH_Status FLASH_ErasePage(u32 Page_Address)只要()里面的数是flash第xx页中对应的任何一个地址!就是擦除xx页全部内容。

2.flash写入函数: STMFLASH_Write(uint32_t WriteAddr,uint32_t *pBuffer,uint32_t NumToWrite) 入参: WriteAddr:要写入flash中的首地址,stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同,因此从理论上来说该地址可以从0x08000000进行写入,但实际要考虑代码所占空间大小,所以该地址要错过代码段的地址,以防擦除时将代码也擦除了。

pBuffer:该参数为要写入flash中的数据的地址。

NumToWrite:该参数为要写入的数据的长度。

源码展示:

int STMFLASH_Write(uint32_t WriteAddr,uint32_t *pBuffer,uint32_t NumToWrite){ FLASH_EraseInitTypeDef FlashEraseInit; HAL_StatusTypeDef FlashStatus=HAL_OK; uint32_t SectorError=0; uint32_t addrx=0; uint32_t endaddr=0; int result = 0; if(WriteAddr。

网站地图