硬汉嵌入式论坛

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

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

[复制链接]

11

主题

45

回帖

78

积分

初级会员

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

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

使用道具 举报

11

主题

45

回帖

78

积分

初级会员

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

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

回 0520kuang 的帖子

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

使用道具 举报

22

主题

128

回帖

194

积分

初级会员

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

使用道具 举报

36

主题

2050

回帖

2158

积分

至尊会员

积分
2158
发表于 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, 2025-4-27 00:38 , Processed in 0.681796 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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