zz52zz 发表于 2020-7-12 16:35:53

stm32上的数据压缩

求助一下各位大佬,现在需要在stm32上实现数据压缩,然后传输到电脑上再进行无损解压,求推荐!!:handshake

奏奏奏 发表于 2020-7-12 18:59:40

首先明确一下被压缩的对象是什么?
没有任何格式的数据随机的一串16进制数据,
还是类似STM32编译后生成的.hex这类有固定格式规范的数据?
如果是前者,我觉得由STM32系列MCU来做不合适,但是STM32系列的MPU可以(STM32MP1系列跑 Linux系统),
如果是后者,利用固定格式的规律可以压缩一部分数据,只要STM32系列MCU就可以了。

Dandjinh 发表于 2020-7-13 08:49:45

miniLZO, 占用64K RAM

zz52zz 发表于 2020-7-13 08:56:34

Dandjinh 发表于 2020-7-13 08:49
miniLZO, 占用64K RAM

您好,感谢您的建议,我对minilzo已经有了一点了解,现在的问题是minilzo对压缩数据的长度要求很精确,对于我实时压缩而言,我怎么得到压缩前后的数据长度呢?感谢您的指点!

zz52zz 发表于 2020-7-13 08:58:50

Dandjinh 发表于 2020-7-13 08:49
miniLZO, 占用64K RAM

感谢您的建议,我已经对minilzo有了一定程度的了解,minilzo对数据压缩前后的长度要求很精确,那么对于我单片机实时压缩而言,我怎么样才能获得数据压缩前后的长度呢?感谢您的帮助!

Dandjinh 发表于 2020-8-5 14:22:48

zz52zz 发表于 2020-7-13 08:58
感谢您的建议,我已经对minilzo有了一定程度的了解,minilzo对数据压缩前后的长度要求很精确,那么对于我 ...

压缩前你不知道总长吗?压缩后有个最大大小的,比压缩前的大小大一点。

发表于 2020-8-5 20:32:34

楼主你好,如果做试试压缩,我感觉还不如不做。数据压缩肯定是要数据多时进行一次压缩。一个字节压缩反而会导致压缩后的数据增大。楼主可以考虑将数据放入到缓冲区中,当缓冲区满了以后或者即将满时进行一次压缩后,再把数据放入到指定位置。但这样解压缩时会出现问题。压缩完毕后,马上把数据发给上位机,这样使用应该是比较合理的。
页: [1]
查看完整版本: stm32上的数据压缩