硬汉嵌入式论坛

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

[CMSIS-RTOS] CMSIS-RTOS2 栈溢出请教

[复制链接]

5

主题

16

回帖

31

积分

新手上路

积分
31
发表于 2020-7-2 17:39:14 | 显示全部楼层 |阅读模式
使用RTX V5.5.1时,系统全速运行一段时间,偶发命令解析线程栈溢出。

显示的调试信息为Stack Used:Unknow。请教下各位前辈如何定位问题?出现这类问题是因为指针访问错误吗?

资源使用情况如图片所示。

命令解析线程

命令解析线程

系统资源使用情况

系统资源使用情况
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-15 23:29:56 | 显示全部楼层
楼主,你的这个信息怎么出来的?我的只有event recorder有数据,event statistics没有线程的统计数据。请问如何解决的?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2020-7-16 01:23:02 | 显示全部楼层
要不是楼上群友回复,都没有注意到这里还有还一个问题没有回复。

出现这个问题的话,一般升级MDK到最新版可以解决。

如果解决不了,基本就是显示异常了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2020-7-16 01:26:09 | 显示全部楼层
kinpar 发表于 2020-7-15 23:29
楼主,你的这个信息怎么出来的?我的只有event recorder有数据,event statistics没有线程的统计数据。请问 ...

QQ截图20200716012601.jpg
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 09:56:36 | 显示全部楼层
我最新的MDK 5.31 怎么没你这个界面,只有watch1 watch2 很奇怪。
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 10:23:51 | 显示全部楼层
By default, the Event Recorder uses the DWT Cycle Counter as a time stamp source. This is not available on Cortex-M0/M0+/M23. Change the configuration to use an alternative timer instead.
For Keil RTX5 (version 5.4.0 and above), no call to EventRecorderInitialize is required. Instead enable Event Recorder Configuration - Global Initialization in the RTX_Config.h file. Refer to the CMSIS-RTOS2 - RTX v5 Implementation for more information.
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 10:29:38 | 显示全部楼层
好像和keil的target1的配置有关
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 10:40:09 | 显示全部楼层
*** Target 'Target 1' uses RTOS support that is part of a Legacy Pack.
毛病应该出在这里,不过不知道怎么设置了
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 11:35:12 | 显示全部楼层
工程重新建立了一遍,现在可以显示 watch->RTX RTOS的内容了,但是Event Statics还是空的,啥都没有。
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 11:35:55 | 显示全部楼层
另外还有一个问题 Warning: Event Recorder not located in uninitialized memory!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2020-7-16 11:41:17 | 显示全部楼层
kinpar 发表于 2020-7-16 11:35
工程重新建立了一遍,现在可以显示 watch->RTX RTOS的内容了,但是Event Statics还是空的,啥都没有。

你这个:watch->RTX RTOS成功了没
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 11:46:33 | 显示全部楼层
成功了,原因找到了,我开始是自己建立的空工程,没有通过keil wizard建立,所以不行。重新通过keil wizard来建立就好了。现在的问题是Event Statics还是空的
我需要统计每个线程占用cpu使用率的信息,方便分配调整各个线程的优先级和资源
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 11:47:55 | 显示全部楼层
QQ图片20200716114718.png
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 11:48:47 | 显示全部楼层
QQ图片20200716114836EV.png
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 12:02:03 | 显示全部楼层
Event Recorder是正常工作的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2020-7-16 12:08:08 | 显示全部楼层
RTX5的调试组件无法正常展示各个任务执行时间解决办法整理
http://www.armbbs.cn/forum.php?m ... 6643&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 12:08:36 | 显示全部楼层
Using Event Recorder
The following steps enable the MDK debugger views for static information and dynamic events.

For User Code:

Add the Event Recorder to the project.
[Optional] Locate the Event Recorder data to uninitialized memory to avoid overwriting the entries on program reset.
[Optional] Set the correct initial time stamp.
[Optional] Create a heartbeat to avoid timer overflow problems.
Add Event Annotations in the C source to be able to stream dynamic event information.
Create an SCVD file to Format Event Information that matches with application code.
For MDK Middleware, Keil RTX5, and FreeRTOS:

The software packs for MDK Middleware, CMSIS, CMSIS-FreeRTOS already contain the relevant *.SCVD files and the related event annotations in the C source code.

Add Event Recorder to the project.
Select a Debug variant for the middleware component to enable event information (for RTX5 select Source variant).


http://www.keil.com/pack/doc/com ... er/html/er_use.html
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 12:09:27 | 显示全部楼层
你这个帖子我看了,你指所有都勾选还是?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2020-7-16 12:14:29 | 显示全部楼层
kinpar 发表于 2020-7-16 12:09
你这个帖子我看了,你指所有都勾选还是?

都勾上,

就帮你这么多吧,结帖。
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 12:20:29 | 显示全部楼层
QQ图片20200716121942ERC1.png QQ图片20200716122005ERC2.png
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 12:21:09 | 显示全部楼层
都勾上,没有作用,我反复测试了。刚刚上传截图了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2020-7-16 12:25:53 | 显示全部楼层
kinpar 发表于 2020-7-16 12:21
都勾上,没有作用,我反复测试了。刚刚上传截图了。

自己慢慢搞下,实在搞不定就算了,就帮你这么多吧,正式结帖
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 12:26:09 | 显示全部楼层
QQ图片20200716122536ER.png   这个是Event Recorder 也是正常的。当然里面有个线程错误,回头再检查了
回复

使用道具 举报

1

主题

19

回帖

22

积分

新手上路

积分
22
发表于 2020-7-16 23:40:28 | 显示全部楼层
奇怪,莫名其妙的好了!!!正常了!!!!都不知道为啥?我现在关注的是,如何定位上图中的红色的错误信息,找出错误,解决问题!谢谢坛主的鼎力支持!
回复

使用道具 举报

41

主题

214

回帖

337

积分

高级会员

积分
337
发表于 2021-4-16 16:48:58 | 显示全部楼层
Warning: Event Recorder not located in uninitialized memory!
这个告警我也消不掉。

下面的网页是说,event recorder要放到一个没有初始化的memory里面,我按下面网页步骤弄了,结果进了fault中断。
然后我还是保留有一个空间是uninitialzed, 但是EventRecorder.c不用这个ram空间,可以打印了。没法子,深究不了。

https://www.keil.com/pack/doc/co ... place_uninit_memory

不过正好可以试下硬汉说的看到底是哪个导致出现fault。
回复

使用道具 举报

5

主题

6

回帖

21

积分

新手上路

积分
21
发表于 2022-1-22 23:13:39 | 显示全部楼层
snakeemail 发表于 2021-4-16 16:48
Warning: Event Recorder not located in uninitialized memory!
这个告警我也消不掉。

我也遇到问题了,不知道你那解决了吗?
回复

使用道具 举报

3

主题

39

回帖

48

积分

新手上路

积分
48
QQ
发表于 2023-4-11 14:38:34 | 显示全部楼层
解决“Warning: Event Recorder not located in uninitialized memory!”问题的方法请参照下方的链接:
https://mp.weixin.qq.com/s/mfF8BmLTSkE0UGkQbopmIg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2023-4-11 15:51:37 | 显示全部楼层
今晚打老虎 发表于 2023-4-11 14:38
解决“Warning: Event Recorder not located in uninitialized memory!”问题的方法请参照下方的链接:
ht ...

这个狂暴模式里面都已经解决。

STM32H7视频教程第11期:STM32H7的GPIO实战,深化非阻塞编程思想,移植驱动到全新器件上,开启Event Recorder狂暴模式
https://www.armbbs.cn/forum.php? ... 1702&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

3

主题

39

回帖

48

积分

新手上路

积分
48
QQ
发表于 2023-4-12 10:33:58 | 显示全部楼层
eric2013 发表于 2023-4-11 15:51
这个狂暴模式里面都已经解决。

STM32H7视频教程第11期:STM32H7的GPIO实战,深化非阻塞编程思想,移植 ...

好的,大佬。今晚我先看看视频。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 07:10 , Processed in 0.270140 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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