硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1868|回复: 9
收起左侧

[emWin] MINIWTM32F103 移植emwin 不能播放图片,如何解决动态内存不足

[复制链接]

5

主题

12

回帖

55

积分

初级会员

积分
55
发表于 2018-3-17 00:24:40 | 显示全部楼层 |阅读模式
我在做MINISTM32时候遇到了一个很棘手的问题:我需要在MINI上移植EMWIN(项目需要手持式 的小型机)  然后播放图片,我移植了FATFS,(后面还要做MP3播放 WIFI 和GPS 定位 )
由于没有外部内存 动态内存只有SRAM (45kb),内存管理分配35KB。
如果我要读取外部的图片的话,就要分配动态内存给缓冲区,然后EMWIN 本生就占有30KB 的动态内存 ,
我减小EMWIN 为15KB,然后分配15KB给缓冲区(会释放) ,但是读取图片还是出问题,
然后读取图片就没办法读,有没有在不换机子的情况下解决这个问题 ,望大佬救场。

12.jpg (29.92 KB, 下载次数: 0)




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115764
QQ
发表于 2018-3-17 00:28:27 | 显示全部楼层
你发的截图里没有看到你调用emWin的JPEG。首先你的当前的动态内存太小了,不适合显示JPEG格式的图片,你要显示BMP格式的,而且要采用边读边显示的方式。

详情看我们新版emWin教程BMP章节即可:http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

5

主题

12

回帖

55

积分

初级会员

积分
55
 楼主| 发表于 2018-3-17 09:05:03 | 显示全部楼层
eric2013 发表于 2018-3-17 00:28
你发的截图里没有看到你调用emWin的JPEG。首先你的当前的动态内存太小了,不适合显示JPEG格式的图片,你要 ...

因为我发现没法读图片,我就先在试试读文件  只要一读就会出问题 ,另外BMP是采用无压缩,BIG我把它转换成.c 文件 那他应该更小啊
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115764
QQ
发表于 2018-3-17 10:02:47 | 显示全部楼层
刘润森 发表于 2018-3-17 09:05
因为我发现没法读图片,我就先在试试读文件  只要一读就会出问题 ,另外BMP是采用无压缩,BIG我把它转换 ...

JPEG图片解码有个最小动态内存要求
QQ截图20180317100124.png


回复

使用道具 举报

5

主题

12

回帖

55

积分

初级会员

积分
55
 楼主| 发表于 2018-3-17 11:13:43 | 显示全部楼层
eric2013 发表于 2018-3-17 10:02
JPEG图片解码有个最小动态内存要求

恩恩 问题解决了  不过还是想问下 我没法放在储存器 那图片一点一点绘制这个弊端没法解决吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115764
QQ
发表于 2018-3-17 11:40:24 | 显示全部楼层
刘润森 发表于 2018-3-17 11:13
恩恩 问题解决了  不过还是想问下 我没法放在储存器 那图片一点一点绘制这个弊端没法解决吗

动态内存小,只能这样了。有个总线接口的NOR Flash之类的也可以,能够存流位图,效果好很多。
回复

使用道具 举报

5

主题

12

回帖

55

积分

初级会员

积分
55
 楼主| 发表于 2018-3-17 13:21:07 | 显示全部楼层
eric2013 发表于 2018-3-17 11:40
动态内存小,只能这样了。有个总线接口的NOR Flash之类的也可以,能够存流位图,效果好很多。

我还是想试试其他的方法 这个方法如果我一直重绘就会出问题,刚刚我去看了MINI是有NOR 缓存的,我问问有没有相关的资料哦 ,我是做emwin图形界面这块的,底层不怎么了解,谢谢啦
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115764
QQ
发表于 2018-3-17 13:30:21 | 显示全部楼层
刘润森 发表于 2018-3-17 13:21
我还是想试试其他的方法 这个方法如果我一直重绘就会出问题,刚刚我去看了MINI是有NOR 缓存的,我问问有 ...

一定要是总线接口的NOR。
SPI等接口的不行。剩下就是看我们新版emWin教程的流位图章节即可,流位图不需要解码。
http://www.armbbs.cn/forum.ph ... 9834&extra=page%3D1

这个帖子的问题就交流这么多吧,剩下你研究研究。
回复

使用道具 举报

5

主题

12

回帖

55

积分

初级会员

积分
55
 楼主| 发表于 2018-3-17 14:12:03 | 显示全部楼层
eric2013 发表于 2018-3-17 13:30
一定要是总线接口的NOR。
SPI等接口的不行。剩下就是看我们新版emWin教程的流位图章节即可,流位图不需 ...

恩恩 谢谢啦
回复

使用道具 举报

5

主题

12

回帖

55

积分

初级会员

积分
55
 楼主| 发表于 2018-3-17 14:37:20 | 显示全部楼层
错了 这个不能用NOR  因为我用的是STM32F103RCT6  C:\Users\liuru_000\Desktop\PICTURE\16.jpg 16.jpg
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 11:08 , Processed in 0.394361 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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