硬汉嵌入式论坛

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

[emWin] emwin 内存大小

[复制链接]

91

主题

87

回帖

360

积分

高级会员

积分
360
发表于 2022-10-27 18:39:38 | 显示全部楼层 |阅读模式
现在选外置内存,考虑用emwin ,320*480的屏,如何判定emwin 需要多大的内存?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2022-10-27 18:41:48 | 显示全部楼层
RGB,LVDS,MIPI接口屏 = 显存+动态内存大小

还是那种自带显存的 = 动态内存大小,这个一般给个5K以上就行。
回复

使用道具 举报

25

主题

91

回帖

166

积分

初级会员

积分
166
发表于 2022-10-28 08:04:12 | 显示全部楼层
320X480x层数X缓存个数X虚拟缓存个数,老大教程说的很清楚,程序也写的很清楚
回复

使用道具 举报

91

主题

87

回帖

360

积分

高级会员

积分
360
 楼主| 发表于 2022-10-28 09:23:33 | 显示全部楼层
eric2013 发表于 2022-10-27 18:41
RGB,LVDS,MIPI接口屏 = 显存+动态内存大小

还是那种自带显存的 = 动态内存大小,这个一般给个5K以上就行 ...

这个动态内存分配都是由什么来决定的?屏幕大小?dat文件大小?给个参考吧
回复

使用道具 举报

19

主题

371

回帖

428

积分

高级会员

积分
428
发表于 2022-10-28 10:21:09 | 显示全部楼层
wen 发表于 2022-10-28 09:23
这个动态内存分配都是由什么来决定的?屏幕大小?dat文件大小?给个参考吧

首先计算显存,以此为基数,再计算其他的
1. 不带独立显卡的,RGB屏幕(比如32位色彩)需要用内存作为显存:320 x 480 x 4 = 614,400字节,
2. 带独立显卡的(比如ILI9486等),不需要用内存作为显存
回复

使用道具 举报

91

主题

87

回帖

360

积分

高级会员

积分
360
 楼主| 发表于 2022-10-28 10:34:51 | 显示全部楼层
h_007 发表于 2022-10-28 10:21
首先计算显存,以此为基数,再计算其他的
1. 不带独立显卡的,RGB屏幕(比如32位色彩)需要用内存作为显 ...

第二条,不用显存的情况下,emwin 需要多大的空间能保证够用?如何推理或计算?
回复

使用道具 举报

19

主题

371

回帖

428

积分

高级会员

积分
428
发表于 2022-10-28 12:05:42 | 显示全部楼层
wen 发表于 2022-10-28 10:34
第二条,不用显存的情况下,emwin 需要多大的空间能保证够用?如何推理或计算?

参照Eric上面的回复,按经验设置吧
静态显示界面,我一般遵循以下原则:
1. 最少(比如:开1个图层,1个主界面带几个控件+字符缓冲1k):1024 x 4 + 1024 = 5,120字节
2. 中等(比如:开1个图层,1个主界面带十几个控件+字符缓冲1k):1024 x 4 x 4 + 1024 = 17,408字节
3. 1和2主界面都是动态创建和删除,数据是const类型预先固化到ROM空间,不使用隐藏功能
都是靠经验总结,一般自己写内存查询函数,周期性查询还有多少空闲的内存(一般按照动态内存总数的20~40%左右预留)
回复

使用道具 举报

91

主题

87

回帖

360

积分

高级会员

积分
360
 楼主| 发表于 2022-10-28 14:17:31 | 显示全部楼层
h_007 发表于 2022-10-28 12:05
参照Eric上面的回复,按经验设置吧
静态显示界面,我一般遵循以下原则:
1. 最少(比如:开1个图层,1 ...

大佬,不明觉厉啊。
1024 x 4 + 1024  这段能不能解释一下1024 是啥? 4 又是啥?
1024 x 4 x 4 + 1024 这段为啥× 2个4 啊?
拜托进一步讲解。
再次感谢
回复

使用道具 举报

19

主题

371

回帖

428

积分

高级会员

积分
428
发表于 2022-10-28 15:01:36 | 显示全部楼层
1024就是1k的意思
32位的变量 = 4字节,32位平台,一般习惯用4的字节对齐(或者说,按4的倍数计算)
回复

使用道具 举报

91

主题

87

回帖

360

积分

高级会员

积分
360
 楼主| 发表于 2022-10-28 16:31:20 | 显示全部楼层
h_007 发表于 2022-10-28 15:01
1024就是1k的意思
32位的变量 = 4字节,32位平台,一般习惯用4的字节对齐(或者说,按4的倍数计算)

1024 我也知道是1K啊,但是为什么是1K呢,1024 x 4 + 1024 ,
你的意思是:“1个主界面带几个控件”=1024*4,但是为什么?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 06:10 , Processed in 0.278352 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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