《嵌入式C编程实战》——第1章 嵌入式系统简介 1.1 嵌入式计算机系统-阿里云开发者社区

开发者社区> 异步社区> 正文

《嵌入式C编程实战》——第1章 嵌入式系统简介 1.1 嵌入式计算机系统

简介:
+关注继续查看

本节书摘来异步社区《嵌入式C编程实战》一书中的第1章,第1.1节,作者:【瑞典】Lars Bengtsson(本特松), Lennart Lindh(林德),更多章节内容可以访问云栖社区“异步社区”公众号查看

第1章 嵌入式系统简介

嵌入式C编程实战

1.1 嵌入式计算机系统

图1.1为两台不同的计算机。

ea30e3f15a4aa68209acbcdaf65acda0265667ee

大部分人看到图1.1后,立刻就可以认出左边的机器是一台计算机。不过,几乎没有人会把右侧的机器看作是计算机,事实上,它确实是一台货真价实的计算机。这两台看起来截然不同的计算机最根本的区别在于,右侧的计算机是嵌入在洗衣机内部的。

如果你认识到这两者的差异,就可以将计算机分成通用计算机和嵌入式计算机两类。

1.通用计算机
通用计算机指的是台式机、笔记本电脑以及工作站等。通用计算机(几乎)总是配有键盘、显示设备、硬盘驱动器,以及用来连接互联网的以太网卡这些设备。这些通用计算机都进行了优化,以便运行Windows或者Mac OS之类的(非实时的)操作系统。

2.嵌入式计算机
嵌入式计算机也可以拥有上述的这些设备,但通常他们与此不同。嵌入式计算机要被安装在被控系统的内部。设计嵌入式计算机的目的是用来专门完成一个(或者几个)任务。图1.1中右边的计算机就是被设计用来实现多个不同的洗衣程序。因此,这台计算机上不是用来运行Windows操作系统的,更不可能被用来玩魔兽世界了。但这并不能改变它是一台计算机的事实,它有着一颗计算机的“心”,这颗“心”由CPU、存储器和一些输入/输出单元构成。

由于嵌入式计算机是具有特定功能的专用计算机,所以当和通用计算机进行参数方面的比较时,嵌入式计算机显得弱的可怜。无论是兆赫(Mega Hertz,MHz)、内存空间(以GB计)、每秒百万个浮点操作(Million Floating-point Operations per Second,MFLOPs),或者数据传输速率(以Gbit/s计)这些指标的哪一项,两者都无法相提并论。嵌入式计算机在成本和功耗方面都进行了优化。谁都不会需要使用一个主频高达5GHz的英特尔酷睿处理器和一个存储容量达到5TB的硬盘组成的通用计算机来控制洗衣机,因为这样做意味着巨大的浪费(费用和能源上的)。通用系统和嵌入式系统的关系如图1.2所示。

6c60b46f87e301322ffaf1a5273eb5593df14fda

不过,无论是通用计算机,还是嵌入式计算机,都具有相同的工作原理,它们都是计算机,两者之间的差异仅在于“规模”。

我们很难给出一个让所有人都能满意的关于嵌入式系统的定义。但是,我们对于这个系统定义现在已经取得了一些共识。下面列出的这些应用就是常见的嵌入式系统。

工业系统:工业机器人、控制系统等。
汽车系统:ABS刹车、传输控制等。
医疗仪器控制:扫描仪,植入心脏监视器等。
数码设备控制:CD播放器、电视遥控器、可编程的自动喷水灭火装置、家用电器等。
下面列出的系统都不能归类到嵌入式系统。

用来进行数据处理的计算机系统。
运行在PC或者UNIX计算机上的软件系统。
用于传统的商业或者科学应用的系统。
本书对嵌入式系统的定义如下:

嵌入式系统指的是专门的软件、硬件和接口的集合,目的是用来执行特定的任务(如运行一台洗衣机等)。

当对嵌入式系统和通用系统计算机的产品数量进行比较时,通用系统计算机在市场上占有的比例还不到计算机总量的0.5%。一个普通的家庭(这里指的是西方国家)通常会拥有30个以上的嵌入式计算机和两个通用型计算机。单是一个现代化的汽车,就包含了40~50个嵌入式计算机(发动机控制、温度控制、燃油喷射系统、安全气囊控制、座椅加热、测量燃油液位、速度、转速、雨水传感器等)。

图1.3给出了一个嵌入式计算机系统组件的实例。

70c23d1e0c4dca3c73d54a1ea9439e2546b22ce9

大多数情况下,一个嵌入式计算机系统并不会包含大型的组件,取而代之的是大量的小型组件。

下面列出了一些这种类型的组件。

传感器(如按钮)。
执行器(如灯)。
A/D和D/A转换器。
人机交互界面。
与此相比,典型的通用计算机硬件组成部分为硬盘驱动器、以太网接口、显示设备、键盘以及鼠标。

作者点评:时至今日,已经无法在通用计算机和嵌入式计算机之间划出一条明确的界限了。打个比方,你能准确地告诉我iPad或者智能手机是通用计算机,还是嵌入式计算机吗?

下面是一些常用的术语:

美国国家标准协会C标准(American National Standards Institute C,ANSI C)

ANSIC是美国国家标准协会对C语言标准制定的规范。

应用程序编程接口(Application Programming Interface,API)

API是由操作系统或者库文件提供的源代码接口,可以被调用,以此支持一些计算机程序发起的服务请求。

中央处理单元(Central Processing Unit,CPU)

中央处理单元可以是任何一个符合如下定义的硬件。首先,它必须能够处理数据;其次,它必须能控制必要的资源对这些数据进行处理。例如,对两个数求和,CPU就需要读取这两个数,然后将它们添加到一个处理电路(如ALU)中,最后将得到的结果写回。

GNU编译器套件(GNU Compiler Collection,GCC)

由GNU开发的编程语言编译器集合,可以用来处理多种编程语言。

GNU并不等同于UNIX(GNU is Not UNIX,GNU)

GNU是一个完全由自由软件构成的计算机操作系统。开发GNU的项目被称作GNU计划。

图形用户界面(Graphical User Interface,GUI)

一种用户界面,通过它可以实现人类与计算机之间以图形化的图标方式进行交互。

人机界面(Human Machine Interface,HMI)

人机界面用来实现人与机器之间的互动。

微处理器(MicroProcessor,μP)

微处理器是一种通用设备,它包含着ALU,也就是算术逻辑单元和控制单元。微处理器通常都是集成在单个芯片上的独立设备,相比微控制器,它包含了更多的资源,并用来完成复杂运算。

微控制器(Microcontroller,μC)

微控制器拥有一套完整计算机系统“集成”的所有必须单元。微控制器可以被称为“单芯片解决方案”。它通常包括了中央处理单元(CPU)、RAM、EPROM/PROM/ROM、I/O外设、定时器、中断控制器。微控制器可以被认为是一种特殊形式的更通用的微处理器。它专门用来控制运算复杂度较小的应用程序。

通用串行总线(Universal Serial Bus,USB)

通用串行总线用来实现和外部设备通信的通用串行总线标准的接口技术。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始。 数据指针:当前内存缓存区,输入数据所在位置。 PDV:Program Data Vector,在DATA步中所有涉及的变量被编程当前向量的一部分。 2. SAS编程基础 2.1 SAS逻
1488 0
《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一1.2.1 合作模式
本节书摘来华章计算机《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一书中的第1章 ,第1.2.1节,陈以农 陈文智 韩德强 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
861 0
嵌入式系统的省电模式
电源管理一直是一个热门话题,是近年来的嵌入式开发人员遇到的“一个很酷的话题”。其重要性在很大程度上取决于延长手持设备电池寿命的要求,但环境危害,散热等引起了人们的关注。嵌入式软件可以实现三种节电程序:使用动态电压和频率调整(DVFS)来根据当前需要调整CPU性能。
894 0
深入理解计算机系统——系统级I/O
一、UNIX I/O     在UNIX系统中有一个说法,一切皆文件。所有的I/O设备,如网络、磁盘都被模型化为文件,而所有的输入和输出都被当做对相应文件的读和写来执行。这种将设备映射为文件的方式,允许UNIX内核引出一个简单、低级的应用接口,称为UNIX I/O,这使得所有的输入和输出都能以一种统一且一致的方式来执行。
741 0
《逻辑与计算机设计基础(原书第5版)》——1.2 计算机系统设计的抽象层次
本节书摘来自华章计算机《逻辑与计算机设计基础(原书第5版)》一书中的第1章,第1.2节,作者:(美)M.莫里斯·马诺(M. Morris Mano)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1686 0
《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一1.2 团队建设
本节书摘来华章计算机《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一书中的第1章 ,第1.2节,陈以农 陈文智 韩德强 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
809 0
深入理解计算机系统结构——并发编程
并发编程 如果逻辑控制流在实际上重叠,那么它们就是并发的,这种常见的现象称为并发,出现在计算机系统的许多不同层面上。 应用级并发在其他情况下也是很有用的: 访问慢速I/O设备。 与人交互。 通过推迟工作以降低延迟。
730 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
11942
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载