硬汉嵌入式论坛

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

[FreeRTOS] eric2013哥,为什么最高优先级的任务总是进不去

[复制链接]

10

主题

45

回帖

75

积分

初级会员

积分
75
发表于 2015-10-17 22:22:55 | 显示全部楼层 |阅读模式
eric2013哥,问题是这样的,我最高优先级用事件队列管理,开启了8个队列深度,中断产生推送一个队列消息,定时器也推送一个队列消息,
但是程序运行一段时间有时十几个小时,有时几个小时,最高优先级xQueueReceive就获取不到消息了,其实队列里面
是有消息的,因为在重启前,我通过api函数获取到队列的消息个数了,所以不知道是什么原因导致最高优先级的任务
进不去。会不会是在其他的任务一直卡死导致的,或者会不会出现优先级翻转的问题呢,应该怎么得排查,eric2013哥。。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2015-10-18 09:25:59 | 显示全部楼层
保证是先创建的消息队列,以后才使用的吧,要防止你在启动多任务之前,定时器中断等已经使用FreeRTOS的API进行发消息。
回复

使用道具 举报

10

主题

45

回帖

75

积分

初级会员

积分
75
 楼主| 发表于 2015-10-18 10:51:10 | 显示全部楼层
在中断函数里用,用pvPortMalloc这类函数,会不会对系统有影响
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2015-10-19 10:01:32 | 显示全部楼层

回 0520kuang 的帖子

0520kuang:在中断函数里用,用pvPortMalloc这类函数,会不会对系统有影响 (2015-10-18 10:51) 
就是申请一段空间,没影响。
回复

使用道具 举报

21

主题

125

回帖

188

积分

初级会员

积分
188
发表于 2018-12-22 13:30:38 | 显示全部楼层
楼主,问题解决了吗,我好像也遇到类似的问题了。高优先级xQueueReceive获取不到消息了,其实队列里面是有消息。但是低优先级任务正常。
回复

使用道具 举报

36

主题

2039

回帖

2147

积分

至尊会员

积分
2147
发表于 2018-12-22 14:09:23 | 显示全部楼层
kirito 发表于 2018-12-22 13:30
楼主,问题解决了吗,我好像也遇到类似的问题了。高优先级xQueueReceive获取不到消息了,其实队列里面是有 ...

贴下你FreeRTOSConfig.h文件的内容已经所有任务的创建和内容。

另外就是你的NVIC分组设置的多少以及你所使用中断的配置和优先级设置。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 18:58 , Processed in 0.270184 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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