至于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 // 关闭文件