0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32平台下的FreeRTOS中断配置

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-09-28 11:34 次阅读

Cortex-M 中断

Cortex-M 内核(STM32)的 MCU 提供了一个用于中断管理的嵌套向量中断控制器(NVIC)。Cotex-M3 的 NVIC 最多支持 240 个 IRQ(中断请求)、1 个不可屏蔽中断(NMI)、1 个 Systick(滴答定时器)定时器中断和多个系统异常。

Cortex-M 处理器有多个用于管理中断和异常的可编程寄存器,这些寄存器大多数都在 NVIC 和系统控制块(SCB)中,CMSIS 将这些寄存器定义为结构体。以 STM32F103 为例,打开 core_cm3.h,有两个结构体,NVIC_Type 和 SCB_Type,就存储了这些信息

优先级分组定义

当多个中断来临的时候处理器应该响应哪一个中断是由中断的优先级来决定的,高优先级的中断(优先级编号小)肯定是首先得到响应,而且高优先级的中断可以抢占低优先级的中断,这个就是中断嵌套。

Cortex-M 处理器的有些中断是具有固定的优先级的,比如复位、NMI、HardFault,这些中断的优先级都是负数,优先级也是最高的。

Cortex-M 处理器有三个固定优先级和 256 个可编程的优先级,最多有 128 个抢占等级,但是实际的优先级数量是由芯片厂商来决定的。但是,绝大多数的芯片都会精简设计的,以致实际上支持的优先级数会更少,如 8 级、16 级、32 级等,比如 STM32 就只有 16 级优先级。

FreeRTOS 中断配置宏

1、configPRIO_BITS:设置 MCU 使用几位优先级,STM32 使用的是 4 位,因此此宏为 4

2、configLIBRARY_LOWEST_INTERRUPT_PRIORITY :设置最低优先级。

3、configKERNEL_INTERRUPT_PRIORITY:此宏用来设置内核中断优先级。

4、configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY:来设置 FreeRTOS 系统可管理的最大优先级,是高于 x 的优先级不归 FreeRTOS 管理!

5、configMAX_SYSCALL_INTERRUPT_PRIORITY:低于此优先级的中断可以安全的调用 FreeRTOS 的 API 函数,高于此优先级的中断 FreeRTOS 是不能禁止的,中断服务函数也不能调用 FreeRTOS 的 API 函数!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19164

    浏览量

    229123
  • 嵌入式
    +关注

    关注

    5068

    文章

    19018

    浏览量

    303265
  • 内核
    +关注

    关注

    3

    文章

    1363

    浏览量

    40228
  • STM32
    +关注

    关注

    2266

    文章

    10871

    浏览量

    354800
  • FreeRTOS
    +关注

    关注

    12

    文章

    483

    浏览量

    62007
收藏 人收藏

    评论

    相关推荐

    PSOC4平台下如何编译生成.bin后缀的文件?

    PSOC4平台下如何编译生成.bin后缀的文件
    发表于 02-01 06:37

    ARM9平台下的CMOS图像传感器数据采集系统

    ARM9平台下的CMOS图像传感器数据采集系统
    发表于 11-23 21:14

    freeRTOS中断配置

    freeRTOS中断配置没有处理亚优先级这种情况,即要求全部为抢占优先级。所以STM32移植freeRTOS时,应将
    发表于 08-23 09:13

    如何在zynq 7000平台下运行 java web程序

    转载:https://blog.csdn.net/weixin_39827918/article/details/78806642前言因公司项目需求,需要在zynq 7000平台下运行 java
    发表于 12-14 06:19

    imx6平台下如何移植mongodb呢?

    论坛有谁在imx6平台下移植过mongodb的呢?移植的mongodb一直无法运行。
    发表于 11-28 07:42

    基于MagicARM270平台下的WinCE5.0使用说明

    基于MagicARM270平台下的WinCE5.0使用说明
    发表于 09-29 11:39 5次下载
    基于MagicARM270<b class='flag-5'>平台下</b>的WinCE5.0使用说明

    基于STM32应用的FreeRTOS中断设置

    一、FreeRTOS中断设置介绍 FreeRTOSConfig.h中定义了两个宏,分别是: configKERNEL_INTERRUPT_PRIORITY
    发表于 11-29 19:46 1998次阅读
     基于<b class='flag-5'>STM32</b>应用的<b class='flag-5'>FreeRTOS</b><b class='flag-5'>中断</b>设置

    STM32中断FreeRTOS中断优先级配置

    STM32中断,及FreeRTOS中断优先级配置
    的头像 发表于 03-04 11:45 8836次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>中断</b>及<b class='flag-5'>FreeRTOS</b><b class='flag-5'>中断</b>优先级<b class='flag-5'>配置</b>

    STM32平台下GP2Y1010AU0F灰尘传感器的使用源代码

    本文档的主要内容详细介绍的是STM32平台下GP2Y1010AU0F灰尘传感器的使用源代码。
    发表于 01-09 17:15 99次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>平台下</b>GP2Y1010AU0F灰尘传感器的使用源代码

    STM32单片机平台下的RF射频控制教程

    STM32单片机平台下的RF射频控制教程
    发表于 06-15 10:06 11次下载

    基于STM32FreeRTOS学习之中断配置和临界段(四)

    记录一,方便以后翻阅~FreeRTOS中断配置需要根据MCU具体配置,这需要我们了解MCU架构关于
    发表于 12-08 09:51 6次下载
    基于<b class='flag-5'>STM32</b>的<b class='flag-5'>FreeRTOS</b>学习之<b class='flag-5'>中断</b><b class='flag-5'>配置</b>和临界段(四)

    stm32cubemx 配置FreeRTOS相关基础基础知识及串口接收中断实验

    本实验首先大家自身要有stm32cubemx基础配置,比如GPIO、中断、串口、SPI等,FreeRTOS有相关的调用函数基础及调度任务的概念都需要提前理解。单独
    发表于 12-14 18:44 21次下载
    <b class='flag-5'>stm32</b>cubemx <b class='flag-5'>配置</b><b class='flag-5'>FreeRTOS</b>相关基础基础知识及串口接收<b class='flag-5'>中断</b>实验

    STM32FreeRTOS:(一) 中断配置和临界段的使用

    STM32FreeRTOS:(一) 中断配置和临界段的使用文章目录STM32FreeRTOS
    发表于 01-14 15:43 3次下载
    <b class='flag-5'>STM32</b>之<b class='flag-5'>FreeRTOS</b>:(一) <b class='flag-5'>中断</b><b class='flag-5'>配置</b>和临界段的使用

    Cortex-M中断FreeRTOS中断优先级配置原理

    下面就来说说关于Cortex-M的中断,及FreeRTOS中断优先级配置原理。
    发表于 02-08 15:30 3次下载
    Cortex-M<b class='flag-5'>中断</b>及<b class='flag-5'>FreeRTOS</b><b class='flag-5'>中断</b>优先级<b class='flag-5'>配置</b>原理

    STM32如何配置外部中断STM32外部中断配置步骤

    STM32如何配置外部中断STM32外部中断配置步骤  作为一款现代化的微控制器,
    的头像 发表于 10-26 17:47 3373次阅读