我需要一个经过验证的ARM cortex M3或4压缩库。在将其运出IC之前,我将使用该库压缩来自外围设备的某些数据。
任何指针将不胜感激。到目前为止,我已经看过LZ4c,但要使其在ARM上运行并不容易。
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”包管理器)中。