系统架构设计师教程 第16章 16.1 嵌入式系统概述 笔记

16.1 嵌入式系统概述

嵌入式系统 (Embedded System) 是为了特定应用专门构建的计算机系统,其架构是随着嵌入式系统的逐步应用而发展形成。

16.1.1 嵌入式系统发展历程

五个阶段:

一:单片微型计算机 (SCM) 阶段,即单片机时代。嵌入式系统硬件是 单片机,软件无操作系统,采用汇编语言实现系统的功能。主要特点是: 系统结构和功能相对单一,处理效率低、存储容量也十分有限,几乎没有用户接口。

二:微控制器 (MUC) 阶段。主要以嵌入式微处理器为基 础,以简单操作系统为核心,主要特点是硬件使用嵌入式微处理器、微处理器的种类繁多,通用性比较弱,系统开销小,效率高。主要的技术发展方向是:不断扩展对象系统要求的各 种外围电路和接口电路,突显其对象的智能化控制能力。

三:片上系统 (SoC)。 主要特点是:嵌入式系统能够运行于各种不同类型的微处理 器上,兼容性好,操作系统的内核小,效率高。

四:以 Internet为基础的嵌入式系统。嵌入式网络化主要表现:嵌入式处理器集成了网络接口、嵌入式设备应用于网络环境中。

五:在智能化、云技术推动下的嵌入式系统。其特点是低能耗、高速度、高集成、 高可信、适用环境广等,两个方向发展:面向端-端系统微型传感 器设备、面向智能服务的设备。

16.1.2 嵌入式系统硬件体系结构

嵌入式系统主要由嵌入式微处理器(控制器 (Micro Control Unit,MCU))、 存储器 (RAM/ROM)、 内(外)总线逻辑、定时/计数器 (Time)、 看门狗电路、 I/O 接口(串口、网络、 USB、JTAG等)和外部设备 (UART、LED等)等部件组成。

1.嵌入式微处理器

主要用于处理相关任务。

根据芯片可适应的工作环境温度。芯片分为民用级、工业级和军用级。民用级器件是070℃、工业级是-4085℃、军用级是-55~150℃。

根据使用场景不同选择不同类型的处理器,大致可分为:

● 微处理器 (Micro Processor Unit,MPU)

● 微控制器 (Micro Control Unit,MCU)

● 信号处理器 (Digital Signal Processor,DSP)

● 图形处理器 (Graphics Processing Unit,GPU)

● 片上系统 (System on Chip,SoC)

2.存储器 (memory)

主要用于存储程序和各种数据信息的记忆部件,是时序逻辑电路的 一种。按存储器的使用类型可分为只读存储器 (ROM) 和随机存储器 (RAM)。

只读存储器用于存储计算机的指令集

随机存储器用于高速暂存数据,断电数据消失

3.内(外)总线逻辑

总线是计算机各种功能部件之间传输信息的公共通信干线,它是由导电组成的传输线束

计算机总线包括数据总线、地址总线和控制总线。

数据总线 用于在CPU与 RAM之间来回传送需要处理或者需要存储的数据;

地址总线用于指定在RAM之中存储的数据的地址;

控制总线将微处理器控制单元的信号传送到周边设备。

总线存拓扑结构,主要包括星形、树状、环形、总线型和交叉开关型等五种。

按连接部件分类,分为:片内总线、系统总线、局部总线和通信总线等四种。

4.看门狗电路

看门狗电路是嵌入式系统必须具备的一种系统恢复能力。基本功能是在系统发生软件问题和程序跑飞后使系统重新启动。基本原理是看门狗计数器正常工作时自动计数, 程序流程定期将其复位,如果系统在某处卡死或者跑飞,该定时器将溢出,并将进入中断处理, 在设定时间间隔内,系统可保留关键数据,然后系统复位重启。

16.1.3 嵌入式软件架构概述

简单的嵌入式软件架构包括:应用软件、嵌入式操作系统、硬件层。

典型的嵌入式软件架构有两种:层次 化模式架构和递归模式架构。

通用的开放式架构 (Generic Open Architecture,GOA),是一种架构框架,用来解决嵌入式系统的开放性、软件可移植性等问题,以层次化架构风格为主要思想,采用抽象方法,规定软件、硬件和接口的结构,方便在不同应用领域实现系统功能。

架构规定了4种直接接口和4种逻辑接口,用于支持系统的移植和升级,

直接接口:上下层程序间功能可以直接调用

逻辑接口:同层间功能调用采用基于消息的逻辑接口

GOA主要特点:

可移植性

可互操作性

可裁剪性

易获得性

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

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

相关文章

小猿口算自动PK脚本

大家好,我是小黄。 近期,众多大学生炸鱼小猿口算APP,把一众小学生都快虐哭了,小黄听闻后,也跃跃欲试。对此小黄也参考网上的资料写了一个自动Pk的脚步。 首先大家需要安装一个pytorch环境过程中,如果小伙伴对此不熟悉的…

C语言-输入输出

实验一:编写一个输出两行自定义字符的 C 程序 一、实验目的 熟悉 C 语言的基本结构和语法。掌握 printf() 函数的使用方法。了解在 Code::Blocks 中编写、编译和运行程序的过程。 二、实验内容 编写一个 C 程序,要求输出两行字符,内容自定…

软考《信息系统运行管理员》- 4.3 信息系统软件运维的过程

4.3 信息系统软件运维的过程 文章目录 4.3 信息系统软件运维的过程日常运维日常运维的内容日常运行例行测试维护例行测试流程的关键点例行维护流程的关键点 定期测试维护 缺陷诊断与修复信息系统软件缺陷的概念信息系统软件缺陷的分类信息系统软件缺陷诊断与修复流程缺陷诊断与…

springboot kafka多数据源,通过配置动态加载发送者和消费者

前言 最近做项目,需要支持kafka多数据源,实际上我们也可以通过代码固定写死多套kafka集群逻辑,但是如果需要不修改代码扩展呢,因为kafka本身不处理额外逻辑,只是起到削峰,和数据的传递,那么就需…

Koa学习

Koa 安装与配置 1. 初始化项目 在终端中执行以下命令: # 创建项目文件夹 mkdir koa cd koa# 初始化并安装依赖 npm init -y npm install koa npm install nodemon --save-dev2. 修改 package.json 在 package.json 文件中进行如下修改: {"type…

llava论文阅读

论文名称是 Visual Instruction Tuning 视觉指令微调 摘要 我们首次尝试仅使用语言模型GPT-4来生成多模态的语言-图像指令跟随数据。 通过在生成的数据上进行指令微调,我们引入了LLaVA(Large Language and Vision Assistant):一…

c++基础知识复习(1)

前期知识准备 1 构造函数 (1)默认构造函数:没有参数传入,也没有在类里面声明 (2)手动定义默认构造函数:没有参数传入,但是在类里面进行了声明 可以在类外实现或者类内实现 以下案…

【Windows】 C++实现 Socket 通讯

【Windows】 C实现 Socket 通讯 一&#xff1a;头文件与套接字实例 &#xff08;1&#xff09;Windows 系统下所需头文件 &#xff1a; #include<WinSock2.h>  &#xff08;2&#xff09;我们使用 SOCKET 来作为套接字的实例&#xff1a;通过查看源码得知其是一个无符号…

计算机网络803-(4)网络层

目录 1.虚电路服务 虚电路是逻辑连接 2.数据报服务 3.虚电路服务与数据报服务的对比 二.虚拟互连网络-IP网 1.网络通信问题 2.中间设备 3.网络互连使用路由器 三.分类的 IP 地址 1. IP 地址及其表示方法 2.IP 地址的编址方法 3.分类 IP 地址 &#xff08;1&#x…

LabVIEW中的非阻塞定时器

在LabVIEW编程中&#xff0c;通常需要在某些任务执行过程中进行非阻塞的延时操作。例如&#xff0c;显示某条信息一段时间&#xff0c;同时继续执行其他任务&#xff0c;并在延时时间结束后停止显示该信息。这类需求通常用于处理优先级不同的信息显示&#xff0c;如错误信息需要…

【Arduino IDE安装】Arduino IDE的简介和安装详情

目录 &#x1f31e;1. Arduino IDE概述 &#x1f31e;2. Arduino IDE安装详情 &#x1f30d;2.1 获取安装包 &#x1f30d;2.2 安装详情 &#x1f30d;2.3 配置中文 &#x1f30d;2.4 其他配置 &#x1f31e;1. Arduino IDE概述 Arduino IDE&#xff08;Integrated Deve…

Jupyter的使用分享

文章目录 碎碎念安装方法1.安装Anaconda方法2.通过库的安装方式 启动使用教程1.指定目录打开2.启动后的简单使用 小结 碎碎念 前情提示 之前与许多小伙伴交流的时候&#xff0c;发现大家对于pycharm更容易上手&#xff08;可能是比较好设置中文的原因&#xff09;&#xff0c;在…

算法: 前缀和题目练习

文章目录 前缀和题目练习前缀和二维前缀和寻找数组的中心下标除自身以外数组的乘积和为 K 的子数组和可被 K 整除的子数组连续数组矩阵区域和 前缀和题目练习 前缀和 自己写出来了~ 坑: 数据太大,要用long. import java.util.Scanner;public class Main {public static voi…

vue中用echarts做一个躺着的柱状图

在 Vue 中集成 ECharts 并绘制一个躺着的柱状图&#xff08;即横向的柱状图&#xff09;&#xff0c;你可以通过设置 ECharts 的 bar 类型&#xff0c;并配置 xAxis 和 yAxis 来实现。下面是一个完整的 Vue 示例代码。 示例代码&#xff1a; <template><div id"…

《C++编程新探索:实现高效视频拼接算法》

在当今数字化时代&#xff0c;视频内容的创作和处理变得越来越重要。视频拼接作为一种常见的视频处理技术&#xff0c;能够将多个视频片段组合成一个连续的视频&#xff0c;为视频创作者和用户带来了更多的可能性。本文将探讨如何在 C中实现高效的视频拼接算法&#xff0c;为开…

数据结构与算法JavaScript描述练习------第3章列表

1. 增加一个向列表中插入元素的方法&#xff0c;该方法只在待插元素大于列表中的所有元素时才执 行插入操作。这里的大于有多重含义&#xff0c;对于数字&#xff0c;它是指数值上的大小&#xff1b;对于字母&#xff0c;它 是指在字母表中出现的先后顺序。 function isGreate…

【element-tiptap】如何引进系统中的字体?

源码地址&#xff1a; https://github.com/Leecason/element-tiptap 源码中给出的字体如下 可以看到&#xff0c;咱们日常需要的黑体、微软雅黑等都没有&#xff0c;所以这篇文章来探索一下怎么加字体。 另外呢&#xff0c;肯定有小伙伴发现&#xff0c;这个按钮点击的时候&am…

IDEA 配置 Git 详解

本文将介绍在IntelliJ IDEA 中如何配置Git 没有安装配置 Git 的可以参考我的这篇文章&#xff1a;安装配置 Git 一、操作环境及准备 1.win 10 2.已安装且配置了Git 3.有Gitee账户 4.安装了IntelliJ IDEA 2023.2.1 5.全程联网 二、配置步骤 2.1 配置git 1.采用全局设置&…

OpenCV视频I/O(18)视频写入类VideoWriter之初始化 VideoWriter 对象的函数open()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 初始化或重新初始化视频编写器。 该方法打开视频编写器。参数与构造函数 VideoWriter::VideoWriter 中的相同。 cv::VideoWriter::open() 函数用…

C++继承与菱形继承(一文了解全部继承相关基础知识和面试点!)

目的减少重复代码冗余 Class 子类(派生类) &#xff1a; 继承方式 父类&#xff08;基类&#xff09; 继承方式共有三种&#xff1a;公共、保护、私有 父类的私有成员private无论哪种继承方式都不可以被子类使用 保护protected权限的内容在类内是可以访问&#xff0c;但是在…