__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR);//清除一些错误标志 sect = GetSectorFromAddress(StartAddress);//获取地址所在的扇区 FLASH_Erase_Sector(4,FLASH_VOLTAGE_RANGE_3);//擦除指定的闪存扇...
解锁Flash,通过HAL库的函数HAL_FLASH_Unlock实现。 如果是BANK1或者BANK2需要擦除,调用函数FLASH_MassErase,然后等待擦除完成,完成之后关闭BANK1和BANK2的擦除请求位BER1/BER2 如果是扇区擦除,调用函数FLASH_Erase_Sector,然后等待擦除完成,完成之后关闭扇区的擦除请求位SER。 70.2.5 内部Flash读保护 内部Flash支持...
解锁Flash,通过HAL库的函数HAL_FLASH_Unlock实现。 如果是BANK1或者BANK2需要擦除,调用函数FLASH_MassErase,然后等待擦除完成,完成之后关闭BANK1和BANK2的擦除请求位BER1/BER2 如果是扇区擦除,调用函数FLASH_Erase_Sector,然后等待擦除完成,完成之后关闭扇区的擦除请求位SER。 70.2.5 内部Flash读保护 内部Flash支持...
HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data) flash写入数据函数,需要注意的是第一个参数,决定写入数据的类型 八位,16位 32 位。 uint8_t erase_flash(uint32_t sector_start,uint32_t sector_end) { FLASH_EraseInitTypeDef EraseInitStruct; uint32_t ...
二、嵌入式Flash的读写函数(HAL库) 1.读写函数涉及到的结构体 /*stm32f4xx_hal_flash_ex.h*/ /** * @brief FLASH Erase structure definition */ typedef struct { uint32_t TypeErase; /*!< Mass erase or sector Erase. This parameter can be a value of @ref FLASHEx_Type_Erase */ ...
Flash的擦除流程如下:解锁Flash,通过HAL库的函数HAL_FLASH_Unlock实现。 如果是BANK1或者BANK2需要擦除,调用函数FLASH_MassErase,然后等待擦除完成,完成之后关闭BANK1和BANK2的擦除请求位BER1/BER2 如果是扇区擦除,调用函数FLASH_Erase_Sector,然后等待擦除完成,完成之后关闭扇区的擦除请求位SER。
Main Flash memory programming The main Flash memory can be programmed 16 bits at a time. Flash memory erase The Flash memory can be erased page by page or completely (Mass Erase). Flash memory addressesSize(byte)NameDescription 0x0800 0000 - 0x0800 03FF1 KbytePage 0Sector 0 ...
printf("检测到华邦串行flash W25Q128\r\n"); /* 擦除SPI的扇区以写入 */ SPI_FLASH_SectorErase(&hspi1, FLASH_SectorToErase); /* 将发送缓冲区的数据写到flash中 */ SPI_FLASH_BufferWrite(&hspi1, Tx_Buffer, FLASH_WriteAddress, BufferSize); ...
如果(HAL_FLASHEx_Erase(&pEraseInit, &SectorError) != HAL_OK){ /* 页面擦除时出错 */ ...
解锁的时候,它对FLASH_KEYR寄存器写入两个解锁参数,上锁的时候,对FLASH_CR寄存器的FLASH_CR_LOCK位置1。 50.4.2.设置操作位数及擦除扇区¶ 解锁后擦除扇区时可调用FLASH_EraseSector完成,见代码清单51_3。 代码清单 51‑3 擦除扇区 /*** @brief Perform a mass erase or erase the specified FLASH ...