当有一个新文件数据要求保存时,首先会判断这个文件能不能在 Flash 中直接覆盖存储,如果能,那就直接覆盖存储,文件头完全不需要更新,这种情况比较简单。

如果新文件数据无法直接覆盖存储,那么首先判断文件数据区是否满了,如果上一个文件数据已经存在了文件数据区的最后位置,此时需要擦除数据区第一个 Sector 从头开始存储。如果没有到最后位置,那就按序往下存储。

新文件数据已经保存到数据区之后,此时需要处理文件头,记录这个新文件数据的位置。如果文件头区已经记录到当前 Sector 的最后位置,需要切换到下一个 Sector 开始存储,切换存储完新位置后,将之前 Sector 擦除。如果没有,那就按序在当前 Sector 继续记录。

3.3.4 deinit()

kflash_file_deinit() 函数也比较简单,就是将文件头区域 Header Sectors 全部擦除即可,文件数据区内容可以不用管,下次重新分配 Flash 时会做擦除。

关于存储技术就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查