OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6670|回复: 17

emwin

[复制链接]

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
发表于 2016-9-21 09:43:20 | 显示全部楼层 |阅读模式
1金钱
请问有FreeRTOS+emwin的移植手册吗?或者有移植好了的也可以。

最佳答案

查看完整内容[请看2#楼]

花了些时间帮你做了个工程,不过LCD驱动部分代码属于公司的,因此不能公开,你按照原子的教程把LCD的驱动移植过去就好了 下面给出运行效果图:
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
11922
金钱
11922
注册时间
2015-11-5
在线时间
2086 小时
发表于 2016-9-21 09:43:21 | 显示全部楼层
wangjun110 发表于 2016-9-22 09:16
能不能把那个工程文件删除掉一些无关的资料,然后再给我啊。

花了些时间帮你做了个工程,不过LCD驱动部分代码属于公司的,因此不能公开,你按照原子的教程把LCD的驱动移植过去就好了
下面给出运行效果图:
捕获.PNG
FreeRTOS_STemWin_Template.rar (4.1 MB, 下载次数: 1575)
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-9-21 10:03:43 | 显示全部楼层
ST官方的就是FreeRTOS+EMWIN的,可以参考一下。
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-21 11:41:45 | 显示全部楼层
zuozhongkai 发表于 2016-9-21 10:03
ST官方的就是FreeRTOS+EMWIN的,可以参考一下。

我很菜,能不能给个链接呢。呵呵
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-22 09:16:47 | 显示全部楼层
FreeRTOS 发表于 2016-9-21 20:02
FreeRTOS移植到emwin的资料不是有很多么,论坛上也有不少相关的资料
给个代码你参考吧,由于是公司的工程 ...

能不能把那个工程文件删除掉一些无关的资料,然后再给我啊。
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-22 15:12:43 | 显示全部楼层
FreeRTOS 发表于 2016-9-22 12:12
花了些时间帮你做了个工程,不过LCD驱动部分代码属于公司的,因此不能公开,你按照原子的教程把LCD的驱动 ...

谢谢哈
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-22 16:52:16 | 显示全部楼层
FreeRTOS 发表于 2016-9-22 12:12
花了些时间帮你做了个工程,不过LCD驱动部分代码属于公司的,因此不能公开,你按照原子的教程把LCD的驱动 ...

能不能给个Keil的工程啊。iar一直安装不上去。
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
11922
金钱
11922
注册时间
2015-11-5
在线时间
2086 小时
发表于 2016-9-22 19:37:37 | 显示全部楼层
wangjun110 发表于 2016-9-22 16:52
能不能给个Keil的工程啊。iar一直安装不上去。

请叫我雷锋,不谢。。。
FreeRTOS_STemWin_Template.rar (4.12 MB, 下载次数: 318)
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-23 08:22:30 | 显示全部楼层
FreeRTOS 发表于 2016-9-22 19:37
请叫我雷锋,不谢。。。

太感谢你了。以后我要学会自己动手。
你真是个好人。
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-23 10:08:33 | 显示全部楼层
成功了,我用的是HAL库。
有个问题。可以用emwin显示字符,但调用窗口时线程都死掉了。是不是内存分配有问题呢?要怎么改啊。
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-23 11:39:05 | 显示全部楼层
窗口只显示一半。
P60923-113354.jpg
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
11922
金钱
11922
注册时间
2015-11-5
在线时间
2086 小时
发表于 2016-9-23 12:15:40 | 显示全部楼层
本帖最后由 FreeRTOS 于 2016-9-23 12:37 编辑
wangjun110 发表于 2016-9-23 10:08
成功了,我用的是HAL库。
有个问题。可以用emwin显示字符,但调用窗口时线程都死掉了。是不是内存分配有问 ...

1、这种情况一般都是emwin分配的内存不够,emwin有自己的一套内存管理,每创建一个控件emwin都会为这个控件分配内存,对话框/窗口/控件关闭时内存会被释放

2、我提供给你的工程的MSP堆栈空间设了0x800也就是2KB,对于我公司的产品来说足够用的了,如果你认为不够可以修改这个堆栈值

3、对于跑系统的情况,在emwin配置文件里设置允许多少个任务调用emwin的API,这些会调用到emwin的API的任务的内存记得设大一点,因为跑任务时使用的是PSP而不是MSP

拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-24 16:52:00 | 显示全部楼层
FreeRTOS 发表于 2016-9-23 12:15
1、这种情况一般都是emwin分配的内存不够,emwin有自己的一套内存管理,每创建一个控件emwin都会为这个控 ...

是在哪地方改啊。
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-28 14:12:29 | 显示全部楼层
本帖最后由 wangjun110 于 2016-9-28 14:14 编辑

帮忙看看啊,两个线程,显示窗口就死掉了。

321 -.rar

8.21 MB, 下载次数: 205

回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
11922
金钱
11922
注册时间
2015-11-5
在线时间
2086 小时
发表于 2016-9-28 15:59:26 | 显示全部楼层
wangjun110 发表于 2016-9-28 14:12
帮忙看看啊,两个线程,显示窗口就死掉了。

针对你的工程提出几点建议吧,纯属个人观点
1、最好详细描述窗口死掉的现象,是进入硬件错误还是被freertos的参数检测卡住
2、我刚接触HAL库不久,你最好自己保证底层驱动没问题
3、我不用CMSISI_OS,绕得我头都晕,你最好自己保证你用这个东东没用错
4、看了下freertos堆栈分配了15KB,一般来说足够用了,这里应该不会有问题
5、看了下STemWin的内存分配了30KB,一般来说足够用了,这里应该不会有问题
6、看了下你分配给任务的内存只有512(128*4),问题应该是出在这里,栈空间太小了,
     emwin执行时消耗的栈空间可不止这么少呢,你试下把它设为2KB(512*4)以上,如果还跑死就再设大点
7、有一个宏你没配置:
     #define GUI_MAXTASK             4               // 最大可调用emWin的任务数

拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-28 17:54:47 | 显示全部楼层
本帖最后由 wangjun110 于 2016-9-28 17:56 编辑
FreeRTOS 发表于 2016-9-28 15:59
针对你的工程提出几点建议吧,纯属个人观点
1、最好详细描述窗口死掉的现象,是进入硬件错误还是被freer ...

谢谢你的耐心回答。
1.确实是线程堆栈大小分配不足导致线程死掉。这个问题已经解决了
2.我是用STM32CubeMX自动生成的代码。CMSISI_OS我不知道它是干嘛用的,现在去掉它了。
3.窗口是出来了,但刷屏好慢,可能是打点函数没搞好,但我是仿原子哥的来的。
4.窗口还是显示不全。
1111.jpg
22222.jpg

V60928-174258.rar

19.74 MB, 下载次数: 316

刷屏慢

回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
11922
金钱
11922
注册时间
2015-11-5
在线时间
2086 小时
发表于 2016-9-28 18:09:50 | 显示全部楼层
wangjun110 发表于 2016-9-28 17:54
谢谢你的耐心回答。
1.确实是线程堆栈大小分配不足导致线程死掉。这个问题已经解决了
2.我是用STM32Cub ...

1、开启emwin的存储设备可以降低显著的刷屏的效果
2、emwin底层移植的几个函数可以优化的,尤其是打点函数,尽量减少函数的嵌套
3、窗口显示不全应该跟你的线程里面没有持续调用GUI_Delay()有关,我看你的任务代码死循环里面只调用了系统延时,并没有调用任何GUI延时
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

35

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
546
金钱
546
注册时间
2016-4-20
在线时间
181 小时
 楼主| 发表于 2016-9-29 10:48:36 | 显示全部楼层
原子哥的延时函数怎么移植到FreeRTOS里啊。
把UCOS里的相关内容换成FreeRTOS没有成功
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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