打印
[Kinetis]

读写FLASH(CW10.6+FRDM-KL02Z+MiniDock)

[复制链接]
969|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
侣行天下|  楼主 | 2015-12-23 19:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在MCU开发过程中,经常希望存储一些数据,能够掉电后还能保留,通常可以使用EEPROM来存储,当然,另一种低成本的做法是使用MCU的FLASH存储器来存储非易失的数据!
今天就给大家分享一下FRDM-KL02Z的FLASH数据的读写操作!

开发环境仍就是:CW10.6+PE+FRDM-KL02Z+MiniDock
完成测试的效果是:MCU上电后,首先读取0x4000的字节数据,然后把数据通过串口输出,之后将数据加1后再存入0x4000单元,由于FLASH有非易失特性,因此,每次复位或上电后,存储器的数据都会比上1次加1。

相关帖子

沙发
侣行天下|  楼主 | 2015-12-23 19:49 | 只看该作者
1、新建flash_test工程如图。

2、选择intflash和consoleio模块
101.png (27.93 KB, 下载次数: 0)
下载附件
2015-12-3 23:28 上传




使用特权

评论回复
板凳
侣行天下|  楼主 | 2015-12-23 19:50 | 只看该作者
如下图所示

3、intflash配置如图
103.png (33.65 KB, 下载次数: 0)
下载附件
2015-12-3 23:28 上传




使用特权

评论回复
地板
侣行天下|  楼主 | 2015-12-23 19:50 | 只看该作者
点开intflashldd1模块,可以看到flash的更详细配置

选择使能flash的操作函数,在这里使用
erasesector——擦除扇区函数
setbyteflash——写字节函数
getbyteflash——读字节函数


使用特权

评论回复
5
侣行天下|  楼主 | 2015-12-23 19:51 | 只看该作者
4、配置串口调试模块

注意要修改串口引脚,这里默认的和FRDM-KL02Z的不一样!

5、生成工程代码

使用特权

评论回复
6
侣行天下|  楼主 | 2015-12-23 19:52 | 只看该作者
6、在主函数中添加写字节地址定义

7、主函数中添加如下代码
首先输出提示信息
然后读0x4000地址的数据
串口输出数据
数据增1
擦除扇区
写字节数据到0x4000地址


使用特权

评论回复
7
侣行天下|  楼主 | 2015-12-23 19:53 | 只看该作者
8、编译运行程序,在串口输出如下信息,可以看出,每次MCU重新启动运行时,数据都会自动加1,符合我们的测试目的!

9、在调试界面也可以查看存储单元的值,在下图位置添加单元地址




使用特权

评论回复
8
侣行天下|  楼主 | 2015-12-23 19:54 | 只看该作者
输入地址0X4000

可以看到0x4000位置数据


使用特权

评论回复
9
侣行天下|  楼主 | 2015-12-23 19:55 | 只看该作者
注意,在这里选择地址时需要看看此地址是否有程序存放


以上便是flash的读写过程,欢迎大家交流!!!

使用特权

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

本版积分规则

30

主题

265

帖子

0

粉丝