嵌入式系统软件及操作系统

news2024/11/26 22:42:58

0、前言 

  本专栏为个人备考软考嵌入式系统设计师的复习笔记,未经本人许可,请勿转载,如发现本笔记内容的错误还望各位不吝赐教(笔记内容可能有误怕产生错误引导)。

考查选择题为多:嵌入式系统软件特点是什么、系统软件和设备驱动程序(BSP支持包)、嵌入式操作系统的特点等等

1、嵌入式软件基础 

  • 嵌入式软件概述【*】
  • 嵌入式软件分类【**】
  • 嵌入式软件的体系结构【***】
  • 设备驱动层【***】
  • 嵌入式中间件【**】

1.1嵌入式软件概述 

嵌入式软件的特点:

  1. 规模较小。
  2. 开发难度大。硬件资源有限,涉及到底层软件的开发,需要软硬件基础,开发环境和运行环境不同。需要会调试。
  3. 实时性和可靠性要求高。这是嵌入式系统的突出特点,实时性强才能实现精准的控制。
  4. 要求固化存储。为提高运行和启动的速度是固化在存储器上的,比如单片机或者flash上。

1.2嵌入式软件分类

嵌入式软件分类: 

  1. 系统软件:控制和管理嵌入式系统资源,如嵌入式操作系统、驱动程序、中间件等。
  2. 支撑软件:辅助软件开发的工具软件。
  3. 应用软件:定义嵌入式设备的主要功能和用途,负责与用户进行交互。

1.3嵌入式软件体系结构

2、嵌入式操作系统概述

 此部分以选择题占大头,要需要区分并记牢

  • 嵌入式操作系统的基本概念(**)
  • 嵌入式操作系统的分类(***)
  • 常见的嵌入式操作系统(**)

2.1基本概念特点

 嵌入式操作系统(Embedded Operating System ,EOS)定义:工作在嵌入式环境中的操作系统。

嵌入式操作系统通用功能(即其他一般操作系统也有的功能)

  • 从软件开发者角度:把EOS看作是一种扩展机或者虚拟机。将底层的硬件细节封装起来,为运行在它上面的软件提供一个抽象的编程接口,即操作系统对外提供的系统调用函数
  • 从系统管理的角度:把EOS看成是系统资源的管理者,负责管理系统当中的各种软硬件资源

嵌入式操作系统特有的功能: 

  • 非通用型操作系统;
  • 在性能和实时性方面可能有严格的限制;
  • 能源、成本和可靠性通常是影响设计的重要因素;
  • 占用资源少;
  • 可裁剪、可配置;

 嵌入式系统都会有内核(kernel):内核是操作系统的一个组件,包含了OS的主要功能,即OS的各种特性及其相互之间的依赖关系。

内核的主要功能:

  • 任务管理:对系统中运行的软件进行描述和管理,并完成处理器资源分配和调度。
  • 存储管理:提高内存的利用率,方便用户使用,提供足够的存储空间。
  • I/O设备管理:方便设备的使用,提高CPU和I/O设备利用率。
  • 文件管理:解决文件资源存储、共享、保密和保护等问题。 

 注意:不同的嵌入式系统内核设计各不相同,不一定包含内核所有的4个功能模块,这取决于系统设计和实际需求。是可裁剪的。

2.2操作系统的分类

2.3常见的嵌入式操作系统

尾言

       本专栏我总结了大量的思维导图,但是因为思维导图太大与CSDN的排版不匹配,故我会把每篇博文绘制的思维导图上传到我的资源里,有需要的自取,我会设置为0积分下载的,创作不易还望各位大佬点赞支持一下谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1511527.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决Klipper下位机ID获取失败问题

使用硬件: 上位机:必趣派,版本CB1_Debian11_Klipper_kernel5.16_20230303 下位机:八爪鱼STM32F407 问题:上位机获取下位机ID失败。 解决:调试过程中,发现上位机和下位机之间没有物理连接&…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Stepper)

步骤导航器组件,适用于引导用户按照步骤完成任务的导航场景。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 仅能包含子组件StepperItem。 接口 Stepper(value?: { index?…

2021年江苏省职业院校技能大赛高职组 “信息安全管理与评估”赛项任务书

2021年江苏省职业院校技能大赛高职组 “信息安全管理与评估”赛项任务书 一、赛项时间:二、赛项信息三、竞赛内容:第一阶段任务书(300分)任务1:网络平台搭建(60分)任务2:网络安全设备…

AI 技术:改变世界的力量

人工智能(AI)是当今科技领域最热门的话题之一,它已经成为推动社会进步和经济发展的重要力量。AI 技术的应用范围非常广泛,从智能手机、自动驾驶汽车到医疗保健、金融服务等领域,都可以看到 AI 的身影。 那么&#xff0…

GIS学习笔记(四):GIS数据可视化综合(矢量数据)

矢量数据 arcgis的主要可视化工具:属性 符号系统 符号系统 按类别 这里不会涉及到数字的大小因素,只是按照字符的分类去做可视化 “唯一值”的含义 “建筑年代”字段共有10个年份,一个年份也许有多个数据( eg.1990年的建筑有20个)&…

JavaWeb——013SpringBootWeb综合案例(事务管理、AOP)

事务&AOP 目录 事务&AOP1. 事务管理1.1 事务回顾1.2 Spring事务管理1.2.1 案例1.2.2 原因分析1.2.3 Transactional注解 1.3 事务进阶1.3.1 rollbackFor1.3.3 propagation1.3.3.1 介绍1.3.3.2 案例 2. AOP基础2.1 AOP概述2.2 AOP快速入门2.3 AOP核心概念 3. AOP进阶3.1 …

传统SessionID,Cookie方式与SringSecurity+JWT验证方式

在Spring Boot框架中,可以使用Spring Session来处理会话管理。Spring Session允许开发者在不同的存储后端(如Redis、数据库等)之间共享和管理会话状态。通过Spring Session,开发者可以轻松地实现会话管理、会话失效以及跨多个节点…

使用函数返回值的循环、使用带返回值的函数

本文参考C Primer Plus进行C语言学习 文章目录 使用函数返回值的循环使用带返回值的函数 一.使用函数返回值的循环 #include<stdio.h> double power(double n,int p); int main() {double x,xpow;int exp;printf("Enter a number and the posotive integer power&…

J1周-ResNet-50算法

本文为&#x1f517;365天深度学习训练营 中的学习记录博客 原作者&#xff1a;K同学啊|接辅导、项目定制 我的环境&#xff1a; 1.语言&#xff1a;python3.7 2.编译器&#xff1a;pycharm 3.深度学习框架Tensorflow/Pytorch 1.8.0cu111 一、问题引出 CNN能够提取低、中、…

Early if-conversion - 优化阅读笔记

Early if-conversion 用于对于没有很多可预测指令的乱序CPU。目标是消除可能误预测的条件分支。 来自分支两侧的指令都会被推测性地执行&#xff0c;并使用 cmov 指令选择结果。 // SSAIfConv 类在确定可能的情况下&#xff0c;对SSA形式的机器码执行if-conversion。该类不包…

为什么不要使用elasticsearch

互联网上有很多文章&#xff0c;都在讲为什么要使用elasticsearch&#xff0c;却很少有人讲为什么不要使用elasticsearch。作为深入研究elasticsearch四年&#xff0c;负责公司万亿级别检索的操盘手&#xff0c;借着这篇文章&#xff0c;给大家分享一下&#xff0c;为什么不要使…

jetson nano在python中illegal instruction

在使用nano原生的python中导入numpy报错 安装anaconda也装不上 安装miniforge可以安装上 参考 【nano系列】jetson nano 安装conda管理环境&#xff08;三&#xff09;_jetson 安装conda-CSDN博客 下载地址 Releases conda-forge/miniforge GitHub 下载完毕后执行 bash Mam…

Room+ViewModel+LiveData

Room框架支持的LiveData会自动监听数据库的变化&#xff0c;当数据库发生变化的时候&#xff0c;会调用onChanged函数更新UI 1.MainActivity package com.tiger.room2;import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.vie…

Vue3全家桶 - Pinia - 【1】(安装与使用 + Store + State + Getters + Actions)

Pinia pinia 是 Vue 的专属状态管理库&#xff0c;它允许你跨组件或跨页面共享状态&#xff1b; 一、 安装与使用 pinia 安装语法&#xff1a;yarn add pinia npm install pinia创建一个 pinia &#xff08;根存储&#xff09;并将其传递给应用程序&#xff1a; 目标文件&am…

[C语言] 数据存储

类型意义&#xff1a; 1.类型决定内存空间大小&#xff08;大小决定了使用范围&#xff09; 2.如何看待内存空间的视角 类型分类 整形 类型大小(字节)short2int4long4long8 浮点型 类型大小(字节)float4double8long double12 构造类型 数组结构性struct联合union枚举enum 指…

七个项目掌握freertos

1、闪烁LED&#xff1a; 最基本的示例项目&#xff0c;涉及到创建一个简单的任务&#xff0c;用于控制LED的闪烁。这个项目会教你如何初始化FreeRTOS并创建任务。 #include "FreeRTOS.h" #include "task.h" #define LED_PIN (某个GPIO引脚)void vBlinkTas…

BUGKU-WEB cookies

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 看源码看F12&#xff1a;看请求链接看提示&#xff1a;cookies欺骗 相关工具 插件&#xff1a;ModHeader或者hackbarbase64解密 解题步骤 看源码 就是rfrgrggggggoaihegfdiofi48ty598whrefeoia…

2000-2023年7月全国各省专利侵权结案案件数量数据

2000-2023年7月全国各省专利侵权结案案件数量数据 1、时间&#xff1a;2000-2023年7月 2、指标&#xff1a;地区、年份、专利侵权纠纷行政案件-结案数目 3、范围&#xff1a;31省 4、来源&#xff1a;国家知识产权局&#xff0c;并由该局每个月公布的数据汇总而成 5、指标…

STM32CubeIDE基础学习-STM32CubeIDE软件代码编写格式问题

STM32CubeIDE基础学习-STM32CubeIDE软件代码编写格式问题 前言 代码编写最好就是规定一个格式&#xff0c;或者建立一个偏好&#xff0c;这样写出来的代码就方便自己管理了&#xff0c;不然代码乱放下次打开工程就很难找到具体位置&#xff0c;如果规定了格式&#xff0c;那么…