硬汉嵌入式论坛

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

[FreeRTOS] taskENTER_CRITICAL()  会关闭全部中断吗?

[复制链接]

337

主题

2045

回帖

3061

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3061
发表于 2016-10-15 22:47:30 | 显示全部楼层 |阅读模式
一个低等级的任务中,有几个语句的执行不能被其他任务打断,所以加了taskENTER_CRITICAL()。来保护这几个语句。 但是这几个语句和中断函数不冲突的,中断函数不能停。

安富莱的例程中,都是设定configMAX_SYSCALL_INTERRUPT_PRIORITY 为0x1f,那么只要执行了taskENTER_CRITICAL(),几乎所有中断都会屏蔽了。。。

怎么修改比较好?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107652
QQ
发表于 2016-10-16 11:18:35 | 显示全部楼层
不限制,优先级分组设置为4的情况下,

我们仅预留最高的中断抢占优先级0供用户使用(不受FreeRTOS开关中断控制),剩下的1到15全部受FreeRTOS控制。
回复

使用道具 举报

337

主题

2045

回帖

3061

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3061
 楼主| 发表于 2016-10-16 14:09:11 | 显示全部楼层

回 eric2013 的帖子

eric2013:不限制,优先级分组设置为4的情况下,

我们仅预留最高的中断抢占优先级0供用户使用(不受FreeRTOS开关中断控制),剩下的1到15全部受FreeRTOS控制。
 (2016-10-16 11:18) 
感觉还是不用把FreeRTOS控制的中断设定的那么高。设定在中间比较好吧。

有时候,一些中断函数很简单,不用RTOS干预的。这样子,使用enterCritical函数的时候,不会影响那些自己的中断函数。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107652
QQ
发表于 2016-10-16 14:13:31 | 显示全部楼层

回 caicaptain2 的帖子

caicaptain2:感觉还是不用把FreeRTOS控制的中断设定的那么高。设定在中间比较好吧。

有时候,一些中断函数很简单,不用RTOS干预的。这样子,使用enterCritical函数的时候,不会影响那些自己的中断函数。 (2016-10-16 14:09) 
都行,按照自己的项目需求设置即可。
回复

使用道具 举报

10

主题

45

回帖

75

积分

初级会员

积分
75
发表于 2016-10-26 18:25:43 | 显示全部楼层

回 eric2013 的帖子

eric2013:不限制,优先级分组设置为4的情况下,

我们仅预留最高的中断抢占优先级0供用户使用(不受FreeRTOS开关中断控制),剩下的1到15全部受FreeRTOS控制。
 (2016-10-16 11:18) 
eric2013,你好。

/* This is the raw value as per the Cortex-M3 NVIC.  Values can be 255
(lowest) to 0 (1?) (highest). */
#define configKERNEL_INTERRUPT_PRIORITY         255
#define configMAX_SYSCALL_INTERRUPT_PRIORITY     191 /* equivalent to 0xb0, or priority 11. */


/* This is the value being used as per the ST library which permits 16
priority values, 0 to 15.  This must correspond to the
configKERNEL_INTERRUPT_PRIORITY setting.  Here 15 corresponds to the lowest
NVIC value of 255. */
#define configLIBRARY_KERNEL_INTERRUPT_PRIORITY    15

请问一下根据freertos的说明,带ISR的api函数应该不能用于上面--逻辑优先级大于11的的中断里才对,但是直接调用isr api的函数也没有异常
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107652
QQ
发表于 2016-10-26 18:56:56 | 显示全部楼层

回 0520kuang 的帖子

0520kuang:

eric2013,你好。

/* This is the raw value as per the Cortex-M3 NVIC.  Values can be 255
(lowest) to 0 (1?) (highest). */
.......
8.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-11 08:12 , Processed in 0.193261 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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