5

我需要一个经过验证的 ARM cortex M3 或 4 压缩库。我将使用这个库来压缩来自外围设备的一些数据,然后再从 IC 运出。

任何指针将不胜感激。到目前为止,我已经看过 LZ4c,但要让它在 ARM 上运行并不容易。

4

4 回答 4

4

https://github.com/pfalcon/uzlib是高度优化的最小库(基于早期的 tinf 库),可与标准 DEFLATE/zlib/gzip 压缩配合使用。它可以在内存缓冲区和流模式下工作以进行解压缩(在后一种情况下,它可以处理无限大小的文件)。对于压缩,它实现了一种更简单的压缩算法,但仍将结果格式化为与 zlib 兼容的比特流,因此任何其他软件都可以对其进行解压缩。

该库在 Cortex-M0 上运行不会有任何问题(取决于使用的字典大小,对于小型 RAM 系统,应使用小于默认 32KB 的值)。

它在 MicroPython https://github.com/pfalcon/micropython中使用,其中有大约 40KB 的可用 RAM,用 Python 编写的应用程序可以通过 TLS 连接下载 tarball 并将它们解压缩到文件系统(“upip”包管理器)。

于 2018-02-05T18:53:33.290 回答
3

如果你有一个标准的 C 编译器,你有很多选择。 zliblz4libbzip2lzma

于 2012-07-20T14:35:07.467 回答
2

我花了一些时间来整合LZ4。这是一个不错的选择,使用 ARM Cortex M4 在 0.5 毫秒内压缩 20KB 数据。堆栈要求约为 16Kb(可配置为 4 个)。好一个。

于 2012-07-21T07:21:54.247 回答
2

我真的很喜欢BCL,它是一个重量轻、易于集成的库。我在 Cortex M3 和 M4 部件上使用过它。

于 2012-11-14T21:44:48.937 回答