硬汉嵌入式论坛

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

[FreeRTOS] 任务通知宕机的问题?

[复制链接]

3

主题

2

回帖

11

积分

新手上路

积分
11
发表于 2022-11-17 11:49:25 | 显示全部楼层 |阅读模式
中断中调用xTaskNotifyFromISR发送通知,任务中调用xTaskNotifyWait()一直等待通知, 普通场景看起来是ok的,但是当我提高中断发送频率进行压力测试的时候, 会造成接受通知的任务变成ready态而无法再次收到任何通知了,此时中断依旧可以正常发送通知不出错,但是任务确始终无法再次运行起来,这个一般会是什么原因引起的?

ps:为了便于测试,中断和任务都没有做其他过多的测试,均是仅仅发送和接收通知.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2022-11-17 12:00:25 | 显示全部楼层
现在多高的频率。

然后就是这个任务设置为最高优先级任务,1KHz的中断是否正常,如果不正常,说明工程确实有问题了。

回复

使用道具 举报

3

主题

2

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2022-11-17 15:11:05 | 显示全部楼层
eric2013 发表于 2022-11-17 12:00
现在多高的频率。

然后就是这个任务设置为最高优先级任务,1KHz的中断是否正常,如果不正常,说明工程确 ...

频率其实也不高,就手动按键的大概10HZ,
目前接收任务已经是最高优先级了,但是任务依然会ready, 也没有触发什么assert什么的,大神有什么调试方面的建议不?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2022-11-17 15:40:00 | 显示全部楼层
desmond 发表于 2022-11-17 15:11
频率其实也不高,就手动按键的大概10HZ,
目前接收任务已经是最高优先级了,但是任务依然会ready, 也没有触 ...

10Hz? 那不应该,你的程序设计应该有点问题。
回复

使用道具 举报

19

主题

234

回帖

291

积分

高级会员

积分
291
发表于 2022-11-17 15:56:28 | 显示全部楼层
FreeRTOS的功能会判断句柄,如果句柄无效会assert,试试先创建任务等相关内容,再开启中断
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 05:26 , Processed in 0.191468 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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