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

企业网站建设论坛永久不收费免费的软件app

企业网站建设论坛,永久不收费免费的软件app,网站如何进行品牌建设,微信 怎么上传 wordpressFreeRTOS任务优先级和中断的优先级 前言硬件中断的优先级规则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.dnsts.com.cn/news/95000.html

相关文章:

  • 域名买了怎么做网站wordpress建设企业官网
  • 大连网站建设吗网上怎么做网站
  • 任房保障和城乡建设局网站网站维护年费
  • 福田的网站建设公司微信公众号怎么做预约功能
  • 关于建设网站的会议纪要学做网站论坛熊掌
  • 模板做网站上传wordpress密码正确登录不
  • 国外创意网站欣赏计算机网站开发岗位有哪些
  • 专业的外贸行业网站开发兰州微信信息平台网站建设
  • 网站建设实录企业建设项目备案办法
  • 江西商城网站建设移动网站开发 书
  • 河北建设厅网站电话计算机软件开发专业学什么
  • 网站建设开票网站关键词怎么做排名
  • cms搭建网站那个网站可以做图标
  • 博客网站排名我要建企业营销型网站
  • 怎么样推广网站专业做英文网站的公司
  • 做美缝在哪个网站接单企业网站源码wap
  • 如何制作外贸网站wordpress小说主题模板下载地址
  • 南宁大型网站建设什么网站流量大
  • c#网站购物车怎么做免费行业报告网站
  • 制作网站的技术揭阳网站制作机构
  • 山东省住房和建设网站广东公布最新传染了
  • 网站建设创意广告wordpress是可视化编辑
  • 网站怎么做支付wordpress 优酷免广告
  • 上海企业建设网站价格wordpress视频上传不
  • 服装厂家东莞网站建设企业公司网
  • 乌克兰服装网站建设宁夏建设职业技术学院成绩查询网站
  • 栾城seo整站排名大连做网站绍兴厂商
  • ftp是专门提供文件传输的网站在线做春节网站
  • 网站怎么被黑北京网络营销招聘
  • 企业做推广可以发哪些网站站长之家html模板