目的

学习和理解实时操作系统

声明

习题答案是笔者基于相关书籍和网上内容自己理解的,有不对或疑问的地方大家一起沟通

硬件平台

Arm-CortexM3内核

一.简述uC/OS-II的中断响应过程

系统中断是打开的。系统会终止当前正在运行的任务,保存任务堆栈。然后系统会根据中断类型,找到该中断对应的中断服务函数执行,处理完事情后,系统会根据情况选择对应的任务运行(不一定去执行被中断的任务)。

(1) 任务堆栈保存

在中断服务函数中首先将当前任务堆栈的相关信息保存到该任务对应的栈中,内核不同保存的方法不同。下面以Arm Cortex-M3内核为例,在跳转到中断服务函数前,硬件会自动将XPSR,PC,LR,R12,R0~R3等寄存器压到任务栈中,具体详见下图。

(2)任务处理

一方面是该中断具体事务的处理;一方面是系统逻辑流程控制(主要目的是记录中断嵌套,在中断返回前作为触发任务切换的条件之一)

(3)任务恢复

中断已经执行完(不存在嵌套),如果当前系统中就绪的最高优先级任务和被中断的任务优先级一样,就直接恢复被中断的任务继续执行。反之,就会触发一次任务切换,选择最高优先级任务运行。

二.全局变量OSIntNesting的作用是什么?

uC/OS-II允许在中断服务函数执行的过程中发生中断,故用此记录中断的嵌套数。

三.uC/OS-II的中断服务程序何时返回被中断的任务?何时不返回被中断的任务?

   如果当前系统中就绪的最高优先级任务和被中断的任务优先级一样,就返回被中断的任务;反之就不返回被中断的任务。

嵌入式实时操作系统uc/OS-II第4章课后习题1-3相关推荐

  1. 关于任哲的《嵌入式实时操作系统uC/OS II原理及应用(第二版)》开发环境搭建和第一个例子

    第一步 需要下载一个BC3.1精简版搭配书上的开发环境 .下载地址:云盘链接 提取码 0a44.这儿下载下来的bc文件夹可以 放在任何位置,楼主将其放在了C盘的根目录下. 第二步 就是文件的代码了,代 ...

  2. 嵌入式系统开发16——嵌入式实时操作系统uC/OS的简介及简单应用

    本文主要介绍嵌入式实时操作系统(RTOS),并且以uc/OS为例,将其移植到stm32F103C8T6上,构建3个任务:其中两个task分别以1s和3s周期对LED灯进行点亮-熄灭的控制:另外一个ta ...

  3. 【嵌入式系统基础第九周作业】--嵌入式实时操作系统uc/OS

    文章目录 1.CubeMX建立项目 1.1配置RCC(打开外部时钟),SYS(选择调试接口) 1.2配置GPIO(PC13用于点亮LED灯) 1.3配置USART1(串口输出) 1.4保存,生成项目文 ...

  4. 嵌入式系统 操作系统 uC/OS uClinux

    摘要:嵌入式操作系统是嵌入式系统应用的核心软件.本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结嵌入式操作系统应用中的若干问题,归纳嵌入式操作系统的选型依据. 关键词:嵌入式系统 操作系统 u ...

  5. 任哲《嵌入式实时操作系统uC/OS-II》 预备工具

    进入工作后,白天负责公司项目开发,晚上蹭加班绩效在公司学点别的东西.虽说待在嵌入式部门,但基本上负责的项目都是微控制器类方面的开发,所以要加强学习真正的嵌入式方面的学习.第一个坑uC/OS-II.我学 ...

  6. 《嵌入式实时操作系统 uc/OS-II 原理及应用》【任哲 主编】随书例程以及使用方法

    说明 uc/OS-II 是一款开源的实时操作系统,但是如果用于商业,是需要付费的.为了深入了解,找到任哲老师的<嵌入式实时操作系统 uc/OS-II 原理及应用>一书,总体还不错.但是书中 ...

  7. 《嵌入式实时操作系统uC/OS-II》学习摘要

    二. 实时系统概念 1.实时系统的特点 如果逻辑和时序出现了偏差,将会引起严重后果.有两种类型的实时系统:软实时系统和硬实时系统. 在软实时系统系统中,系统的宗旨是指各个任务尽快地运行,而不要求限定某 ...

  8. 任哲《嵌入式实时操作系统uC/OS-II》 基本概念与预备知识

    爬坑系列第二讲:这两天手腕实在疼,以后再也不喝这么多酒了. 这两天看了第三章后面的知识,发现PC下的ucos学习真的很不方便,因为之前有简单地学习过LINUX,书上面的很多概念也都接触过,只不过学的不 ...

  9. 嵌入式实时操作系统uc/OS-II第4章课后习题4-6

    目的 学习和理解实时操作系统 声明 习题答案是笔者基于相关书籍和网上内容自己理解的,有不对或疑问的地方大家一起沟通 硬件平台 Arm-CortexM3内核 四. uC/OS-II的系统时钟是如何实现的 ...

最新文章

  1. 【126】TensorFlow 使用皮尔逊相关系数找出和标签相关性最大的特征值
  2. 安徽省计算机二级考试vfp试题,安徽省计算机二级VFP考试理论模拟试题2(附答案)...
  3. cocos2d-x初探学习笔记(7)--CCProgressTimer
  4. 数据结构与算法--二叉树的深度问题
  5. java 类型 装箱和拆箱
  6. loss函数之KLDivLoss
  7. sql2008 评估期过期解决办法
  8. MySQL索引失效、优化的方法
  9. 详细讲解半加器、全加器、四位全加器,并使用FPGA实现半加器、全加器
  10. 豆瓣电影数据分析案例
  11. 淘宝API接口(item_history_price-获取商品历史价格信息)
  12. HW红队攻防基础建设—C2 IP隐匿技术
  13. Android深入源码分析理解Aidl整体调用流程(雷惊风)
  14. 微贷七年之痒:重线下、追科技、争存量,能否赢未来?
  15. 2019年‘泰迪杯’数据分析职业技能大赛A题——个人代码分享
  16. 5.2 主机扫描:主机探测
  17. You may need to configure your browser or application to trust the Charles Root Certificate. See SSL
  18. MGCP /H.248 鉴权认证
  19. withCredentials: false,
  20. 交通状态预测 | Python实现基于Transformer的交通流预测

热门文章

  1. USB驱动程序设计之三USB鼠标驱动程序设计
  2. 分形 Fractal
  3. seo网站关键词优化-搜索词和搜索结果观察_百度搜索
  4. HDUOJ 4687 Boke and Tsukkomi
  5. maven install时跳过test
  6. 查看服务器用户所占空间
  7. win11该文件没有与之关联的应用怎么办
  8. 计网实验报告 (VLAN、静态/动态路由、IPv4 与 IPv6 协议互通)
  9. 金三银四求职季来了!分享几道最常见的app面试题,帮助您更好准备面试求职!
  10. 最新商业版ChatGPT源码V4.7.1+用户付费+支付系统+AI绘画+卡密系统+推广系统