【问题标题】:Memory constrained block compression内存受限块压缩
【发布时间】:2024-01-16 23:58:01
【问题描述】:

我有一个 .elf 文件,我需要先上传到 arm 处理器,然后验证完整性。然后将“图像”移动到闪存中的正确位置,重置后执行。我记忆力有限。所以我在复制之前先将图像存储在一个临时位置。

但是我不想在 50:50 时拆分我的 flash。所以我想压缩图像并部分解压缩以检查完整性,然后在验证后使用相同的方法复制部分。

是否有像 fastlz 这样的便携式压缩“库”可以做类似的事情

int compress(int blocksize, const void* input, int length, void* output)

int decompress(int blocksize, const void* input, void* output)

这会将压缩数据打包为 [block][block][...][block][block] 其中的块是固定大小的,我可以单独解压缩吗?我知道我会考虑压缩比。

【问题讨论】:

标签: c++ c stream arm compression


【解决方案1】:

你把压缩后的图片放在闪存的end,然后解压到闪存的start。如果您在写入未压缩的图像后在闪存末尾有一些压缩比和一些空间,那么解压后的写入应该赶不上仍在解压的压缩数据。您可以在构建图像时验证这一点。

【讨论】: