本帖最后由 lixinle072 于 2018-6-19 11:41 编辑 以下是我的擦除用的函数,用的库是STM32_USB-FS-Device_Lib_V4.0.0,擦除地址0x0801FF00; 返回的错误代码是FLASH_ERROR_PROGRAM uint8_t flashErasePage(uint32_t addr) { uint8_t status = 1; if (addr < FLASH_BASE || (addr >= (FLASH_BASE + 1024 * FLASH_SIZE))) return 1; //非法地址 //确保是页地址 addr = addr & 0xFFFFFF00; FLASH_Unlock(); status = FLASH_ErasePage(addr); if (status == FLASH_COMPLETE) { status = 0; } FLASH_Lock(); return status; } |
STM32L151RDT6 SDIO读写SD卡 FIFO下溢错误,不知是什么原因
STM32L152 RTC唤醒STOP mode问题
STM32L152系列自带LCD驱动段码液晶屏,怎么驱动想要亮的段亮
STM32L151为何FLASH擦除后全是是0x00?
求助!!STM32L151中的RTC唤醒(wake up)中断问题
STM32L152普通I/O模拟SPI驱动W25Q16问题
STM32L152开发板原理图及说明文档
STM32L1系列,如何释放PA15为普通GPIO端口
STM32L151读取W25Q16的ID错误,请帮忙看看是什么原因
STM32L151 STOP模式唤醒程序跑哪儿了
你的首地址有点问题啊?一页是2K,你可以看到首地址末尾是000或者800,0x0801FF00似乎不是一个合规的首地址吧?要不你试试0x0801F000看看?然后 addr = addr & 0xFFFFFF00;也要相应地修改一下。
评分
查看全部评分
你好!我的MCU是STM32L151C8t6,这芯片的Flash是256一页的,当然我也去试过地址是0x0800F000去擦除,一样是失败。
FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_SIZERR | FLASH_FLAG_OPTVERR | FLASH_FLAG_OPTVERRUSR);
评分
查看全部评分