硬汉嵌入式论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: eric2013
收起左侧

[算法] 基于H7的无损压缩算法miniLZO移植,压缩率很高,20KB随机数压缩到638字节,耗时275us

  [复制链接]

73

主题

1193

回帖

1412

积分

至尊会员

积分
1412
发表于 2022-9-7 15:22:06 | 显示全部楼层
eric2013 发表于 2022-9-7 01:48
解压需求很小,可以用在PC

问题是差分升级基本上是单片机端解压的,如果解压内存需求比较少,就可以移植。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2022-9-20 05:59:13 | 显示全部楼层
您好,能不能请教个问题,STM32H7使用外置SDRAM运行这个用例的时候会在压缩操作时(lzo1x_1_compress)进入HardFault_Handler,数组申明如下:
static unsigned char __LZO_MMODEL in [ IN_LEN ] attribute((at(0XC1710000)));
static unsigned char __LZO_MMODEL out [ OUT_LEN ] attribute((at(0XC1720000)));

测试发现如果将申明改成如下所示(内部RAM)就没问题:
static unsigned char __LZO_MMODEL in [ IN_LEN ] attribute((at(0x30000000)));
static unsigned char __LZO_MMODEL out [ OUT_LEN ] attribute((at(0x30010000)));

这有可能是什么原因
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
 楼主| 发表于 2022-9-21 10:27:11 | 显示全部楼层
cyzj1988 发表于 2022-9-20 05:59
您好,能不能请教个问题,STM32H7使用外置SDRAM运行这个用例的时候会在压缩操作时(lzo1x_1_compress)进入 ...

看下hardfault错误类型,如果使用的MDK,进入调入状态后,有个faults reports选项可以看。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2022-9-21 17:04:29 | 显示全部楼层
eric2013 发表于 2022-9-21 10:27
看下hardfault错误类型,如果使用的MDK,进入调入状态后,有个faults reports选项可以看。

fault report选项如下:
回复

使用道具 举报

5

主题

65

回帖

80

积分

初级会员

积分
80
发表于 2022-9-22 14:43:51 | 显示全部楼层
压缩算法如果数据不规律,压缩不了多少。
回复

使用道具 举报

0

主题

58

回帖

58

积分

初级会员

积分
58
发表于 2022-11-18 12:11:57 | 显示全部楼层
这个压缩算法使用于RAM小的MCU吗?
比如 RAM只8K,FLASH 64K,固件32K,因为通信的速度很慢,32K的固件要传30分钟,想压缩之后传输加快速度
解压时能不能直接把升级包解压并写入FLASH,不用RAM做缓存
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
 楼主| 发表于 2022-11-18 13:54:07 | 显示全部楼层
cowen 发表于 2022-11-18 12:11
这个压缩算法使用于RAM小的MCU吗?
比如 RAM只8K,FLASH 64K,固件32K,因为通信的速度很慢,32K的固件要 ...

基于LZSS的小型压缩库heatshrink,声称使用50-300字节的内存可以很好地运行
https://www.armbbs.cn/forum.php? ... 0943&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

1

主题

12

回帖

15

积分

新手上路

积分
15
发表于 2023-11-23 17:42:03 | 显示全部楼层
硬汉兄,这个算法支持对文件夹进行 压缩、解压吗;
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
 楼主| 发表于 2023-11-24 08:36:00 | 显示全部楼层
hot_springs 发表于 2023-11-23 17:42
硬汉兄,这个算法支持对文件夹进行 压缩、解压吗;

这个是针对文件的压缩,文件夹的话,得封装个API了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 08:43 , Processed in 0.175171 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表