Giter VIP home page Giter VIP logo

tfdb's Introduction

Hi, You are my NO. Visitor Count visitor, Welcome!

I'm an Embedded Software Engineer

  • Focusing on OpenSource Software
  • Using ST & ESP & Nordic & TI & WCH

I'm Learning

  • BLE & BLE MESH
  • 6LOWPAN

tfdb's People

Contributors

smartmx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tfdb's Issues

关于块管理的一些问题

您好!

我在找单片机KV资源块管理的过程中,看到您开源的库。在看README及部分源码的时候,有一些问题:

  1. 在tfdb_index_t中的flash_addr应该最好填入物理块的起始地址,flash_size应该最好要填入物理块的大小吧(块Block指被擦除的最小单位),否则的话如果第二次修改数据将可能导致把其他数据清除掉,是吗?
  2. 如果这样的话假如一个单片机有6个模块,用原生的tfdb_set来操作时是不是必须要手动管理数据,保证数据在下次修改过程中不要断电丢失?
  3. 因此您提供了第二类API(dual API),您讲到tfdb dual会调用tfdb_set和tfdb_get,并且在数据前部添加两个字节的seq,所以在tfdb dual中,最长支持的存储变量长度为253字节。这是不是指dual API维护两个数据块(两个数据块完成数据相互更新),但是一般Flash数据块都要大于256字节的,您这里最长变量支持253代表一个块只能用256字节,那就至少有一半空间没有用到(我相信应该不是这么理解的)。那么意义到底是什么,维护两个数据块的原因到底是什么?

bug

如果写完以后再读出来校验不成功,那么会在下个位置写;读的时候如果校验不成功,会往上一个位置读
如果写的时候没有把数据写进去,还是0xFF,那么读取到的数据将不是最新的

建议 数据分区,提供配置表

1.写入和读入是以扇区为单位,正常存储是按照需要存储字节为单位,所以数据分区,最好提供配置生成工具

2.最好从存储区映射内容到内存RAM区,读写对RAM区操作(加快读写),后台写入存储区

3.如1点所述,最好提供自动生成工具进行分区存储数据

一个陌生人留言

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.