打印
[技术问题解答]

关于KL25的片内Flash问题

[复制链接]
2272|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wxb18k|  楼主 | 2014-12-1 14:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
FSL_TICS_Robin| | 2014-12-1 15:46 | 只看该作者
楼主你好
在执行写入操作之前要确保写入区的存储单元全为0xFF也就是在上一次擦除之后没有被写入过。
如果你不执行擦除操作将写入区为0的单元改成1,那么只执行写入操作后的数据会出错。

使用特权

评论回复
板凳
wxb18k|  楼主 | 2014-12-1 16:00 | 只看该作者
FSL_TICS_Robin 发表于 2014-12-1 15:46
楼主你好
在执行写入操作之前要确保写入区的存储单元全为0xFF也就是在上一次擦除之后没有被写入过。
如果你 ...

我想问下是不是每次擦除的时候都是要擦除整个扇区(一个扇区1kb),能不能只擦除自己想要写入的地址,而扇区内的其他地址不擦除?

使用特权

评论回复
地板
FSL_TICS_Robin| | 2014-12-1 16:25 | 只看该作者
wxb18k 发表于 2014-12-1 16:00
我想问下是不是每次擦除的时候都是要擦除整个扇区(一个扇区1kb),能不能只擦除自己想要写入的地址,而 ...

擦除就是按扇区一下子擦除的,无法单独只擦除那一个地址。
你可以先把这个扇区不想被擦除的地址值读出来,然后擦除此扇区,最后将读出的其他地址的数据和要改变的地址数据一起写进去。

或者这个变量单独放一个扇区。

使用特权

评论回复
5
wxb18k|  楼主 | 2014-12-1 18:05 | 只看该作者
FSL_TICS_Robin 发表于 2014-12-1 16:25
擦除就是按扇区一下子擦除的,无法单独只擦除那一个地址。
你可以先把这个扇区不想被擦除的地址值读出来, ...

感觉这样很傻啊,为了要改变一点点数据而做了那么多,而且耗时,主要是我这项目对时间要求比较高

使用特权

评论回复
6
FSL_TICS_Robin| | 2014-12-2 08:31 | 只看该作者
wxb18k 发表于 2014-12-1 18:05
感觉这样很傻啊,为了要改变一点点数据而做了那么多,而且耗时,主要是我这项目对时间要求比较高 ...

KL25这款芯片没有EEPROM,所以你把数据存入Flash时就不能像使用EEPROM那么方便了。

使用特权

评论回复
7
FSL_FAE_LiKe| | 2014-12-2 09:47 | 只看该作者
wxb18k 发表于 2014-12-1 18:05
感觉这样很傻啊,为了要改变一点点数据而做了那么多,而且耗时,主要是我这项目对时间要求比较高 ...

楼主,这样设计的原因是因为Flash在烧录编程的时候只能由1变0,不能由0变1,要0变1只能大量擦除,这是Flash的物理特性决定的

使用特权

评论回复
8
危险人物| | 2014-12-2 11:30 | 只看该作者
恶意围观

使用特权

评论回复
9
FSL_TICS_Robin| | 2014-12-9 16:13 | 只看该作者
请问此问题是否已经解决?
如果尚未解决建议继续在帖子里与大家一起讨论。

使用特权

评论回复
10
lkl0305| | 2015-8-23 12:20 | 只看该作者
学习了

使用特权

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

本版积分规则

20

主题

140

帖子

1

粉丝