Contiki-NG中使用coffee文件系统

2020-04-01  本文已影响0人  irobust

至于coffee文件系统是一个什么样的东西,可以自行前往查看:https://github.com/contiki-ng/contiki-ng/wiki/Documentation:-Coffee

功能函数

Contiki-NG提供了coffee文件系统的基本接口函数,定义在os/storage/cfs/cfs.h文件中。

接口函数 功能
cfs_open 打开文件(新建/追加/读取)
cfs_close 关闭文件
cfs_read 读文件
cfs_write 写文件
cfs_seek 文件指针定位
cfs_remove 删除文件
cfs_opendir 打开目录
cfs_readdir 读取目录文件信息
cfs_closedir 关闭目录

踩的坑

通过接口函数对文件的操作和C语言里面的是一样一样的,很容易理解也很容易使用。但是文件创建后,如果想要更新文件里的内容好像存在问题(不是追加内容,是要把文件里的某块内容更新)。

本来的实现思路是,把文件指针移动到某个偏移位置,然后写入新的信息。但是这个操作一直未能成功,流程如下:

cfs_open    // 打开文件
cfs_seek    // 定位文件指针
cfs_write   // 信息写入文件
cfs_close   // 关闭文件

后来只好用绝招了,读取文件信息到变量(内存),并把需要更新的信息更新后,删除文件,再重新新建文件并写入信息,好在文件很小很小啊,流程如下:

cfs_open    // 打开文件
cfs_seek    // 定位文件指针到文件顶部
cfs_read    // 读取文件全部信息
cfs_close   // 关闭文件
cfs_remove  // 删除文件
cfs_open    // 打开文件
cfs_write   // 信息写入文件
cfs_close   // 关闭文件
上一篇下一篇

猜你喜欢

热点阅读