硬汉嵌入式论坛

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

[GUI] 解决SEGGER RTT实现emWin截图功能,非常方便,不再需要任何外部存储器了,分享基于V7例程

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107027
QQ
发表于 2019-7-11 08:50:59 | 显示全部楼层 |阅读模式
说明:
使用SEGGER RTT方式还是非实用的,在做产品文档时,可以方便的实现截图功能,以往都需要借助SD来存储,略显麻烦。


例子:
RTX4 emWin SEGGER RTT.rar (6.07 MB, 下载次数: 326)


使用注意事项
实际测试下这里选择H7系列无法正确连接,改成用STM32F429BI可以连接上V7板子了,对于这点,务必要特别注意

其它看此贴进行设置即可:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=93417
1.jpg

效果:
选择Get screenshot
2019-07-11_9-24-28.png

截图成功:




回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2019-7-11 08:52:31 | 显示全部楼层
沙发沙发
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107027
QQ
 楼主| 发表于 2019-7-11 09:30:51 | 显示全部楼层
更新完毕。
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2019-7-11 09:38:40 | 显示全部楼层
Cool
代码不规范,亲人两行泪!
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2019-7-11 09:54:22 | 显示全部楼层
emwinspy 和RTT什么关系?
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2019-7-11 10:09:11 | 显示全部楼层
caicaptain2 发表于 2019-7-11 09:54
emwinspy 和RTT什么关系?

都是SEGGER家的东西
回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2019-7-11 11:39:42 | 显示全部楼层
好贴,准备也移植升级下
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107027
QQ
 楼主| 发表于 2019-7-11 18:20:38 | 显示全部楼层
caicaptain2 发表于 2019-7-11 09:54
emwinspy 和RTT什么关系?

RTT是这个:

【专题教程第5期】工程调试利器RTT实时数据传输组件,替代串口调试,速度飞快,可以在中断和多任务中随意调用
http://www.armbbs.cn/forum.php?m ... 6177&fromuid=58
(出处: 安富莱电子论坛)
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2019-7-12 14:25:50 | 显示全部楼层
本帖最后由 caicaptain2 于 2019-7-12 14:34 编辑
eric2013 发表于 2019-7-11 18:20
RTT是这个:

【专题教程第5期】工程调试利器RTT实时数据传输组件,替代串口调试,速度飞快,可以在中 ...

是的,我在项目中集成了RTT,主要是用来替代printf。以为可以实现截图了,发现它和emwinspy不是一个。。。
我的emwin使用的是STemwin5.40 ,RTT工作正常,这个emwinspy连接不上。。。是因为版本低了?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107027
QQ
 楼主| 发表于 2019-7-12 14:42:32 | 显示全部楼层
caicaptain2 发表于 2019-7-12 14:25
是的,我在项目中集成了RTT,主要是用来替代printf。以为可以实现截图了,发现它和emwinspy不是一个。。 ...

要用5.44,后期版本才支持
回复

使用道具 举报

8

主题

94

回帖

118

积分

初级会员

积分
118
发表于 2019-7-12 14:57:59 | 显示全部楼层
工具越来越强大。
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2019-7-12 15:17:30 | 显示全部楼层
本帖最后由 caicaptain2 于 2019-7-12 15:52 编辑
eric2013 发表于 2019-7-12 14:42
要用5.44,后期版本才支持

已经更新项目中的emwin至5.44,更新RTT至6.40. 使用RTT View可以连接且正常显示; 使用emwinspy连接,说RTT错误。
还有哪里需要关注设置?

已经对比了例程,还需要加入一个GUI_SPY_X_StartServer的任务,即添加文件GUI_SPY_X_StartServer.c文件。
例程里面是RTX的任务,修改为FreeRTOS的任务就好了,相关函数为xTaskCreate(_ServerTask_RTT,"emWinspyTask",500,NULL,3,&HemWinspyTask); 。里面的任务栈需要较大,此处占用了500x4字节。

实测中,对系统的高速采样中断有影响,调试完成后,最好还是关闭(注释)掉这个任务。
回复

使用道具 举报

6

主题

216

回帖

234

积分

高级会员

积分
234
发表于 2019-8-23 21:07:16 | 显示全部楼层
1.jpg 2.jpg
在您发布的h7的【模板】ucosiii + emwin上进行操作,发现截图不行啊。emwin用的5.44a,想请教下是什么情况呢
回复

使用道具 举报

6

主题

216

回帖

234

积分

高级会员

积分
234
发表于 2019-8-24 08:35:29 | 显示全部楼层
芯跳不止 发表于 2019-8-23 21:07
在您发布的h7的【模板】ucosiii + emwin上进行操作,发现截图不行啊。emwin用的5.44a,想请教下是什么情 ...

【已解决】int GUI_SPY_X_StartServer(void) 函数中两个表达式:
_IndexUp   = SEGGER_RTT_AllocUpBuffer  ("emWinSPY", _acBufferUp,   sizeof(_acBufferUp),   SEGGER_RTT_MODE_NO_BLOCK_TRIM);
_IndexDown = SEGGER_RTT_AllocDownBuffer("emWinSPY", _acBufferDown, sizeof(_acBufferDown), SEGGER_RTT_MODE_NO_BLOCK_TRIM);

参数一定要是SEGGER_RTT_MODE_NO_BLOCK_TRIM
回复

使用道具 举报

19

主题

310

回帖

367

积分

高级会员

积分
367
发表于 2020-10-27 17:14:51 | 显示全部楼层
这个emWinSPY是不是要用ARGB格式??
我这边是RGB565格式的,用了有问题
回复

使用道具 举报

19

主题

310

回帖

367

积分

高级会员

积分
367
发表于 2020-10-27 17:40:46 | 显示全部楼层
老大,我这边移植了emWinSPY,
系统GUI、屏都是用的RGB565的,
点击截图 弹出 assert image.isOk() failed in wxBitmap,

是不是emWinSPY必须要ARGB格式?
回复

使用道具 举报

19

主题

310

回帖

367

积分

高级会员

积分
367
发表于 2020-10-27 19:07:39 | 显示全部楼层
hpxzw_foxmai 发表于 2020-10-27 17:40
老大,我这边移植了emWinSPY,
系统GUI、屏都是用的RGB565的,
点击截图 弹出 assert image.isOk() faile ...

问题解决了,
搞了半天是我忘了关看门狗。。。
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2020-10-29 09:05:12 | 显示全部楼层
hpxzw_foxmai 发表于 2020-10-27 19:07
问题解决了,
搞了半天是我忘了关看门狗。。。

这个截图功能非常占用时间和资源。。。。。。感觉上界面刷新停顿1秒以上了。
回复

使用道具 举报

19

主题

310

回帖

367

积分

高级会员

积分
367
发表于 2020-10-29 12:40:44 | 显示全部楼层
caicaptain2 发表于 2020-10-29 09:05
这个截图功能非常占用时间和资源。。。。。。感觉上界面刷新停顿1秒以上了。

是的
我这480x854的,需要5-6秒
不过没关系,这个是特殊版本才用到
弄个宏控制RTT和emWinSPY的任务
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 14:04 , Processed in 0.381511 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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