gpt4 book ai didi

删除后无法写入闪存

转载 作者:太空狗 更新时间:2023-10-29 17:20:33 27 4
gpt4 key购买 nike

所以我无法在删除后直接写入内部闪存。如果在写操作之前没有删除操作,那么我可以。关于原因有什么想法吗?

编程函数返回“写入成功”值,但查看内存时,没有写入任何数据。这是代码:

uint32_t pageAddress = 0x08008000;
uint16_t buffer = 0xAAAA;

HAL_FLASH_Unlock();
FLASH_PageErase(pageAddress);
HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, pageAddress, buffer);
HAL_FLASH_Lock();

我试过在删除和编程之间锁定内存,在这些操作之间创建延迟,但没有帮助。

最佳答案

问题是调用 FLASH_PageErase() 时设置的 FLASH->CR 寄存器中的 PER 位在调用结束时没有被清除。在闪存仍未锁定时清零此位允许之后在闪存上运行其他操作。

STM 文档对此无话可说。

关于删除后无法写入闪存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28498191/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com