LZMA SDK如何开发增量compression/decompression?

How to develop incremental compression/decompression in LZMA SDK?

我在 Windows 7(64 位)下对文件 compression/decompression(LZMA 是 7-zip 中使用的默认算法)使用 LZMA SDK。

sdk可以在这里找到(源代码) http://7-zip.org/sdk.html

要compress/decompress文件我可以使用下面的命令。

./LzmaUtil.exe e input.elf output.elf
./LzmaUtil.exe d output.elf input.elf

我正在使用 CAN BUS(必须使用它:客户端规范)将二进制文件从 HOST 闪存到 MCU。

为了加快刷机速度。 我想对单独的文件进行增量压缩,以获得更小的尺寸。但是,我想使用增量解压缩来解压缩文件,以便第一部分被解压缩,另一部分来自 can 总线。

所以在MCU部分,我希望能够逐个部分解压和烧写。

此过程的主要目的是减少将软件刷入微控制器所需的时间,引导加载程序必须重新assemble并解压缩所有文件,然后再将输出文件 (. elf/.bin) 到内存。

关于如何做到这一点的任何建议对我都非常有帮助。 谢谢

LZMA SDK 已经允许此选项,您可以轻松选择要使用的迭代次数和算法中要使用的输入/输出缓冲区的大小。