1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试重新编程NVM(闪存库2),同时从STM32L071CB微控制器中的闪存库1运行代码。 正如AN4808和AN4767所述,“存储器接口能够并行读取两个存储体,或者在写入另一个存储体时读取一个存储体 ......”,但我遇到了一些问题:
我知道我错过了一些东西,但我找不到它是什么。也许有人有类似的问题?我开始认为微控制器有问题(勘误表指出了双库切换机制的一些问题,但在我的情况下它应该不是问题,因为我现在没有切换银行)。 从RAM内存执行时,我的功能正常工作,但我宁愿它从闪存库1运行。 下面的函数(1)负责写半页。代码(2)显示了我正在调用的方式(2)。 (1)
(2)
|
|
相关推荐
2个回答
|
|
确保调试器在编程时不读取闪存内容。不要执行编程序列,使用断点。
|
|
|
|
Read-While-Write在多编程操作的情况下有一些限制。请参阅RM0377§3.3.4写入/擦除NVM - 闪存程序存储器页面82中的程序半页:
当半页操作开始时,存储器接口等待16个地址/数据,中止(带有硬故障)所有不是读取的读取访问(参见Fetch和prefetch)。提取将停止半页操作。存储器内容保持不变,FWWERR错误在FLASH_SR寄存器中设置。 这意味着闪存中不允许获取操作,同时向存储器接口提供16个字(无论代码在存储区1中运行,还是在存储区2中执行半页编程)。一旦将16个字发送到存储器接口,您就可以从闪存恢复执行,即在闪存库内物理写入数据期间(假设您的代码在另一个存储区中运行)。 简而言之,您需要从SRAM执行存储器接口的16个字的输入,并确保中断不会导致闪存中的取指(屏蔽所有中断或重新定位中断处理程序并中断SRAM中的向量)。 注意:单编程操作不存在此限制。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 08:46 , Processed in 0.571275 second(s), Total 74, Slave 58 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号