【发布时间】: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)也欢迎对此提出任何建议。我之前已经多次开始这个搜索并且总是走到死胡同。