【问题标题】:What is a open source data store for bare metal Cortex M3 without OS什么是无操作系统的裸机 Cortex M3 的开源数据存储
【发布时间】:2012-07-21 05:43:28
【问题描述】:

我正在寻找关于用 C 语言编写的数据存储的建议,该存储可以在没有任何操作系统的情况下为 ARM Cortex M3 编译。

我希望它是:

  • 用C编写
  • 最好是免费和/或开源的
  • 可以用 GCC 编译
  • 在没有操作系统或文件系统支持的裸机处理器上工作

可以是 SQL,也可以不是。我想要与 JSON 兼容的 MongoDB 之类的东西(即可以通过 JSON 在纯 C 字符缓冲区中进行序列化。)

数据存储的需求是通过固定分配的内存管理 RAM 中的数据。没有“动态”分配(即没有 malloc)。

【问题讨论】:

  • 我目前正在审查 sqlite3,看看它是否符合我的上述要求。
  • 我也在审查 Berkeley DB。但是,为裸机 ARM Cortex M3 编译这个或 sqlite3 的链接会有所帮助。
  • sqlite 和 bdb 需要操作系统服务,例如内存分配文件、i/o 和许多其他东西,您将很难移植这些(或任何其他开源数据存储)以裸运行金属。
  • @nos,这就是我的发现。我想要的是一个简单的键值存储来管理内存块。如果我可以序列化整个数据库(或块)会很好,所以我可以将它移入和移出非易失性存储,但我希望它在 RAM 之外运行。我意识到有更简单的方法可以做到这一点,但我希望有一种通用的方法来存储最终用户将控制的某些数据的“记录”。
  • @nos,也许我正在寻找一个简单的内存散列? (非常像 JSON)也欢迎对此提出任何建议。我之前已经多次开始这个搜索并且总是走到死胡同。

标签: c datastore


【解决方案1】:

SQLite3 是一个非常好的竞争者,但如果你只是在寻找一个小而简单的键/值存储,你也应该查找gdbm

【讨论】:

  • 我能够在 Mac 上下载和配置,尽管为 ARM 交叉编译 gdbm 看起来有些挑战。我给了一个+1的建议。在我选择一个之前,我将等待其他答案。
猜你喜欢
  • 2014-02-11
  • 1970-01-01
  • 1970-01-01
  • 2018-05-17
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 2021-07-06
  • 2010-11-18
相关资源
最近更新 更多