Contiki-NG中使用coffee文件系统

至于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   // 关闭文件
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 完全公平调度CFS CFS(Completely Fair Scheduler)试图按照对 CPU 时间的 “最大...
    batbattle阅读 3,522评论 0 5
  • 文件操作 (Linux文件操作)) [文件|目录] Linux文件操作:为了对文件和目录进程处理,你需要用到系统...
    JamesPeng阅读 1,512评论 1 5
  • 当数据量增大到超出了单个物理计算机存储容量时,有必要把它分开存储在多个不同的计算机中。那些管理存储在多个网络互连的...
    单行线的旋律阅读 1,970评论 0 7
  • Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。 内核、shell和文件系统一起形成了基本...
    请爱护小动物阅读 2,924评论 0 22
  • 中国古代有许多乞丐,穷人多。现当代的人群穷酸者居多,穷人这所以穷,贫在心里根上。穷病难以医治。穷在骨髓,到五脏六腑...
    Leon_6277阅读 176评论 0 2