硬汉嵌入式论坛

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

[emWin] emWin频繁死机

[复制链接]

1

主题

3

回帖

1

积分

新手上路

积分
1
发表于 2016-12-5 22:56:56 | 显示全部楼层 |阅读模式
最近在用emwin做界面时候运行一段时间就会死机,看了下Call Stack的情况如图,感觉是内存的问题。
程序里用了外部RAM作为液晶缓存。uCosII操作系统,UI界面单独一个任务分配2048的堆栈空间。
拜托各位指点一下解决问题的思路,先谢谢了。
2.png
1.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2016-12-6 15:16:12 | 显示全部楼层
楼主的是用外部SRAM做emWin的动态内存吗,是否测试过使用内部SRAM做emWin动态内存有问题不。
回复

使用道具 举报

1

主题

3

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2016-12-6 22:42:43 | 显示全部楼层
是的,因为界面比较多,片内SRAM不够用,我在外部SRAM分配了6MB的动态内存。
经常是死在一个从串口接收数据动态刷新显示数值(TEXT控件),然后我用了一个BUTTON控件,刷新BUTTON控件的背景图片达到闪烁红黄色块的效果 ,这个界面我用了一个定时器,1s刷新一次。我在想会不会是频繁切换BUTTON背景图片导致的。
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2016-12-7 09:08:45 | 显示全部楼层
6M的动态内存对于emwin来说已经是巨大了。。。。
无动画的常规界面,100K内存已经足够了。

emwin死机,多数是窗口重复创建,未及时销毁等原因造成的。
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
发表于 2016-12-8 17:03:27 | 显示全部楼层
这个call stack能看出来这么多东西?还重来没注意过啊
是keil的?
回复

使用道具 举报

1

主题

3

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2016-12-8 22:47:58 | 显示全部楼层

回 caicaptain2 的帖子

caicaptain2:6M的动态内存对于emwin来说已经是巨大了。。。。
无动画的常规界面,100K内存已经足够了。

emwin死机,多数是窗口重复创建,未及时销毁等原因造成的。 (2016-12-07 09:08) 
谢谢您的提醒,我用串口打印可用空间,应该不是内存泄漏的问题。现在打算所有界面都屏蔽起来,再一个一个往里加查找原因。
回复

使用道具 举报

1

主题

3

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2016-12-8 22:48:51 | 显示全部楼层

回 jplzl10000 的帖子

jplzl10000:这个call stack能看出来这么多东西?还重来没注意过啊
是keil的? (2016-12-08 17:03) 
我用的是IAR哈。
回复

使用道具 举报

11

主题

68

回帖

198

积分

初级会员

积分
198
发表于 2017-6-20 15:57:41 | 显示全部楼层

回 pualc 的帖子

pualc:谢谢您的提醒,我用串口打印可用空间,应该不是内存泄漏的问题。现在打算所有界面都屏蔽起来,再一个一个往里加查找原因。 (2016-12-08 22:47) 
请问你解决问题了吗,怎么解决的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-15 12:23 , Processed in 0.269984 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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