【小黑嵌入式系统第一课】嵌入式系统的概述(一)

news2024/11/25 6:46:15

文章目录

    • 一、嵌入式系统基本概念
      • 计算机发展的三大阶段
      • CPU——计算机的核心
      • 什么是嵌入式系统
      • 嵌入式系统的分类
    • 二、嵌入式系统的特点
    • 三、嵌入式系统发展
      • 无操作系统阶段
      • 简单操作系统阶段
      • 实时操作系统阶段
      • 面向Internet阶段
    • 四、嵌入式系统的应用
      • 工业控制 工业设备
      • 通信设备
      • 信息家电
      • 未来嵌入式系统的发展趋势

一、嵌入式系统基本概念

计算机发展的三大阶段

  • 第一阶段:始于五十年代的由IBM, Burroughs, Honeywell等公司率先研制的大型机。
  • 第二阶段:始于七十年代的个人计算机。
  • 第三阶段:计算机正迈入下一个充满机遇的阶段——“后PC时代”或“无处不在的计算机”阶段

在这里插入图片描述

计算机不会成为科幻电影中的那种贪婪的怪物, 而是将变得小巧玲珑, 无处不在。他们藏身在任何地方, 又消失在所有地方, 功能强大, 却又无影无踪。人们将这种思想称为: “无所不在的计算机”。


CPU——计算机的核心

Jim Turley2000嵌入式系统国际会议上曾说过:

“提到CPU我们很直觉地会联想到PC,但事实上CPU的应用领域、范围及采用的数量都远远超过PC的范围。以数量来看,x86的CPU,包含Intel及AMD公司所生产的,加起来也抵不过其它种类CPU总消耗量的0.1%(其中应用数量最大的是在嵌入式系统)。数量之大说明了嵌入式系统应用的范围之广。这也意味没有什么所谓典型的嵌入式系统应用。嵌入式CPU还包括微控制器及信号处理器等等”。


什么是嵌入式系统

简单来说:嵌入式系统就是嵌入到对象体内的专用计算机系统

三要素:嵌入、专用、计算机

  • 嵌入性:嵌入到对象体系中,有对象环境要求
  • 专用性:软、硬件按对象要求配置
  • 计算机:实现对象的数据处理及智能化功能

广义来说
一个嵌入式系统就是一个具有特定功能或用途的计算机软硬件集合体。
即以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统 。
嵌入式系统发展的最高形式——片上系统(SOC)


嵌入式系统的分类

按表现形式分(硬件范畴)

▲芯片级(MCU、SoC)
▲板级(单片机、模块)
▲设备级(工控机)

按处理器位数分(硬件范畴)

▲8位嵌入式系统
▲16位嵌入式系统
▲32位嵌入式系统
▲64位嵌入式系统

8位和16位嵌入式系统目前已经大量应用,32位嵌入式系统正成为主流发展趋势,而64位嵌入式系统是高度复杂的、高速的嵌入式系统已经开始采用。

按确定性要求分(软件范畴为主)

▲硬实时系统:对系统响应时间有严格的要求,如果系统响应时间不能满足,就会引起系统崩溃或致命的错误。 (工业和军工系统)
▲软实时系统:对系统响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。 (消费类产品)

按处理速度分

▲强实时系统:其系统响应时间在毫秒或微秒级。
▲一般实时系统:其系统响应时间在秒级,其实时性的要求比强实时系统要差一些。
▲弱实时系统:其系统响应时间更长。这种系统的响应时间可能随系统负荷的轻重而变化。

按嵌入式系统软件复杂程度分

▲循环轮询系统
▲前后台系统
▲有限状态机系统
▲单处理器多任务系统
▲多处理器多任务系统

按应用分

在这里插入图片描述


二、嵌入式系统的特点

由于嵌入式系统是应用于特定环境下,针对特定用途来设计的系统,所以不同于通用计算机系统。它的硬件和软件都必须高效率地设计,“量体裁衣”、去除冗余,力争在较少的资源上达成所需的性能。

它与通用的计算机系统相比具有以下显著特点:

(1). 专用性强

嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。即使在同一品牌、同一系列的产品中也需要根据系统的硬件的变化和增减不断进行修改。而针对不同的任务,往往需要对系统进行较大更改。

(2). 系统精简

嵌入式系统通常“嵌入”到对象的体系中,其软硬件系统都必须高效率地设计,在保证稳定、安全、可靠的基础上量体裁衣、去除冗余,确保系统具有低功耗、小体积、高集成度和低成本等优势,力争用较少的软硬件资源实现较高性能。

(3). 高实时性

高实时性是嵌入式软件的常见要求,一些处理器的硬件体系结构也会针对高实时性进行有针对性的设计。

(4). 高可靠性

嵌入式系统一般要求具有出错处理和自动复位功能,特别是对于一些在极端环境下运行的嵌入式系统而言,其可靠性设计尤其重要。

在大多数嵌入式系统中一般都包括一些机制,如电源监控、看门狗定时器、内存保护和重启动机制等。

(5). 操作系统内核小、可裁剪、实时可靠、可固化

由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较之传统的操作系统要小很多。如Enea公司的OSE分布式系统,内核只有5kB,而Windows的内核则要大很多。

(6). 开发工具和开发环境的专用性

嵌入式系统本身一般不具备自主开发能力,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备和各种仪器设备。开发时往往有宿主机和目标机的概念,宿主机用于程序的开发,目标机作为最后的执行机,开发时需要交叉结合进行。

(7). 关注成本

嵌入式系统通常需要注意的成本是系统成本,特别是量大的消费类数字化产品,其成本是产品竞争的关键因素之一。
嵌入式系统的成本包括:

  • 一次性的开发成本 NRE(Non-Recurring Engineering)成本
  • 产品成本:硬件BOM、外壳包装和软件版税等
  • 批量产品的总体成本=NRE成本+每个产品成本*产品总量
  • 每个产品的最后成本=总体成本/产品总量=NRE成本/产品总量+每个产品成本

三、嵌入式系统发展

在这里插入图片描述

无操作系统阶段

嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常用于各类工业控制和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统资源直接控制,运行结束后再清除内存。这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用8位的CPU芯片来执行一些单线程的程序,因此严格地说还谈不上"系统"的概念 。
这一阶段嵌入式系统的主要特点是:系统结构和功能相对单一,处理效率较低,几乎没有用户接口。由于这种嵌入式系统使用简便、价格低廉,因而在工业控制等领域得到了非常广泛的应用。但却无法满足现今对执行效率、存储容量等都有较高要求的信息家电等场合的需要。

简单操作系统阶段

20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的CPU、I/O接口、串行接口以及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设计的微处理器,并一举成为嵌入式系统领域中异军突起的新秀。与此同时,嵌入式系统的程序员也开始基于一些简单的“操作系统”开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。
这一阶段嵌入式系统的主要特点是:出现了大量高可靠、低功耗的嵌入式处理器。各种简单的嵌入式操作系统开始出现并得到迅速发展,用于控制系统负载以及监控应用程序的运行,初步具备了一定的兼容性和扩展性,内核精巧且效率高。

实时操作系统阶段

20世纪90年代,在分布式控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。
这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大的改善,具有高度的模块化和可扩展性,能够运行在各种不同类型的微处理器上。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用程序的开发变得更加简单。

面向Internet阶段

21世纪无疑是一个网络的时代,随着Internet的进一步发展,以及Internet技术与信息家电、工业扩展技术等的结合日益紧密,嵌入式设备与Internet的结合是嵌入式技术的真正未来。
信息时代和数字时代的到来,为嵌入式系统的发展带来了巨大的机遇,同时也对嵌入式系统厂商提出了新的挑战。目前,嵌入式技术与Internet技术的结合正在推动着嵌入式技术的飞速发展,嵌入式系统的研究和应用产生了如下新的显著变化:

  • (1). 新的微处理器层出不穷,嵌入式操作系统自身结构的设计更加便于移植,能够在短时间内支持更多的微处理器;
  • (2). 嵌入式系统的开发成了一项系统工程,开发商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包;
  • (3). 通用计算机上使用的新技术、新概念开始逐步移植到嵌入式系统中,如嵌入式数据库、移动代理、实时CORBA等,嵌入式软件平台得到进一步完善;
  • (4). 各类嵌入式Linux操作系统迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,很适合信息家电等嵌入式系统的需要;
  • (5). 网络化、信息化的要求随着Internet技术的成熟和宽带的提高而日益突出,以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构变得更加复杂,网络互联成为必然趋势;
  • (6). 精简系统内核,优化关键算法,降低功耗和软硬件成本;
  • (7). 提供更加友好的多媒体人机交互界面。

四、嵌入式系统的应用

在这里插入图片描述

工业控制 工业设备

过去在工业过程控制、数控机床、电力系统、电网安全、设备监测、石油化工系统等方面,大部分低端型设备主要采用的是8位单片机。

随着技术发展,目前许多设备除了要进行实时控制,还须将设备状态、传感器信息等在显示屏上实时显示,以及与其它设备进行联网。

通信设备

以手机嵌入式系统为例:
在这里插入图片描述

信息家电

以智能家居为例:
在这里插入图片描述
除此之外,嵌入式系统还在很多方面具有应用,像汽车电子、国防安全、航天航空等领域,生活无处不见嵌入式的身影…

未来嵌入式系统的发展趋势

  • 互联网的普及
  • 半导体技术的提升
  • 3C(Computer,Communication,Consumer Electrics)技术的快速融合
  • 满足使用者的大量需求
  • 信息服务应用生活化
  • 可穿戴式应用

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

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

相关文章

Leetcode226.翻转二叉树

本专栏内容为:leetcode刷题专栏,记录了leetcode热门题目以及重难点题目的详细记录 💓博主csdn个人主页:小小unicorn ⏩专栏分类:Leetcode 🚚代码仓库:小小unicorn的代码仓库🚚 &…

虚幻引擎5:增强输入的使用方法

一、基本配置 1.创建一个输入映射上下文(映射表) 2.创建自己需要的操作映射或者轴映射 3.创建完成之后进入这个映射,来设置类型,共有4个类型 1.Digital:是旧版操作映射类型,一般是按下抬起来使用,像跳跃…

虚拟机安装Docker

安装Docker Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道。…

【LeetCode高频SQL50题-基础版】打卡第7天:第36~40题

文章目录 【LeetCode高频SQL50题-基础版】打卡第7天:第36~40题⛅前言按分类统计薪水🔒题目🔑题解 上级经理已离职的公司员工🔒题目🔑题解 换座位🔒题目🔑题解 电影评分🔒题目&#x…

buuctf week2-web-ez_sql

闭合之后尝试判断字段数,存在WAF,使用大小写绕过(后面的sql语句也需要进行大小写绕过) ?id1 Order by 5-- 测出有5列 ?id1 Order by 6-- 查一下数据库名、版本、用户等信息 ?id1Union Select database(),version(),user(),4,…

ACP.复盘方法

复盘要怎么做的有水准,让领导满意,方式方法很重要。今天给你们安利5种复盘方法,保准你省事,领导还满意。 一、KPT复盘法 7月份年中一直在做和复盘相关的事,像公司的OKR复盘、年中战略规划,不过日常很多生…

Unity应用开发——开启无限创造之旅

Unity是一款令人叹为观止的跨平台游戏开发引擎,它打开了创作者们的无限创造之门。Unity不仅仅限于游戏开发,它还在虚拟现实、增强现实、模拟训练等多个领域取得了巨大成功。在经过充满激情和创意的Unity应用开发课程之后,世达教育迎来了这段精…

十七、【渐变工具组】

文章目录 渐变工具油漆桶工具 渐变工具 渐变样式有5种,分别是线性渐变,径向渐变,角度渐变,对称渐变,菱形渐变 另外渐变工具的颜色可以进行编辑,需要先打开渐变编辑工具: 如何使用渐变编辑工…

grafana api创建dashboard 记录

文章目录 json model导入申请api key创建dashboard删除dashboard json model导入 直接在ui通过json model 导入,开发自己用还好,但对非开发人员不太友好,故考虑通过api后台自动创建 api doc : https://grafana.com/docs/grafana/v9.3/devel…

【重拾C语言】十、递归程序设计

目录 前言 十、递归程序设计 10.1 计算n!——递归程序设计 10.2 程序设计实例 10.2.1 汉诺塔 10.2.2 齿轮 10.2.3 组合 10.3 计算算术表达式的值——间接递归 10.4 递归程序执行过程 前言 递归程序设计是一种编程技术,其中一个函数通过调用自身…

Navicat For MySQL使用指南

勾选填充零后的效果,就是不够的位数用零来补齐!

Eclipse插件安装版本不兼容问题解决方案——Papyrus插件为例

项目场景: Eclipse Papyrus安装后,没有新建Papyrus工程选项,也没有新建Papyrus Model的选项。 打开Papyrus Model会报错 问题描述 同样的,安装其他插件也是。可能某个插件之前安装是好用的,结果Eclipse的版本更新了,就再也安装不好用了 原因分析: 根本原因是因为包之…

交通 | python网络爬虫:“多线程并行 + 多线程异步协程

推文作者:Amiee 编者按: 常规爬虫都是爬完一个网页接着爬下一个网页,不适应数据量大的网页,本文介绍了多线程处理同时爬取多个网页的内容,提升爬虫效率。 1.引言​ 一般而言,常规爬虫都是爬完一个网页接着…

【MySql】7- 实践篇(五)

文章目录 1. 加锁规则1.1 案例一:等值查询间隙锁1.2 案例二:非唯一索引等值锁1.3 案例三:主键索引范围锁1.4 案例四:非唯一索引范围锁1.5 案例五:唯一索引范围锁 bug1.6 案例六:非唯一索引上存在"等值…

TLS 详解

目录 TLS 定义HTTPS HTTP over TLS.加密记录层分片 (Fragmentation)记录压缩和解压缩 (Record compression and decompression)空或标准流加密 (Null or standard stream cipher)CBC 块加密 (分组加密)记录有效载荷保护 (Record payload protection)密钥计算 (Key calculation…

【C++初阶】关键字命名空间缺省函数函数重载入门必看!!!超详解!!!

主页点击直达:个人主页 我的小仓库:代码仓库 C语言偷着笑:C语言专栏 数据结构挨打小记:初阶数据结构专栏 Linux被操作记:Linux专栏 LeetCode刷题掉发记:LeetCode刷题 算法:算法专栏 C头…

解锁互联网安全的新钥匙:JWT(JSON Web Token)

目录 前言 一、JWT简介 1. 什么是JWT? ​编辑 2. JWT的工作原理 3.JWT如何工作的 4. JWT的优势 5. 在实际应用中使用JWT 6.传统Session和JWT认证的区别 6.1.session认证方式 6.2.JWT认证方式 7.基于Token的身份认证 与 基于服务器的身份认证 二、JWT的…

一文带你快速上手MySQL8窗口函数,实现更高效的数据处理

文章目录 MySQL8窗口函数前言窗口函数相关概念介绍窗口函数分区介绍 窗口函数的使用语法介绍实战演练示例一:聚合函数示例二:排名函数示例三:偏移函数示例四:分布函数示例五:首尾函数示例六:其它函数 总结 …

GIS小技术分享(一):python中json数据转geojson或者shp

1.环境需求 geopandspandasshapelyjsonpython3 2.输入数据(path字段,线条) [{"id": "586A685D568311B2A16F33FCD5055F7B","name": "普及江","path": "[[116.35178835446628,23.57…

NeuroImage | 右侧颞上回在语义规则学习中的作用:来自强化学习模型的证据

在现实生活中,许多规则的获取通常需要使用语言作为桥梁,特别是语义在信息传递中起着至关重要的作用。另外,个体使用的语言往往具有明显的奖励和惩罚元素,如赞扬和批评。一种常见的规则是寻求更多的赞扬,同时避免批评。…