ucosii第一章读书笔记

2023-05-16

第一章 嵌入式操作系统

1.1 计算机操作系统

简介:

嵌入式操作系统属于操作系统的一种。

嵌入式操作系统的概念:
应用于嵌入式系统的操作系统叫做嵌入式操作系统

操作系统的概念:
是一种系统软件。作用于硬件和应用软件之间。

操作系统的作用:
能够让应用软件工程师不用考虑硬件条件,而直接编写软件程序。

详解:

硬件系统的定义:
构成计算机的物理装置叫做计算机的硬件系统。
一般的计算机由 微型处理器(CPU),存储器,接口,外部设备 等实际能看到的物理装置组成

操作系统的定义:
操作系统属于软件层。

操作系统的作用:
软件无法直接在硬件裸机上运行,必须在操作系统的平台上运行。
或者说,操作系统是计算机系统资源的管理者,承上启下。
所以,操作系统可以看做是硬件和应用程序之间的接口或者是虚拟机。

对于硬件系统,它主要完成对硬件的调度,分配以及信息的存储问题。例如管理处理器,存储器,外设,数据以及用户作业。
对于应用软件,它主要是帮助他们,使硬件系统根据他们的指令进行相应的工作。并且屏蔽掉硬件复杂的工作,将硬件包装成软件,相当于为应用软件提供了一个虚拟计算机,令应用软件工程师更方便的写代码。

操作系统的具体功能:
包括对处理器的管理,对存储的管理,对设备的管理,对文件的管理,对网络和通信的管理,提供用户接口等功能。
1、 对处理器的管理
处理器只能够对中断作出判断,而不能做出相应的反应,也不能管理中断。
所以操作系统的职能就是为处理器对中断做出反应并且管理中断
(计算机是多任务的,有各种中断,所以要求操作系统有对处理器管理的功能)。

2、 对存储的管理
操作系统负责合理分配和使用存储器这个重要资源。
3、 对设备的管理
操作系统要完成用户的请求,以及加快IO速度,以及合理利用IO口,以及提供外设驱动等等
4、 对文件的管理
由于数据都以文件的形式存放在外存(硬盘,光盘)上,所以操作系统要合理管理文件
5、 对网络和通信的管理
计算机要上网,不仅要有能够网络连接的硬件设备,还要有操作系统为他一系列的网络功能(网络资源管理,通信,安全)
6、 提供用户接口
操作系统为用户提供一系列接口来让用户实现上述的功能。

1.2 嵌入式系统和嵌入式操作系统

简介:
由于智能化的需求越来越高,所以在装置或设备里面要加上计算机系统。这种技术叫做嵌入式系统。

详解:

嵌入式系统的定义:
首先他是属于计算机系统的,其次它可以嵌入到别的设备里面,最后可以令这个设备智能化。大概可以说是专用的计算机系统。

嵌入式系统的三大要素:
专用性,可嵌入性,计算机系统

通用计算机系统与嵌入式系统的区别:
通用型计算机系统:技术要求是海量数值计算,扩大存储和提升速度
嵌入式计算机系统:技术要求是和对象相关的嵌入性,控制能力和控制安全性

嵌入式系统的划分:
由于容量太小,软件只有操作系统和应用软件,没有系统软件

嵌入式系统的发展道路:

微型计算机时代单片机时代微控制器MCU阶段单片系统SoC阶段

微型计算机时代
它是借鉴了微型计算机,但是后来发现微型计算机的体积还是很大,于是走上了系统芯片化的道路。将CPU和计算机系统(包括存储器和接口)集成在芯片上。

单片机时代
分为两种模式,∑模式和创新模式。
∑模式的含义:有什么需要的功能,就在通用计算机系统里裁剪,然后集成在芯片上。
创新模式的含义:完全按照嵌入式的要求设计新的芯片。如体系结构,微处理器,指令系统,总线方式,管理方式等方面
(51单片机的体系结构是嵌入式系统的主要的典型结构体系)

而单片形态又可以分为两个阶段
MCU阶段和SoC阶段(都是芯片)

MCU阶段:
又称微处理器阶段,
技术:在芯片上加接口和定时器等
目的:满足用户的智能化需求。
(典型产品:51单片机)

SoC阶段:(主流)
又称单片系统阶段,
目的:应用系统在芯片上最大化。
技术:将许多功能模块(如通信模块,接口模块)与MCU结合,制造出集成度更高的系统级芯片。

嵌入式系统的特点:
从构成上看:软硬件一体,可独立工作
从外观上看:是可以编程的电子器件
从功能上看:对宿主对象进行控制,使其智能化

嵌入式系统的硬件部分:
包括处理器/微处理器,存储器,外设,IO口,图形控制器等

(嵌入式系统和普通的系统不一样,例如它不使用传统的硬盘这种大容量的存储介质,而使用EPROM,EEPROM,闪存作为存储介质)

嵌入式系统的软件部分:
包括操作系统和应用软件。

嵌入式系统和通用系统的相比:
1、 专用性强
2、 可裁剪性好(硬件和操作系统都是可裁剪的 目的:最精简)
3、 实时性和可靠性好(软件不是存储在磁盘,而是固化在存储器芯片或者单片机系统存储器里 目的:快速响应,增强可靠性,功耗更低)
4、 功耗低(如上,应用于飞机,舰船,数码相机等移动设备中)

嵌入式操作系统的定义:
运行在嵌入式硬件平台上,对整个系统及其所操作的部件进行统一控制的系统软件。

嵌入式操作系统与通用操作系统相比:
1、 微型化
2、 可裁剪性
3、 实时性(能快速响应事件)
4、 高可靠性(提供容错,防错措施)
5、 易移植性

嵌入式操作系统的分类:
1、 (应用范围)通用型嵌入式操作系统和专用型嵌入式操作系统
2、 (响应能力)实时操作系统和分时操作系统

分时操作系统的定义:
按照任务数目,将CPU分成若干时间片,分配给任务,然后按照时间片轮流执行任务

实时操作系统的定义:
能及时响应外部请求,并及时控制设备和任务运行,最后在一个规定时间内完成操作。

实时操作系统的基本要求:
1、 逻辑功能正确(产生正确的计算结果)
2、 时间正确(在规定周期内完成)

实时操作系统的分类:
硬实时系统(完成时间严格)和软实时系统(截止时间不严格)

实时操作系统的要求:
1、 必须是多任务系统
(多任务是指将大的任务分解成许多可以并行执行的小任务,既提高CPU的利用率,又方便程序猿的维护工作)
2、 任务的切换时间和任务数目无关
(调度器的工作时间必须是固定的,不能受外在因素影响)
3、 中断延时的时间可预知并尽可能短
(中断延时是指CPU响应中断,到转向中断服务函数所花费的时间)
实时操作系统的内核的类型:
嵌入式系统只有一个CPU,即多任务中只能允许一个任务使用CPU。
所以多任务实时操作系统的内核被分为可剥夺型和不可剥夺型

可剥夺型内核:
高级别的任务可以剥夺低级别任务使用CPU的权利
不可剥夺型内核:
又称合作型多任务内核,此内核总是把CPU给优先级高的任务。所以要求各任务能主动放弃CPU的使用权。

嵌入式实时操作系统的任务:
对一个系统进行控制,任务很固定。所以实时操作系统支持的应该是一个无限循环结构。
任务代码组成方式:
void返回类型,在一个无限循环里面,用户编写要完成的任务
但有时会有外部异步操作,所以要使用中断技术
void task(void * data)
{
for(; ;)
{
用户编写的代码;
}
}

嵌入式系统提供的服务:
1、 内存管理(释放内存)
2、 多任务管理
3、 外围资源管理(如键盘,显示装置)
(提供微内核为主)

1.3嵌入式实时操作系统ucosii系统简介

简介:

ucosii是一款多任务实时操作系统,也是一个内核,由c语言(大部分)和汇编语言(少部分)编写的,所以方便移植到8位,16位,32位嵌入式处理器上

ucosii的体系结构:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ucosii第一章读书笔记 的相关文章

  • PX4位置控制基础

    接受数据 xff08 获取位置信息 期望位置 xff09 外环控制PID xff08 位置环 xff09 xff1a 通过调节速度减小位置差 xff0c 位置差需要通过速度去弥补 判定模式不同 xff0c 位置差的来源 xff08 三种控制
  • ROS2开机程序自启动

    运行环境 系统 xff1a Ubuntu20ROS xff1a foxy 添加服务脚本 sudo vi etc systemd system rc local service 内容如下 xff1a Unit Description 61 e
  • 【STM32】条件编译不起作用是什么原因

    在工程中定义了几个条件编译 xff0c 用来适应不同的硬件设备 xff0c 但是好像不起作用似的 这种情况可能是在多个文件中使用了条件编译 xff0c 但是编译工程的时候又只是编译了部分文件 xff0c 即使有部分使用了条件编译的文件没有被
  • 一文看懂rtc实时时钟和单片机时钟的区别

    rtc实时时钟和单片机时钟的区别 实时时钟是指给日期及时间计数器累加的时钟 xff0c 通常是32768Hz xff0c 系统时钟是指单片机内部的主时钟 xff0c 给各个模块提供工作时钟的基础 xff0c CPU时钟是指经过CPU的PLL
  • PhotoScan处理无人机航拍照片GCP校正流程

    PhotoScan处理无人机航拍照片GCP校正流程 软件最近更新版本较频繁 xff0c 菜单条目变化较大 xff0c 但基本功能没变 Agisoft PhotoScan xff08 APS xff09 现改名 Metashape了 Phot
  • 2022年研发效能实践案例智库集-EQCon

    2022年研发效能实践案例智库集 xff1a Docs
  • git四区逻辑关系(工作区、暂存区、本地仓库、远程仓库)

  • 推荐一个提高实现目标效率和过滤不现实目标的方法:WOOP

    推荐一个提高实现目标效率和过滤不现实目标的方法 xff1a WOOP WOOP 分别是 Wish xff08 愿望 xff09 Outcome xff08 效果 xff09 Obstacle xff08 障碍 xff09 和 Plannin
  • 序列图教程-完整指南及示例

    Sequence Diagram Tutorial Complete Guide with Examples Creately
  • 什么是好的策略?

    好的策略是承认每个人都是自私的 xff0c 但是你的策略能够在人人都是自私的基础上获得全局利益的最大化 xff0c 如果你的全局利益最大化是建立在要求每个人都是大公无私的 xff0c 那就是失败的设计 xff0c 因为这必然会导致失败
  • 软件工程3.0

  • pod、container、sidecar

    pod是一个小家庭 xff0c 它把密不可分的家庭成员 container 聚在一起 xff0c Infra container则是家长 xff0c 掌管家中共通资源 xff0c 解决顺序和依赖关系 xff0c 家庭成员通过sidecar方
  • 4种SQL标准的事务隔离级别

    SQL标准的事务隔离级别包括 xff1a 读未提交 xff08 read uncommitted xff09 xff1a 一个事务还没提交时 xff0c 它做的变更就能被别的事务看到 读提交 xff08 read committed xff
  • 设计容器网络插件的初步思路

    同一个 Pod 里面的所有用户容器的进出流量 xff0c 可以认为都是通过 Infra 容器完成的 当为Kubernetes 开发一个网络插件时 xff0c 应该重点考虑的是如何配置这个 Pod 的 Network Namespace xf
  • 各种显示接口DBI、DPI、LTDC、DSI、FSMC

    各种显示接口DBI DPI LTDC DSI FSMC qq 23899395 2019 06 05 17 30 36 4810 收藏 36 版权 首先 xff0c MIPI xff08 Mobile Industry Processor
  • 在ubuntu 16.04安装ROS Kinetic

    ubuntu16 04 已经发布一个月了 xff0c ROS的Kinetic也已经发布 xff0c 需要了解ROS发行版及支持维护的时间等 xff0c 可以参考如下网页 xff1a http wiki ros org Distributio
  • ROS创建工作空间和功能包

    所有的ROS程序 xff0c 包括我们自己开发的程序 xff0c 都被组织成功能包 xff0c 而ROS的功能包被存放在称之为工作空间的目录下 因此 xff0c 在我们写程序之前 xff0c 第一步是创建一个工作空间以容纳我们的功能包 1
  • MPU-6000(6050)介绍

    MPU 6000 xff08 6050 xff09 简介 MPU 60X0是全球首例9 轴运动处理传感器 它集成了3 轴MEMS陀螺仪 xff0c 3 轴MEMS加速度计 xff0c 以及一个可扩展的数字运动处理器DMP xff08 Dig
  • lwip/uip移植之一

    最近一直想移植一个tcp ip协议栈到板子上 xff0c 于是想到了lwip和uip lwip是一个比较完整的协议栈 xff0c 功能强大 xff0c 结合ucos系统更是方便完美 xff0c 但是需要几十k的ram xff0c 这点在我f
  • Nvidia Xavier GPIO 输入输出 中断 PWM

    文章目录 前言Jetson GPIO安装可用引脚点亮LEDGPIO输出示例GPIO输入示例GPIO EventGPIO InterruptPWM微信公众号 前言 Nvidia Jetson AGX Xavier 硬件相关 这篇讲到Xavie

随机推荐

  • Jetson Xavier/XavierNX/TX2 CANFD 配置使用

    目录 TX2 Xavier NX Xavier CAN特性TX2 Xavier NX Xavier 载板引出位置CAN收发器NVIDIA CAN DriverXavier CAN 引脚配置Jetson CAN 设置设置开机运行查看连接状态C
  • Altium Designer使用Git构想

    今天看了dtysky的 体三维显示器 PCB部分 LED阵列 用脚本写的上万个LED的自动布局和自动布线 很震惊 很欣赏 很喜欢 或许有很多我们可以想象的空间 这篇主要写Git Git主要管理文本文件 二进制文件却不大合适 尽管有 使用 G
  • 如何拿到阿里offer的?面试流程及面试题

    一个偶然的开始 交待一下 非广告 xff0c 第一次用拉勾 xff0c 感觉做的挺好 xff0c 以前一直用51job 从7月分开始 xff0c 打算找工作 xff0c 一个偶然的机会 xff0c 拉勾上一个蚂蚁金服的同学找到我 xff0c
  • STM32和Linux(转载)

    Linux和stm32 一个是软件平台一个是硬件平台 xff0c 完全不一样的 xff08 记住 xff0c 是平台 xff01 xff09 这样说吧 xff0c 既然你喜欢单片机 xff0c 就先学stm32 xff0c 把硬件基础打牢
  • PX4飞控问题之参数重置问题

    PX4在上电的时候会出现参数重置的问题 xff0c 出现这个问题的机率很小 xff0c 可能上电几千甚至上万次才会出现一次重置的情况 xff0c 但一旦出现了参数重置 xff0c 飞机就无法飞行 xff0c 得重新校准传感器 要解决这个问题
  • STM32硬件基础--LTDC显示图像

    STM32硬件基础 LTDC显示图像 海东青电子 2019 11 13 23 40 05字数 2 635阅读 3 102 海东青电子原创文章 xff0c 转载请注明出处 xff1a https www jianshu com p 21638
  • PX4轨迹生成公式推导

    PX4轨迹生成公式推导下载链接 对于多旋翼 飞行任务的时候 通过地面站画出航点 上传给飞控 飞控通过轨迹生成算法生成平滑的目标位置 速度及加速度 给位置控制模块控制飞机的位置 速度及加速度 PX4轨迹生成的方法为 约束加加速度的S型速度曲线
  • 植保无人机航线规划

    最近折腾了植保无人机航线规划的算法 支持任意多边形 不包括自相交多边形 的边界及障碍区域 其中涉及到了多边形内缩外扩 多边形的分解 多边形交集 并集 差集 深度优先搜索 最短路径算法 耗时两个多月 用C 实现整套算法 生成的库在missio
  • 现代控制工程笔记(一)控制系统的状态空间描述

    文章目录 1 基本概念2 系统的状态空间描述状态空间描述框图状态变量选取的非唯一性 3 由系统微分方程列写状态空间表达式一 微分方程中不包含输入函数的导数项相变量法其他方法 xff1a 二 微分方程中包含输入函数的导数项 4 由传递函数列写
  • 百度Apollo 2.0 车辆控制算法之LQR控制算法解读

    百度Apollo 2 0 车辆控制算法之LQR控制算法解读 Apollo 中横向控制的LQR控制算法在Latcontroller cc 中实现 根据车辆的二自由度动力学模型 1 根据魔术公式在小角度偏角的情况下有 轮胎的侧向力与轮胎的偏离角
  • 多传感器融合--MATLAB跟踪器介绍

    多传感器融合 MATLAB跟踪器介绍 MATLAB通过多目标跟踪器可以融合多传感器检测到的目标信息 xff0c 常用到的多目标跟踪器有trackerGNN trackerJPDA trackerTOMHT trackerPHD等 track
  • MATLAB多传感器融合--核心步骤

    MATLAB多传感器融合 核心步骤 MATLAB的多传感器融合的核心步骤在stepImpl函数中实现 xff0c 该函数的输入的跟踪目标和测量的目标的信息 xff0c 输出为证实的真目标信息和处于试探的跟踪目标信息 confirmedTra
  • [新手编译内核]kernel进行编译时提示No rule to make target `menconfig'.

    windows下下载了 linux 2 6 37内核源码 xff0c 拷贝到U盘上 xff0c 通过mount挂载到了虚拟机里的Centos 5 5系统上 通过putty使用host only方式连接到虚拟机 xff0c 进行操作 在 mn
  • 协议和协议栈的区别?

    在通信领域特别是无线通信领域 xff0c 我们经常会听到用到什么协议啊 xff0c 什么协议栈方面的东西 1 首先 xff0c 协议定义的是一些列的通信标注 xff0c 通信的双方需要共同按照这一个标准进行正常的数据收发 xff1b 在计算
  • linux-kernel, bus总线数据结构分析

    设备模型中的三大组件是 xff1a 总线 xff0c 驱动 xff0c 设备 bus driver device 数据结构总览 总线除了一些物理总线的抽象 xff0c 还代表一些虚拟的总线 xff0c 如platform xff0c 所以在
  • JavaScript 猜数字小游戏

    说明 单独创建一个js文件 然后在文件里面写入下列代码 之后在html页面引入该js文件即可 span class token comment 设计并实现 猜数游戏 xff0c 并输出每轮猜数游戏的猜测次数 游戏规则如下 xff1a spa
  • 纯干货:LCD屏和OLED屏的区别?手机屏幕材质各有什么区别?

    纯干货 xff1a LCD屏和OLED屏的区别 xff1f 手机屏幕材质各有什么区别 xff1f 慢慢买比价 已认证的官方帐号 74 人赞同了该文章 今天我就为大家带来一篇纯干货知识点整理 xff0c 关于手机屏幕那点事看完秒懂 以及大家对
  • OpenJDK在OpenHarmony上异常问题分析

    目录 0 前言1 问题日志打印2 报错日志代码分析3 问题解决方案 0 前言 基于OpenHarmony的2022 06 30 master之前版本OpenJDK测试OK xff0c 但是之后版本测试报异常错误 1 问题日志打印 2 报错日
  • vnc viewer远程连接xfce桌面无法打开terminal终端

    这是因为默认的terminal错啦 xff0c 改一下就好 在页面左上角上找到 Appication gt Settings gt Settings Manager gt Preferred Applications gt Utilitie
  • ucosii第一章读书笔记

    第一章 嵌入式操作系统 1 1 计算机操作系统 简介 xff1a 嵌入式操作系统属于操作系统的一种 嵌入式操作系统的概念 xff1a 应用于嵌入式系统的操作系统叫做嵌入式操作系统 操作系统的概念 xff1a 是一种系统软件 作用于硬件和应用