硬汉嵌入式论坛

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

[FreeRTOS] 请教版主,FreeRTOS不停的通过串口打印错误信息是怎么回事?

[复制链接]

79

主题

191

回帖

428

积分

高级会员

积分
428
发表于 2019-2-20 16:34:43 | 显示全部楼层 |阅读模式
FreeRTOS版本9.0,FreeRTOSConfig配置参照了安富莱的例程,配置文件里的那两行断言代码以前是注释掉的,系统跑的很正常,没发现啥毛病。

今天调试程序,无意中启用了那2行断言代码,却发现串口终端上不停的打印信息。
这是信息是什么意思?FREERTOS配置有误?

20190220160818.png

以下是FREERTOS中断配置和PORT.C文件中的错误输出代码

20190220160904.png

20190220161910.png

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-2-20 16:38:17 | 显示全部楼层
把这个帖子看一下。这个是因为你在不受FreeRTOS管理的中断服务程序里面调用了以FromISR结尾的API导致的。

第12章 FreeRTOS中断优先级配置(重要)
http://www.armbbs.cn/forum.php?m ... 1094&fromuid=58

或者直接看PDF文档第12章也行
回复

使用道具 举报

79

主题

191

回帖

428

积分

高级会员

积分
428
 楼主| 发表于 2019-2-20 17:52:49 | 显示全部楼层
eric2013 发表于 2019-2-20 16:38
把这个帖子看一下。这个是因为你在不受FreeRTOS管理的中断服务程序里面调用了以FromISR结尾的API导致的。
...

谢谢版主的解答!
USART和CAN通讯的中断接收是用了队列,确实都是FromISR结尾的函数,USART和CAN中断接收优先级分别是6和7。

我现在改配置中断分组为4,configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY  1,这样1~15个抢占优先级都归FREERTOS管理了,对吧?可为什么还是打印错误信息?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-2-20 17:56:32 | 显示全部楼层
天马行空 发表于 2019-2-20 17:52
谢谢版主的解答!
USART和CAN通讯的中断接收是用了队列,确实都是FromISR结尾的函数,USART和CAN中断接 ...

是不是FreeRTOS还没有启动,中断就执行了,要防止这种情况。
回复

使用道具 举报

79

主题

191

回帖

428

积分

高级会员

积分
428
 楼主| 发表于 2019-2-22 11:55:51 | 显示全部楼层
问题解决了,正如版主所说的那样“在不受FreeRTOS管理的中断服务程序里面调用了以FromISR结尾的API导致的”。
程序中有用到定时器中断,在定时器中断中调用FREERTOS的函数不正确,改过来就好了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-2-22 12:11:30 | 显示全部楼层
天马行空 发表于 2019-2-22 11:55
问题解决了,正如版主所说的那样“在不受FreeRTOS管理的中断服务程序里面调用了以FromISR结尾的API导致的” ...

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 09:58 , Processed in 0.176767 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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