ARM Cortex M3/4 的压缩库

问题描述 投票:0回答:5

我需要一个适用于 ARM Cortex M3 或 4 的经过验证的压缩库。在从 IC 发货之前,我将使用该库来压缩来自外设的一些数据。

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

compression
5个回答
5
投票

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”包)经理)。


3
投票

如果您有标准的 C 编译器,您就有很多选择。 zliblz4libbzip2lzma


2
投票

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


2
投票

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


0
投票

你可以查看这个repo,我在这里做了一个压缩示例: https://github.com/Bsm-B/Stm32-FatFs-Gzip

© www.soinside.com 2019 - 2024. All rights reserved.