当前位置: 首页 > news >正文

高品质网站建设公司网页游戏排行榜百战沙城

高品质网站建设公司,网页游戏排行榜百战沙城,山东省住房和建设网站,邮件服务器是不是网站服务器FreeRTOS任务优先级和中断的优先级 前言硬件中断的优先级规则FreeRTOS任务的优先级规则FreeRTOS对中断优先级的管理具体的应用场景说明 混淆点澄清FreeRTOS任务优先级 vs 中断优先级任务优先级与中断优先级的本质区别注意事项 FreeRTOS的中断管理逻辑任务与中断的交互规则 实践… FreeRTOS任务优先级和中断的优先级 前言硬件中断的优先级规则FreeRTOS任务的优先级规则FreeRTOS对中断优先级的管理具体的应用场景说明 混淆点澄清FreeRTOS任务优先级 vs 中断优先级任务优先级与中断优先级的本质区别注意事项 FreeRTOS的中断管理逻辑任务与中断的交互规则 实践举例任务优先级配置中断优先级配置允许调用API的中断配置禁止调用API的高优先级中断 前言 可能你也有这样的疑问中断的优先级数值越小优先级越大还是越小FreeRTOS的任务而言数值越小优先级是越大还是越小什么是FreeRTOS管理中断的逻辑这些FreeRTOS任务优先级和中断的优先级总是让人混淆本文就此问题展开论述。 硬件中断的优先级规则 在大多数微控制器如ARM Cortex-M中 数值越小优先级越高。 例如Cortex-M的中断优先级寄存器通常为8位但仅使用高几位如4位范围为0~15。其中 0 表示最高优先级可打断其他所有中断。15 表示最低优先级被其他中断打断。 FreeRTOS任务的优先级规则 FreeRTOS中 数值越大优先级越高。 通过tskIDLE_PRIORITY通常为0定义最低优先级用户任务优先级范围为1~configMAX_PRIORITIES-1。例如// 创建一个优先级为3的任务数值越大优先级越高 xTaskCreate(vTaskFunction, Task, 1000, NULL, 3, NULL);FreeRTOS对中断优先级的管理 在硬件中断优先级体系里数值越小就代表优先级越高。以ARM Cortex - M为例中断优先级的范围一般是0到15其中0是最高优先级15则是最低优先级。 FreeRTOS通过configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY宏定义最高可管理的中断优先级但这里的数值规则与硬件一致 数值越小优先级越高。 例如// 配置FreeRTOS可管理的最高中断优先级为5数值越小优先级越高 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5这意味着优先级数值≤5的中断其优先级较高而优先级数值5的中断优先级相对较低。 FreeRTOS借助调整BASEPRI寄存器来屏蔽优先级较低的中断以此保障关键操作像任务切换的原子性。这里有几个关键点需要掌握 可管理的中断优先级当配置为5时优先级数值≥5的中断能够被FreeRTOS屏蔽。这类中断可以安全地调用FreeRTOS的ISR专用API例如xQueueSendFromISR()。系统关键中断优先级优先级数值5的中断FreeRTOS无法对其进行屏蔽。这类中断属于高优先级中断在使用时要格外谨慎不能调用FreeRTOS API。 具体的应用场景说明 允许调用API的中断配置 对于那些需要和任务进行通信的中断要把它们的优先级设置为≥5。下面是一个示例 // 配置外部中断优先级为5和FreeRTOS可管理的最高优先级相同 NVIC_SetPriority(USART1_IRQn, 5);void USART1_IRQHandler(void) {// 进行接收处理BaseType_t xHigherPriorityTaskWoken pdFALSE;xQueueSendFromISR(xRxQueue, cRxChar, xHigherPriorityTaskWoken);// 若有必要进行任务切换portYIELD_FROM_ISR(xHigherPriorityTaskWoken); }禁止调用API的高优先级中断 系统关键中断例如滴答定时器SysTick其优先级数值要设置为5并且在中断服务函数中不能调用FreeRTOS API。示例如下 // 配置SysTick优先级为1高优先级不可被FreeRTOS屏蔽 NVIC_SetPriority(SysTick_IRQn, 1);void SysTick_Handler(void) {// 执行关键操作禁止调用FreeRTOS APItimer_update(); }混淆点澄清 FreeRTOS任务优先级 vs 中断优先级 任务优先级与中断优先级的本质区别 任务优先级 范围0空闲任务到configMAX_PRIORITIES-1。规则数值越大优先级越高高优先级任务可抢占低优先级任务。调度方式由FreeRTOS内核通过任务切换实现。 中断优先级 范围由硬件决定如Cortex-M的0~15。规则数值越小优先级越高高优先级中断可抢占低优先级中断。调度方式由硬件直接控制不受FreeRTOS调度器管理。 注意事项 任务 vs 中断中断优先级始终高于任务无论任务优先级多高中断都会立即响应。 FreeRTOS的中断管理逻辑 FreeRTOS通过调整BASEPRI寄存器屏蔽低优先级中断但屏蔽规则与硬件一致 若BASEPRI5则优先级数值≥5的中断被屏蔽优先级数值5的中断仍可触发。 任务与中断的交互规则 中断始终优先于任务 无论任务优先级多高当中断发生时 中断服务函数ISR会立即执行。任务被暂停直到ISR返回。 FreeRTOS对中断的限制 可管理中断优先级≥configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 可调用FreeRTOS API可能触发任务切换如xTaskResumeFromISR()。不可管理中断优先级configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 禁止调用FreeRTOS API执行期间无法被FreeRTOS屏蔽。 实践举例 任务优先级配置 使用较小数值定义低优先级任务较大数值定义高优先级任务 // 低优先级任务后台处理 xTaskCreate(vBackgroundTask, Background, 1000, NULL, 1, NULL);// 高优先级任务实时处理 xTaskCreate(vCriticalTask, Critical, 1000, NULL, configMAX_PRIORITIES-1, NULL);中断优先级配置 将需要调用FreeRTOS API的中断优先级设置为不低于configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY // 配置外部中断0的优先级为5与FreeRTOS可管理的最高优先级一致 NVIC_SetPriority(EXTI0_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY);这里的优先级数值必须大于等于5 允许调用API的中断配置 对于那些需要和任务进行通信的中断要把它们的优先级设置为≥5。下面是一个示例 // 配置外部中断优先级为5和FreeRTOS可管理的最高优先级相同 NVIC_SetPriority(USART1_IRQn, 5);void USART1_IRQHandler(void) {// 进行接收处理BaseType_t xHigherPriorityTaskWoken pdFALSE;xQueueSendFromISR(xRxQueue, cRxChar, xHigherPriorityTaskWoken);// 若有必要进行任务切换portYIELD_FROM_ISR(xHigherPriorityTaskWoken); }禁止调用API的高优先级中断 系统关键中断例如滴答定时器SysTick其优先级数值要设置为5并且在中断服务函数中不能调用FreeRTOS API。示例如下 // 配置SysTick优先级为1高优先级不可被FreeRTOS屏蔽 NVIC_SetPriority(SysTick_IRQn, 1);void SysTick_Handler(void) {// 执行关键操作禁止调用FreeRTOS APItimer_update(); }本文到此结束不知道您看到这里是否可以回答开头的问题如果有帮助到您欢迎点赞、收藏、转发
http://www.hkea.cn/news/14483377/

相关文章:

  • 会展网站代码源码网页设计实验报告心得和总结500字
  • 做视频网站把视频放在哪里wordpress就是博客吗
  • 第三方交易网站怎么做运动服装商城网站建设
  • 网站怎么做外链接做电影平台网站怎么赚钱吗
  • aspx网站开发 案例miit网站备案
  • 徐州cms建站电商学院建设设计网站
  • 建造师免费自学网站seo网站技术培训
  • wordpress建设网站网站 欣赏
  • 视觉传达毕业设计作品网站温州网页设计
  • 广州h5设计网站公司中国版动漫网站模板
  • 2018网站设计报价表做网站微信朋友圈应该怎么发
  • sns社区网站开发怎么做网站编辑
  • 咸宁网站制作培训百度信息流推广是什么意思
  • 新乡网站建设制作报价方案陕西煤业化工建设集团网站
  • 电商网站建设 教学总结各大搜索引擎收录入口
  • 百度如何推广网站wordpress视频自动播放
  • 多网站建设网页编辑和发布流程不包括以下哪个选项
  • 重庆网站平台网站备案 收费
  • Iis 建网站为什么说没有该用户唐山seo设计网站
  • 二级网站建设方案 试行上海工商网查询官网
  • 沭阳住房和城乡建设局网站做婚庆策划的网站
  • 工信部资质查询网站wordpress电影影视主题
  • 怎么申请免费企业网站软件推广简报
  • 品牌型网站建设哪家东莞高埗网站建设
  • 中山移动网站建设怎么做优化大师免费版
  • 如何做一张网站平面效果图网页 转发到wordpress
  • 镇江网站建设优化案例分析天元建设集团有限公司天眼查
  • 网站页面优化怎么做网站开发入门书籍
  • 网站建设工作流程wordpress 地图html代码
  • 个人性质网站名称知乎网站开发用的语言