野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11690|回复: 0

[emWin] 求助,多任务调用emWin问题

[复制链接]
发表于 2015-8-5 14:48:36 | 显示全部楼层 |阅读模式
我用emWin和ucos2做了一个项目,使用多任务调用emWin,其中一个任务emwin_task()调用GUI_Exec()函数进行刷新,这个任务只负责刷新,不处理其他业务,后来发现出现死机问题,调试发现是程序卡在了GUI_Exec()这个函数里面无法返回,后来通过调试窗口发现程序在WM_Exec(),GUI_ALLOC_LockH(),GUI_ALLOC_UnlockH(),GUI_ALLOC_h2p()这几个函数之间乱跳,但他们是emwin的库函数,无法看见源码,但上网查看相关资料后发现这几个函数应该是与内存管理相关的函数,所以就怀疑死机是由于内存或多任务调用emwin时的资源保护相关,于是就把分配给emwin的内存增加,同时通过ucos的信号量实现GUI_X_LOCK()和GUI_X_UNLOCK()函数,可是问题仍然没有解决,后续调试分析感觉像是别的任务有调用WM_InvalidateWindow()引起的,希望大家给予帮助,谢谢!
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-5 13:15 , Processed in 0.024766 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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