嵌入式系统的核心计算系统可以抽象出一个典型的组成模型:硬件层、中间层、软件层和功能层,如图1-2所示
1.硬件层
硬件层中包含嵌入式微处理器、存储器(如 SDRAM、ROM、 Flash等)、通用设备接口和I/O接口(如A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中,操作系统和应用程序都可以固化在ROM中。
(1)嵌入式微处理器
嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专门设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
嵌入式系统的组成结构
嵌入式系统的组成结构
嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,目前全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS( Microprocessor without Interlocked Piped Stages,无互锁流水级的微处理器)/Power PC、X86、SH等。
(2)存储器
嵌入式系统需要存储器来存放可执行代码和数据。嵌入式系统的存储器包含Cache、内存和外存。
① Cache: Cache是一种容量小、速度快的存储器阵列,它位于内存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。在嵌入式系统中,Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache和混合Cache, Cache的大小依不同处理器而定。
②内存:位于微处理器的内部,用来存放系统和用户的程序及数据。片内存储器容量小、速度快。
③外存:外存用来存放大数据量的程序代码或信息,它的容量大,但读取速度与内存相比慢很多,用来长期保存用户的信息。
嵌入式系统中常用的外存有硬盘、NAND Flash、CF卡、MMC、SD卡等。
(3)通用设备接口和I/O接口
嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。
目前,嵌入式系统中常用的通用设备接口有A/D(模/数转换接口)、D/A(数/模转换接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)、IrDA(红外线接口)等
2.中间层
硬件层与软件层之间为中间层,也称为硬件抽象层( Hardware Abstract Layer,HAL)或板级支持包( Board support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无须关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。
实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。设计一个完整的BSP需要完成两部分工作:嵌入式系统的硬件初始化以及BSP功能,设计硬件相关的设备驱动。
3.软件层
软件层由嵌入式操作系统( Embedded Operation System,EOS)、文件系统、图形用户接口( Graphic User Interface,GUI)、网络系统及通用组件模块组成。EOS是嵌入式应用软件的基础和开发平台。以下先介绍前三种。
(1)嵌入式操作系统
不同功能的嵌入式系统的复杂程度有很大不同。简单的嵌入式系统仅仅具有单一的功能,存储器中的程序就是为了这一功能设计的,其系统处理核心也是单一任务处理器。复杂的嵌入式系统不仅功能强大,往往还配有嵌入式操作系统,如功能强大的智能手机等,几乎具有与微型计算机一样的功能。
嵌入式操作系统( Embedded Operation System,BOS)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的EOS产品系列。随着 Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化、应用的专用性等方面具有较为突出的特点。
(2)文件系统
嵌入式文件系统比较简单,主要提供文件存储、检索、更新等功能,一般不提供保护、加密等安全机制。它以系统调用和命令方式提供文件的各种操作,主要有设置、修改对文件和目录的存取权限,提供建立、修改、改变和删除目录等服务,提供创建、打开、读写、关闭和撤销文件等服务。
(3)图形用户接口
图形用户接口(GUI)的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用,人们从此不再需要死记硬背大量的命令,取而代之的是通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。
4.功能层
功能层也称为应用软件层,应用软件是由基于实时系统开发的应用程序组成,运行在嵌入式操作系统之上,一般情况下与操作系统是分开的。应用软件用来实现对被控制对象的控制功能。功能层是要面对被控对象和用户,为方便用户操作,往往需要提供一个友好的人机界面。

转载于:https://blog.51cto.com/14117269/2365975

嵌入式系统的组成结构相关推荐

  1. 嵌入式系统HAL原理与BSP的实现方法

    随着计算机软硬件技术的快速发展,出现了越来越多的便携设备和智能设备.这些设备中通常包含控制用的CPU和相应的操作系统;这类特殊的计算机系统叫做嵌入式实时系统.嵌入式实时系统以其简洁高效等特点在计算机. ...

  2. 嵌入式系统开发工程师入行前十项准备

    这几年,大学生就业越来越难,但实际上,很多公司又一直招聘不到合适的值得培养的人才.我所了解的嵌入式系统开发工程师就是典型的例子,一般来说,在北京,这样的工作岗位大约是月薪3000-5000元,对刚毕业 ...

  3. 嵌入式系统与硬件安全知识小记

    目录 嵌入式系统概述 第一节 嵌入式系统概念 第二节 嵌入式系统与台式计算机 第三节 嵌入式系统与单片机 嵌入式处理器 第一节 从传统处理器到片上系统 第二节 嵌入式处理器之ARM 第三节 嵌入式处理 ...

  4. 北林嵌入式系统期末复习重点

    持续更新······ 注:以下内容为博主期末复习所用,全打字输入,可能有误.内容为便于记忆,可能会有省略和简化.如有错误欢迎评论区更正 选择填空判断 嵌入式系统的定义和特点 定义:以应用为中心,计算机 ...

  5. 第六届全国嵌入式系统学术交流会

    第六届全国嵌入式系统学术交流会  ------2005年全国单片机与嵌入式系统学术交流会暨产品展示会------中国嵌入式系统论坛 (2005年9月5至7日深圳) 征 文 通 知     第六届全国嵌 ...

  6. linux filo顺序是什么意思,嵌入式系统复习 南京邮电大学 期末复习 答案 提纲

    1.嵌入式系统定义p1 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积和功耗等严格要求的专用计算机系统. 2.嵌入式系统的组成结构,层次关系p4.板 ...

  7. 系统架构设计笔记(59)—— 嵌入式系统的组成

    嵌入式系统一般都由软件和硬件两个部分组成,其中嵌入式处理器 . 存储器和外部设备构成整个系统的硬件基础. 嵌入式系统的软件部分可以分为3个层次:系统软件 . 应用支撑软件和应用软件.其中,系统软件和支 ...

  8. IT 认证考试--软考--(中级项目)嵌入式系统设计师2:考试大纲【含免帐号免积分下载链接】

    一.考试说明 1.考试要求: (1)掌握科学基础知识: (2)掌握嵌入式系统的硬件.软件知识: (3)掌握嵌入式系统分析的方法: (4)掌握嵌入式系统设计与开发的方法及步骤: (5)掌握嵌入式系统实施 ...

  9. 嵌入式系统硬件抽象层(HAL BSP)的设计思想--第一部分

    嵌入式系统硬件抽象层(HAL & BSP)的设计思想--第一部分 1 前言 特点 1.1 层次化思想 1.2 模块化思想 1.3 对象化思想 2 板级支持包(BSP) 3 嵌入式系统硬件抽象层 ...

  10. 第一章 初识嵌入式系统

    操作系统 嵌入式 嵌入式系统 嵌入式操作系统 Linux 第一章 嵌入式系统概论 嵌入式系统概述 什么是嵌入式系统 嵌入式系统特点 嵌入式系统与PC的不同 嵌入式系统的基本结构 嵌入式系统的构架 嵌入 ...

最新文章

  1. android开发小技巧:实现listview异步加载图片
  2. 网站推广收录少?网站推广专员浅析可能是蜘蛛抓取出现问题
  3. 诺曼门的十个产品_用户决策与产品设计
  4. python打印99乘法表_Python 实例:九九乘法表
  5. java时间错误_更改操作系统时间时睡眠()中的Java错误:任何解决方法?
  6. 为wmi执行例外_称之为例外?
  7. mysql 自动生成mapper_自动生成实体类、Mapper、Mapper.xml文件
  8. 信息学奥赛一本通 1405:质数的和与积 | OpenJudge NOI 2.1 7827:质数的和与积 | 小学奥数 7827
  9. C语言程序密码输入退回,想程序高手求助--用C语言来编辑一个输入密码的程序...
  10. Linux基本命令 帮助命令
  11. 【BZOJ3218】 a+b Problem
  12. android使用地图编程,基于Android实现百度地图定位过程详解
  13. ITIL 4 知识系列之服务目录
  14. win7ie11调用java失败,Win7 更新IE11 一直失败,请求
  15. vb.net 模拟鼠标 失去焦点_DNF:都9102年了还在手动点竹子?鼠标连点器了解一下...
  16. 什么是MIME类型?
  17. 什么是TOC? 论文不通过?TOC请了解一下 | SCI-HUA科画技法
  18. 4.1网络层功能概述
  19. SL4A_API翻译贴镜像
  20. 计算机结构体系-CISC与RISC

热门文章

  1. 争对让望对思野葛对山栀注解_《笠翁对韵》注音注释(四支)
  2. SpringBoot掌握的差不多了,就剩下一个Actuator没搞定了,本文详细来介绍!!!
  3. python多线程爬取美图录网站图集按模特姓名存储到本地(一)
  4. 1538G. Gift Set
  5. vim安装使用pathogen
  6. 10个国外设计网站(自学设计的童鞋建议收藏)
  7. bzoj4238: 电压
  8. Python使用免费天气API,获取全球任意地区的天气情况
  9. channel is not opened.
  10. 全面理解面向对象的 JavaScript(转载)