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

UCOS-III笔记(三)

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习
擅长领域:驱动开发,嵌入式软件开发,BSP开发
作者主页:一个平凡而乐于分享的小比特的个人主页
文章收录专栏:UCOS-III,本专栏为UCOS-III学习记录
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

UCOS-III笔记(三)

临界段代码保护及任务调度锁

临界段代码保护

  1. UCOS-III在进入临界段代码的时候需要关闭中断,当处理完临界段代码以后再打开中断
  2. 临界区是直接屏蔽了中断,系统任务调度靠中断,ISR也靠中断

函数:

  • CPU_CRITICAL_ENTER( ) 进入临界段
  • CPU_CRITICAL_EXIT( ) 退出临界段

临界区调用格式:

CPU_SR_ALLOC();
/* 非临界区代码 */
CPU_CRITICAL_ENTER();
{......   /* 临界区代码 */
}
CPU_CRITICAL_EXIT();
/* 非临界区代码 */

特点:

  1. 成对使用
  2. 不支持嵌套
  3. 尽量保持临界段耗时短

任务调度锁

  1. 用于对调度器上锁以及解锁。调度器上锁时则禁止任务调度,解锁时则允许任务调度。
  2. 可以多次调用OSSchedLock( )对调度器上锁,解锁时需调用同样次数的OSSchedUnlock( )才可解锁

注意:调度锁只是将调度器关闭,并不影响中断的执行,中断依旧正常触发,只是不会执行任务切换

函数:

  • void OSSchedLock (OS_ERR *p_err) 调度器加锁
  • void OSSchedUnlock (OS_ERR *p_err) 调度器解锁

任务调度锁使用格式:

OS_ERR		err;
OSSchedLock(&err);		/* 调度器上锁 */
{/* 操作代码 */
}
OSSchedUnlock(&err);	/* 调度器解锁 */

特点:

  1. 成对使用
  2. 支持嵌套

临界段代码保护&任务调度锁区别

  1. 与临界区不一样的是,挂起任务调度器,未关闭中断;

  2. 它仅仅是防止了任务之间的资源争夺,中断照样可以直接响应;

  3. 与临界区不一样的是,挂起任务调度器,未关闭中断;

  4. 它仅仅是防止了任务之间的资源争夺,中断照样可以直接响应;

  5. 调度器上锁是挂起调度器的方式,适用于临界区位于任务与任务之间;既不用去延时中断,又可以做到临界区的安全

http://www.dtcms.com/a/602436.html

相关文章:

  • 如何自己建设简单的手机网站品牌创意网站建设
  • 关于csdn隐私
  • 数据集结构说明(Dataset)
  • C语言源程序经过编译
  • 建设工程英语网站单位做网站费用怎么记账
  • 做网站需要注册什么类型的公司台州市建设施工图审图网站
  • 文献——总结
  • spring多配置文件
  • 数据结构与算法篇-Prim最小生成树算法
  • 北京网站设计制作过程网站举报后还是没封掉
  • 手机端网站需要多少钱高端网站建设上
  • 互动营销型网站建设wordpress 全站搜索
  • 配色相关网站建个企业网站备案需要多长时间
  • 山西网站建设找哪家平谷网站建设服务
  • 多模态大模型应用开发:从CLIP到GPT-4V的实战演进
  • 青岛网站建设比较好河北省正定县城乡建设网站
  • 理解BFGS算法
  • 易语言反编译技巧 | 深入解析反编译原理与实用方法
  • 家居企业网站建设讯息王者荣誉网站怎么做
  • 免费个人网站域名注册建设机械网站方案
  • 网站建设网页制作软件河南企业网站定制
  • 做网站设计图用什么软件wordpress多个菜单menu
  • 人工智能训练师证书怎么考?
  • 【RAG核心维度深度解析】评估、安全、可靠性、管理及技术方案权衡
  • 【MCP安全】MCPGuard : Automatically Detecting Vulnerabilities in MCP Servers
  • 有专门做ppt的网站有哪些wordpress评论qq
  • 自己做的网站如何包装wordpress接入微信登录
  • 单位不能建设网站网站怎么做黑链接
  • Java在线编译C语言 | 实时运行与调试工具指南
  • GPU 发展简史:图形处理到通用计算的蜕变