硬汉嵌入式论坛

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

[FreeRTOS] 英汉哥的 freertos 中断管理教程有点问题

[复制链接]

7

主题

9

回帖

30

积分

新手上路

积分
30
发表于 2021-9-28 10:58:42 | 显示全部楼层 |阅读模式
#define configMAX_SYSCALL_INTERRUPT_PRIORITY              5
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY        15


感觉硬汉哥解释得复杂了,中断管理得核心就这两个宏定义。
  • #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY        5
  • 就是说当这个宏定义配置为 5 的时候,中断优先级数值在 0、 1、 2、 3、 4 的这些中断是不受 FreeRTOS 屏蔽的, 也就是说即使在系统进入临界段的时候,这些中断也能被触发而不是等到退出临界段的时候才被触发,
  • 当然,这些中断服务函数中也不能调用 FreeRTOS 提供的 API 函数接口,而中断优先级在 5 到 15 的这些中断是可以被屏蔽的,也能安全调用 FreeRTOS 提供的 API 函数接口。
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY        15

configLIBRARY_LOWEST_INTERRUPT_PRIORITY 是用于配置 SysTick 与 PendSV 的。也就是让 SysTick 与 PendSV配置为最低优先级。写成15的原因是因为NVIC都是抢占优先级0-15,15是最低优先级。

硬汉哥说 basepri 寄存器和define configLIBRARY_LOWEST_INTERRUPT_PRIORITY有关。(宏定义 configLIBRARY_LOWEST_INTERRUPT_PRIORITY 是 0x01,经过 4bit 偏移后就是 0x10,
即 16。 调用了 FreeRTOS 的关中断后,所有优先级数值大于等于 16 的中断都会被关闭。优先级数值
小于 16 的中断不会被关闭,对寄存器 basepri 寄存器赋值 0, 那么被关闭的中断会被打开。)

我认为临界段中断的屏蔽是和define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY有关。

希望硬汉哥回复!!!!!
有问题.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106420
QQ
发表于 2021-9-28 11:15:44 | 显示全部楼层
这里写教程的时候,复制粘贴错了,不再修改了。
configKERNEL_INTERRUPT_PRIORITY 对应的是 configLIBRARY_LOWEST_INTERRUPT_PRIORITY的偏移
configMAX_SYSCALL_INTERRUPT_PRIORITY 对应的是 configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY的偏移
  1. #define configKERNEL_INTERRUPT_PRIORITY                 ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
  2. #define configMAX_SYSCALL_INTERRUPT_PRIORITY        ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
复制代码


回复

使用道具 举报

7

主题

9

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2021-9-28 11:28:11 | 显示全部楼层
eric2013 发表于 2021-9-28 11:15
这里写教程的时候,复制粘贴错了,不再修改了。
configKERNEL_INTERRUPT_PRIORITY 对应的是 configLIBRARY ...

不修改的话理解起来特别绕
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106420
QQ
发表于 2021-9-28 11:41:53 | 显示全部楼层
liguoye105 发表于 2021-9-28 11:28
不修改的话理解起来特别绕

我开个帖子,做个勘误,方便需要的人看,教程不再修改了。倒腾一次都不够油钱。
回复

使用道具 举报

7

主题

9

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2021-9-28 13:47:38 | 显示全部楼层
好的。  特别好奇硬汉哥时间怎么规划的,感觉都不用睡觉,太高产了,每周的工作量是我一个月的。佩服!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 15:54 , Processed in 0.276261 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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