发新帖我要提问
12
返回列表
打印

关于STM32的FLASH编程可不可以在指定位置写入数据?

[复制链接]
楼主: ltjish
手机看帖
扫描二维码
随时随地手机跟帖
21
firstzys| | 2014-10-27 16:38 | 只看该作者 回帖奖励 |倒序浏览
就是不知道怎样保证写入的数据,不被后来烧写进的程序覆盖

使用特权

评论回复
22
在路上!!!| | 2014-11-21 11:29 | 只看该作者
ltjish 发表于 2013-1-26 16:32
这个貌似也只能对页写,
在论坛上看到匠人发表的问题中说是能够这样做的,我这样做确没成功,
关于问题1: ...

在flash中写入一个字,那句执行成功了?我就是这样写的,没有成功,望大神指教

使用特权

评论回复
23
kseeker| | 2014-11-22 20:37 | 只看该作者
本帖最后由 kseeker 于 2014-11-22 20:46 编辑

如果只写一次,就把数组初始化为0xFFFF,之后取出地址正常写入就可以。如果失败了,肯定是程序哪里错了。比如说写保护,没有16位对齐什么的。
像5L那样初始化为非0xFFFF的值,还要改写只能整页擦除了。
至于修改代码区,除非你特意插入,否则代码区几乎不会出现0xFFFF,所以直接改写基本都会失败。
原理上讲,STM32并不知道要写的位置是否擦除过,它只是每次碰到写入命令时先读出来看看是不是全F,不是的话直接报错。所以如果你每次都写0xFFFF的话,
写多少次也不会报错(虽然没什么用就是了)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则