搜索

[STM32F1] STM32F103C8T6内部FLASHROM读写问题

[复制链接]
529|7
xxdcq|  楼主 | 2020-7-15 22:15 | 显示全部楼层 |阅读模式
本帖最后由 xxdcq 于 2020-7-15 22:17 编辑

一个程序里先写入不断电再读出是正常的,断电后再读出全是FF,难道内部FLASHROM不能掉电保存?相当于SRAM,还是写操作有什么诀窍?需要注意哪些东西?

使用特权

评论回复
walton1226| | 2020-7-16 10:47 | 显示全部楼层
代码问题,鉴定完毕

使用特权

评论回复
酱油、有点甜| | 2020-7-16 10:48 | 显示全部楼层
建议拿一个示例代码跑一下

使用特权

评论回复
xxdcq|  楼主 | 2020-7-16 11:11 | 显示全部楼层
酱油、有点甜 发表于 2020-7-16 10:48
建议拿一个示例代码跑一下

是用的示例程序,读写程序用的STM32库函数

使用特权

评论回复
酱油、有点甜| | 2020-7-16 13:13 | 显示全部楼层
xxdcq 发表于 2020-7-16 11:11
是用的示例程序,读写程序用的STM32库函数

那可能是硬件电路问题,电容的放电太快了,不足以支撑保存的时间。

使用特权

评论回复
xxdcq|  楼主 | 2020-7-16 21:46 | 显示全部楼层
本帖最后由 xxdcq 于 2020-7-16 21:47 编辑
酱油、有点甜 发表于 2020-7-16 13:13
那可能是硬件电路问题,电容的放电太快了,不足以支撑保存的时间。

这种说法不成立,如果是电容放电太快保存不进去那烧程序为什么能烧进去。都是烧写的同样的flashrom
已经测试了,我在3.3V上加了470uF的电容还是写不进去

使用特权

评论回复
zeshoufx| | 2020-7-16 22:12 | 显示全部楼层
擦出时间比较长,,,建议初始化就先擦除,,,掉电后直接写入,节约擦出时间

使用特权

评论回复
xxdcq|  楼主 | 2020-7-18 00:49 | 显示全部楼层
纠结了几天的问题总算找到原因了。
原来我用的两个程序,一个只是写FLASH,分别在0x806000和0x806002写入0x0001和0x0203(程序大小没有超过0x806000)。
另一个只是读FLASH的程序。
先烧写FLASH的程序运行,其实数据已经成功写进去了,然后再烧读FLASH的程序,发现烧程序首先是全片擦除,刚才写进去的数据实际上已经被全部擦除了,
运行读程序读出的肯定全是FF了。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 wolfe_yu 得到打赏 ¥170.00
  • 2 小叶三千 得到打赏 ¥160.00
  • 3 最美葫芦娃 得到打赏 ¥155.00
  • 4 呐咯密密 得到打赏 ¥135.00
  • 5 hk386 得到打赏 ¥100.00
  • 6 laocuo1142 得到打赏 ¥85.00
  • 7 木野臻 得到打赏 ¥60.00
  • 8 ezcui 得到打赏 ¥60.00
  • 9 wzx1994 得到打赏 ¥60.00
  • 10 年轻的国王 得到打赏 ¥60.00
在线客服 快速回复 返回顶部 返回列表