嵌入式系统讲座(2)_第1页
嵌入式系统讲座(2)_第2页
嵌入式系统讲座(2)_第3页
嵌入式系统讲座(2)_第4页
嵌入式系统讲座(2)_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统一、嵌入式的定义二、嵌入式系统的支柱学科三、嵌入式系统的开发应用发展中形成的新的学科一、什么是嵌入式系统计算机技术是典型的应用技术,按应用特点与开发方式的不同,分开放式计算机系统与嵌入式计算机系统。 根据根据IEEE(国际电气和电子工程师协会)(国际电气和电子工程师协会)的定义:嵌入式系统是的定义:嵌入式系统是“用于控制、监用于控制、监视或者辅助操作机器和设备的装置视或者辅助操作机器和设备的装置”(原文为(原文为devices used to control, monitor, or assist the operation of equipment, machinery or pl

2、ants)。)。 “以应用为中心、以计算机技术为基础、以应用为中心、以计算机技术为基础、软件硬件可裁剪软件硬件可裁剪、功能、可靠性、成本、功能、可靠性、成本、体积、功耗严格要求的体积、功耗严格要求的专用专用计算机系计算机系统。统。”1 定义 所谓开放式系统,是指PC机(个人微机)、工作站、小型机、大型机、巨型机等一类通用计算机,它有以下特点: 1。应用目标的追求是:海量数据存储、海量数据处理,通常,开放式计算机系统容量越大、速度越高,则认为其越高档,性能越强。 2。应用特点是:直接为人服务。 3。应用:普及应用:如个人微机PC,而其高端应用主要在资源勘探、天气预报、人工智能(比如与国际象棋大师

3、博弈)等领域。 4。它的开发特点是硬件组成的系列化,软件开发的标准化 而嵌入式系统,是指最初以控制为主要应用目的的一类计算机,单片机就是典型的嵌入式系统,嵌入式系统较之开放式系统有更加广阔的应用途径,目前,它不仅在控制领域,在便携式系统、PDA系统中也得了应用,它有以下特点: 1。应用目标追求的是性能够用既可,以便节省成本。 2。它直接服务于某个系统或者某个设备,通过提高该系统或设备的性能,从而为人间接服务,如带电脑的微波炉、智能玩具、智能仪表等。 3。具有嵌入的特点,所以,体积、功耗有严格的要求,体积、功耗指标甚至影响到具体嵌入式计算机系统开发是否成功。 4。它的开发特点是硬件组成的标准化,

4、以便节省成本,而软件开发的多样化,以便满足控制目标或者用户的多样化要求2 嵌入式应用 继互联网技术之后,IT技术的又一个发展热点,渗透到人类社会的各个领域,将对人们的工作、学习、日常生活产生更加深远的影响。普通嵌入式设备或产品MOTOC350彩屏彩屏WAP移动电话移动电话彪骐数字机顶盒彪骐数字机顶盒BlackBerry 7230移动电话移动电话DL7100/DL7200 数字式示波器数字式示波器嵌入式嵌入式GIS畅视畅视2000可视电话可视电话Palm Zire71型型个人数字助理个人数字助理高端嵌入式系统应用的产品 巡航导弹巡航导弹火星登陆车火星登陆车战斗机战斗机机器人机器人坦克坦克汽车汽车

5、汽车电子系统模块的布局汽车电子系统模块的布局 动力传动系统的综合控制(PCM)发动机管理系统和自动变速器控制系统的控制集成 制动控制系统制动防抱死控制系统(ABS)、牵引力控制系统(TCS)和驱动防滑控制系统(ASR)综合的综合控制系统 形成一体化底盘控制系统(UCC)。 通过中央底盘控制器,将制动、悬架、转向、动力传动等控制系统通过总线进行连接。控制器通过复杂的控制运算,对各子系统进行协调,将车辆行驶性能控制到最佳水平,嵌入式系统的网络应用3 走向独立的嵌入式系统技术发展历程初期探索期独立发展期特征 以工作的高可靠性、方便与嵌入控制对象进行接口、方便系统开发、调试为主要发展特征。 1。“防死

6、机”、“实时性”为主要设计指标 2。与被控系统方便的进行电气连接为主要技术发展方向。 如各种标准总线接口SPI、I2C、1553B、UART等。要求将这些接口作为标准电路单元集成3。方便系统开发的软件、硬件调试环境如下载接口ISP和调试接口JTAG也要求作为标准电路单元集成二、嵌入式系统的支柱学科 微电子学科 计算机学科 电子技术学科 应用对象学科1微电子学科 微电子学科是嵌入式系统应用的基础学科,它为嵌入式系统应用提供各种半导体集成器件,电子技术学科和计算机学科很多的重要成果,最终都会体现在集成电路中。目前的发展有以下特征: 1)数字电路高度集成化(数干门到数干万门) 2)模拟电路/数字电路

7、混合集成 3)软、硬件结合 4)以IP(Intellectual PropertySilicon Intellectual Property )为基础的知识与知识行为的集成电子技术学科 电子技术学科在嵌入式系统中有者最为广泛的应用,主要有两个方向 1)微电子领域:集成电路设计,电路集成功能集成技术集成知识集成 2)应用电子系统设计,包括用电路设计软件(如Protel、OrCad)设计原理图、PCB版图等。计算机学科 二次开发平台的建立计算机学科要担负嵌入式系统应用开发平台的构建任务,包括开发语言、编译系统、调试系统。程序设计技术、软件工程方法。各种资源。如操作系统、实时操作系统等。 二次开发技

8、术的应用 有效的使用各种软件开发工具、采用合理的开发方法,充分的利用现有资源进行软件开发、软件测试。应用对象学科 嵌入式系统的应用对象 比如应用于农业种植环境监控的嵌入式系统,在开发时,系统设计时,需要具备的农业种植、养殖方面的专业知识。 比如应用于税收控制方面的嵌入式系统,在设计时,需要了解本地区的税务运作方面的专门知识等等学科之间的关系三、嵌入式系统的开发 嵌入式开发特点、方式 嵌入式软件体系组成特点及运行模式 嵌入式开发工具、资源 嵌入式软件可靠性设计、软件抗干扰 嵌入式软件测试1 嵌入式开发特点、方式 设计特点1)基于智能化特点的可靠性设计,包括运行的安全性、实时性。2)基于功耗管理的

9、最小功耗设计,包括最小体积设计、资源最精简设计,成本控制。3)功能设计PC与目标机之间的宿主关系开发环境调试架构调试主机一般是一台运行调试软件的计算机,运行有ARM公司或者第三方提供的调试软件。常用的软件有ADS中的AXD、Linux下的arm-elf-gdb等。通过这些软件,调试主机可以发出一些高层的调试命令,例如,设置断点、访问内存等。协议转换器负责转换Debug主控端发出的高级ARM调试命令,将其转换为底层的ARM JTAG调试命令和ARM内核通信的JTAG命令。调试主机和协议转换器之间的介质接口有很多种,比如,以太网、并口、USB和RS-232等。典型的协议转换器是ARM公司提供的Mu

10、lti-ICE。调试目标机一般是指基于ARM920T内核MCU的目标开发板。经过协议转换器进行命令解释,主机上运行的调试软件就可以通过JTAG接口直接与ARM920T内核通信。通过插入特定ARM/THUMB指令,可以检查、保存或者改变内核和系统的状态。整个调试系统包括集成调试环境和硬件仿真器,它们组成了一个类似于“客户机-服务器”模型的系统。服务器端把所有硬件封装起来,给客户端只提供一个虚拟的处理器接口。由于客户端的调试工具软件通过一个动态链接库与服务器相连,所以服务器一侧的硬件和客户端的调试工具软件是相互独立的。在同一个动态链接库的基础上,双方可以各自升级或替换,同样也方便了用户选择不同的仿

11、真器和调试软件来组合成自己的调试平台。一个具体的调试程序应该能够支持许多不同的链接库,不同的链接库又能够提供不同的功能调用。如图3.16所示,以ADS工具包为例,“ARMulate.dll”提供了一个软ARM内核,用做程序的逻辑验证。若要与Multi-ICE Server程序连接在一起进行实时仿真,则只要调入“MultiICE.dll”就可以了。该动态库文件在Multi-ICE Server的安装目录下可以找到。 开发特点1)目标机(Target)可以是嵌入式应用软件的实际运行环境,当然也可以是替代实际环境的仿真系统(如软件模拟器AXD,或软、硬件模拟器Protues等)。2)宿主机(Host

12、)通过串口、网络连接或调试接口(如JTAG仿真器)与目标机通信。宿主机的软硬件资源比较丰富,其操作系统可以是Windows或者Linux,其上用于开发程序的那套软件工具,通常为编译系统、或叫作开发系统。 (如Keil C51、ADS、GUN等)3)宿主开发模式 这种在宿主机上编辑、编译程序,在目标板上运行程序的方式,通常就叫做交叉编译或交叉开发 2 嵌入式软件体系结构及运行模式 依据应用系统的复杂程度不同,嵌入式系统软件有以下两种体系结构,对应两种运行模式1 简单体系结构组成前后台工作模式复杂体系结构组成多任务工作模式嵌入式开发工具、资源工具 Keil uVision 编译系统 ADS (AR

13、M Developer Suite) AXD (ARM eXtended Debuger) Protues资源l Linuxl uCOSl VxWorksl WinCE操作系统的主要技术指标 实时性 可移植性 源码公开 开发工具链 版权Linux与GNU Linux操作系统是UNIX操作系统的一种克隆系统。它诞生于1991年的10月5日(这是第一次正式向外公布的时间)。此后借助于因特网,经过全世界各地计算机爱好者的共同努力,现已成为当今世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长 GNU计划和自由软件基金会FSF(the Free Software Foundation)该

14、组织1984年建立,旨在开发一个类似UNIX,并且是自由软件的完整操作系统:GNU系统(GNU是“GNUs Not UNIX”的递归缩写,它的发音为“gun-NEW”)。 GNU项目已经开发出许多高质量的免费软件,其中包括有名的emacs编辑系统、bash shell程序、gcc系列编译程序、gdb调试程序,等等。这些软件为Linux操作系统的开发创造了一个合适的环境,这也是Linux能够诞生的基础之一,以至于目前许多人都将Linux操作系统称为“GNU/Linux”操作系统。 POSIX(Portable Operating System Interface for Computing Sy

15、stems)是由IEEE和ISO/IEC开发的一组标准。该标准是基于现有UNIX的实践经验,描述了操作系统的调用服务接口。用于保证编制的应用程序可以在源代码一级上、在多种操作系统上移植和运行。它是在1980年一个UNIX用户组(usr/group)的早期工作基础上完成的。20世纪90年代初,POSIX标准的制定处于最后投票敲定的时候,此时也正是Linux刚刚起步的时候,这个UNIX标准为Linux提供了极为重要的信息,使得Linux能够在标准的指导下进行开发,并能够与绝大多数UNIX操作系统兼容。 通过上述说明,我们可以对上述Linux的5大支柱归纳如下: 1)UNIX操作系统Linux就是U

16、NIX的一种克隆系统。UNIX的重要性就不用多说了。 2) MINIX操作系统MINIX操作系统也是UNIX的一种克隆系统,它于1987年由著名计算机教授Andrew S.Tanenbaum开发完成。由于MINIX系统的出现并且提供源代码(只能免费用于大学内),在全世界的大学中刮起了学习UNIX系统旋风。Linux刚开始就是参照MINIX系统于1991年才开始开发。 3) GNU计划开发Linux操作系统,以及Linux上所用大多数软件基本上都出自GNU计划。Linux只是操作系统的一个内核,没有GNU软件环境(如bash shell),则Linux将寸步难行。 4) POSIX标准该标准在推

17、动Linux操作系统以后朝着正规路上发展起着重要的作用,是Linux前进的灯塔。 4) Internet如果没有Internet网,没有遍布全世界的无数计算机黑客的无私奉献,那么Linux最多只能发展到0.13(0.95)版的水平Linux软件结构 1)Linux源文件的目录结构一般Linux安装后,在/usr/src/Linux- 2.4.18 (版本号,)目录下有内核源代码,内核代码非常庞大,包括驱动程序在内有好几百兆字节。上万个文件。其内核的目录结构如下:Linux目录结构目录结构 (1) arch目录包括了所有和体系结构相关的核心代码。 (2) include目录包括编译核心所需要的大

18、部分头文件,例如与平台无关的头文件在include/linux子目录下。 (3) init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点 (4) drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound。 (5) ipc目录包含了核心进程间的通信代码。 (6) modules目录存放了已建好的、可动态加载的模块。 (7) fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子

19、目录。 (8) Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下。 (9) net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面 (10) lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下。 (11) scripts目录包含用于配置核心的脚本文件。 (12) documentation目录下是一些文档,是对每个目录作用的具体说明。2)Linux 运行系统时的目录结构运行系统时的目录结构 Linux运行后,它的目录结构和源文件目录结构有所不同,如下:(1)/root目录中包括:引导系统

20、的必备文件,文件系统的挂装信息以及系统修复工具和备份工具等。(2)/usr目录中包含通常操作中不需要进行修改的命令程序文件、程序库、手册和其它文档等,它并不和特定的CPU相关,也不会在通常的使用中修改。因此,将 /usr目录挂装为只读性质的。(3)/var目录中包含经常变化的文件,例如打印机、邮件、新闻等的假脱机目录、日志文件、格式化后的手册页以及临时文件等。(4)/home 中包含用户的主目录,用户的数据保存在其主目录中,如果有必要,也可将/home 划分为不同的文件系统,例如 /home/students 和/home/teachers 等。(5)/proc目录下的内容并不是ROM中的,而

21、是系统启动后在内存中创建的,它包含内核虚拟文件系统和进程信息,例如 CPU、DMA 通道以及中断的使用信息等。(6)/etc 包含了系统相关的配置文件,比如开机启动选项等。(7)/bin 包含了引导过程必需的命令,也可由普通用户使用。(8)/sbin 和/bin 类似,尽管其中的命令可由普通用户使用,但由于这些命令属于系统级命令,因此无特殊需求不使用其中的命令。(9)/dev 包含各类设备文件。(10)/tmp 包含临时文件。引导后运行的程序应当在 /var/tmp 中保存文件,因为其中的可用空间大一些。(11)/boot 包含引导装载程序要使用的文件,内核映象通常保存在这个目录中。(12)/

22、mnt 是临时文件系统的挂装目录。比如U盘、光盘、软盘等都可以在这个目录下建立挂载点UCOS软件结构 3 软件可靠性设计、抗干扰软件设计 软件设计的正交性 软件设计的可靠性软件设计的正交性 正交型系统体系结构理想树状结构任务间尽量松耦合软件设计的可靠性 传统电子系统工作模式嵌入式系统工作模式4 软件测试1 )系统工作机制问题2 )编译器的问题快速排序测试源代码/* quick.c file Date 2008.9.22 Created by 李强Email: */#includeincludes.h/ / Prototypes for swap()void swap( uchar *x,uchar *y);/ routine for quick sortvoid quick_sort(uchar A, uchar left, uchar right)reentrant uchar key; /* 分割元素变量 */ uchar i, j; if(left right) /*判?,是否继续分割 */ i = left; /* 分割子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论