硬汉嵌入式论坛

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

[emWin] GUI_NUMBYTES 的取值依据

[复制链接]

100

主题

94

回帖

394

积分

高级会员

积分
394
发表于 2021-4-1 19:51:49 | 显示全部楼层 |阅读模式
本帖最后由 wen 于 2021-4-1 19:56 编辑
  1. void GUI_X_Config(void) {
  2.         if(USE_EXRAM) //使用外部RAM
  3.         {        
  4.                 U32 *aMemory = mymalloc(SRAMEX,GUI_NUMBYTES); //从外部SRAM中分配GUI_NUMBYTES字节的内存
  5.                 GUI_ALLOC_AssignMemory((void*)aMemory, GUI_NUMBYTES); //为存储管理系统分配一个存储块
  6.                 GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE); //设置存储快的平均尺寸,该区越大,可用的存储快数量越少
  7.                 GUI_SetDefaultFont(GUI_FONT_6X8); //设置默认字体
  8.         }else  //使用内部RAM
  9.         {
  10.                 U32 *aMemory = mymalloc(SRAMIN,GUI_NUMBYTES); //从内部RAM中分配GUI_NUMBYTES字节的内存
  11.                 GUI_ALLOC_AssignMemory((U32 *)aMemory, GUI_NUMBYTES); //为存储管理系统分配一个存储块
  12.                 GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE); //设置存储快的平均尺寸,该区越大,可用的存储快数量越少
  13.                 GUI_SetDefaultFont(GUI_FONT_6X8); //设置默认字体
  14.         }
  15. }
复制代码
请问  GUI_NUMBYTES  的最小多大,大小制定有什么原则?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2021-4-2 08:47:15 | 显示全部楼层
越大越好,你可以实际运行起来,获取下动态内存剩余。

正常情况下,emWin会根据你分配的大小,做个简单的是标配,内存大,干活就卖力点,内存小,干活就比较吃力。有时候还会内存不足。
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2021-4-2 09:34:09 | 显示全部楼层
大一点,小一点都可以运行emwin。 可以算算你的屏幕分辨率下,一整屏幕需要多少字节total,然后至少分配给20%total字节给它。 因为一般刷屏幕都是局部刷新,这个局部就是需要的字节缓存。
回复

使用道具 举报

100

主题

94

回帖

394

积分

高级会员

积分
394
 楼主| 发表于 2021-4-2 09:48:02 | 显示全部楼层
caicaptain2 发表于 2021-4-2 09:34
大一点,小一点都可以运行emwin。 可以算算你的屏幕分辨率下,一整屏幕需要多少字节total,然后至少分配给2 ...

我有好几张图片,dta 文件有6M 左右,这样也行么?
回复

使用道具 举报

4

主题

25

回帖

42

积分

新手上路

积分
42
QQ
发表于 2021-4-2 10:36:38 | 显示全部楼层
GUI_ALLOC_GetNumUsedBytes()    用这个函数可以知道emwin用了多少内存,  把你的程序所有都跑一遍,找到一个最大的内存使用数,分配大于这个数应该就可以了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-20 06:05 , Processed in 0.226150 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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