在嵌入式系统/微控制器中运行 SQLITE 的最低硬件规范

Posted

技术标签:

【中文标题】在嵌入式系统/微控制器中运行 SQLITE 的最低硬件规范【英文标题】:Minimum hardware specification to run SQLITE in an Embedded System/Microcontroller 【发布时间】:2015-02-13 05:49:40 【问题描述】:

我想在嵌入式应用程序中运行 sqlite。 能够运行 sqlite 来维护数据库的最低要求是什么?我正在考虑为空间搜索实现 R*tree。如果我能得到一个解释来证明这些要求的合理性,那将会很有帮助。 具有大约 32kb ram 的皮质 M0/皮质 M3 就足够了吗?我需要多少闪存? 我正在考虑将数据库本身存储在 SD 卡上。

【问题讨论】:

我认为你应该做一些实验。 SQLite 使用动态内存分配。在 RAM 如此少的环境中,这往往是真正的痛苦。根据我将 Freetype 移植到类似 CPU 的经验 - 不要使用系统 malloc/free,因为您不知道发生了什么,请使用 hempeldesigngroup.com/embedded/stories/memorymanager 并为其提供不同大小的 uint8_t[] 缓冲区。还要检查该页面:sqlite.org/malloc.html Size Of The SQLite Library Sqlite on an embedded system的可能重复 【参考方案1】:

来自About SQLite

...SQLite 库的大小可以减少到 300KiB 以下。 SQLite 也可以在最小的堆栈空间(4KiB)中运行 堆 (100KiB)...

【讨论】:

以上是关于在嵌入式系统/微控制器中运行 SQLITE 的最低硬件规范的主要内容,如果未能解决你的问题,请参考以下文章

清华大学视频课件:ARM微控制器与嵌入式系统(2017春)

微控制器的虚拟化

微控制器的状态机与 RTOS

你怎么知道微控制器何时复位?

深入浅出处理器(上)

如何在微控制器中创建 UART Pass through