一个简单的日志型文件系统(代码已删)

2019-07-21 08:58发布

本帖最后由 jackielau 于 2018-10-17 16:18 编辑

最近在用stm32做一个项目,但是mcu内部没有EEPROM,一些程序用的参数不好保存,但是板子上有一个25X16,可以用来存参数(当然mcu的Flash也可以保存,但是不好用,为什么???下面说),于是我查着了一些日志型文件系统的资料,写了一个小型变量用的文件系统,空间利用效率比较低(最高50%),但是操作还是很方便的。
文件使用有注释就可以了,移植只需要完善三个函数FlashReadByte()、FlashWriteByte()、FlashEraseArea()分别提供字节读、字节写和区域擦除

鉴于有人觉得我在扯淡,算了,不公开了,有需要的留言或者私信





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
jackielau
1楼-- · 2019-07-21 12:40
本帖最后由 jackielau 于 2018-10-17 16:17 编辑



另外:为什么不用stm32的内部flash呢?它只能写入一次。例如:擦写后某处写入0x0F,25X16还可以改为0x00,但是stm32的内部flash不可以。所以这个文件系统不能用于stm32的内部flash(我走了弯路,才发现的啊!!
jermy_z
2楼-- · 2019-07-21 12:44
jackielau 发表于 2018-10-17 15:58
希望原子老大给个酷!!

另外:为什么不用stm32的内部flash呢?它只能写入一次。例如:擦写后某处写入0x ...

扯淡吧,你把这块erase掉,不就可以继续写了
jackielau
3楼-- · 2019-07-21 12:58
 精彩回答 2  元偷偷看……
jermy_z
4楼-- · 2019-07-21 14:16
jackielau 发表于 2018-10-17 16:12
为什么要加个文件系统,一是为了存储方便,二是减少flash的擦写次数,提高寿命。每写一个字节就要擦除一 ...

牛逼,凡是flash,非0xff前,都要擦除,又不是eeprom,直接写
jermy_z
5楼-- · 2019-07-21 20:09
jackielau 发表于 2018-10-17 16:12
为什么要加个文件系统,一是为了存储方便,二是减少flash的擦写次数,提高寿命。每写一个字节就要擦除一 ...

当然,可能25X16很牛逼,不需要擦,没用过X16,不作更多评论
jackielau
6楼-- · 2019-07-21 23:02
jermy_z 发表于 2018-10-17 16:18
牛逼,凡是flash,非0xff前,都要擦除,又不是eeprom,直接写

对25X16,如果某处数据是0x7F,还可以再次写入0x3F或者1F,而不需要擦除

你说的对,道不同,不相与为谋

一周热门 更多>