1、嵌入式系统及开发应用嵌入式系统及开发应用 ARM与与 C/OS-第一章第一章 绪论绪论内内 容容讲课学时讲课学时实验学时实验学时1 1绪论绪论-嵌入式系统开发基础嵌入式系统开发基础 2 2 2 2ARMARM微处理器及其硬件体系结构微处理器及其硬件体系结构4 43 33 3ARM微处理器指令系统微处理器指令系统 8 83 34 4基于基于ARM的嵌入式系统应用程序设计的嵌入式系统应用程序设计 8 86 65 5基于基于S3C44B0X的嵌入式系统应用开发实例的嵌入式系统应用开发实例 1 12 23 36 6嵌入式操作系统开发简介嵌入式操作系统开发简介 18183 37 7复习复习2 2 8 8
2、考试考试 合计合计545418181、课时安排、课时安排2、需要的预备知识、需要的预备知识(1)单片机原理或微机原理()单片机原理或微机原理(2)C语言程序设计(语言程序设计(3)操作系统)操作系统3、教材和参考书、教材和参考书1、田泽编著,田泽编著,嵌入式系统开发与应用教程嵌入式系统开发与应用教程北京航空航天大学出版社。北京航空航天大学出版社。2、任哲编著、任哲编著.嵌入式实时操作系统嵌入式实时操作系统uC/OS-II原理及应用原理及应用.北航大学出版社。北航大学出版社。3、田泽编著,、田泽编著,嵌入式系统开发与应用实验教程嵌入式系统开发与应用实验教程(第(第2版)北航大学出版社版)北航大学
3、出版社 4、周立功等编著,、周立功等编著,ARM微控制器基础与实战,北京航空航天大学出版社。微控制器基础与实战,北京航空航天大学出版社。5、杜春雷、杜春雷.ARM体系结构与编程体系结构与编程.清华大学出版社。清华大学出版社。6、Jean J.Labrosse(美)(美),邵贝贝译邵贝贝译.C/OS-源码公开的实时嵌入源码公开的实时嵌入 式操作系统式操作系统.中国电力出版社。中国电力出版社。简介:是目前学习嵌入式操作系统最好的入门教材,书中对一个完整的嵌入式实时内核简介:是目前学习嵌入式操作系统最好的入门教材,书中对一个完整的嵌入式实时内核C/OS-进行了剖析,详细讲述了实时内核的设计和创建方法
4、,以及多任务实时系进行了剖析,详细讲述了实时内核的设计和创建方法,以及多任务实时系统的原理和编程思想。统的原理和编程思想。1.1 嵌入式系统的基本概念嵌入式系统的基本概念从从使用使用角度,计算机可分为角度,计算机可分为两类两类:一类是一类是独立使用的计算机系统,如个人计算机、工作站等;独立使用的计算机系统,如个人计算机、工作站等;手持的手持的MP3PCPC机机,通用计算机通用计算机1、什么是嵌入式系统?、什么是嵌入式系统?一类是一类是嵌入式计算机系统,它是作为其他系统的组成部分使用的。嵌入式计算机系统,它是作为其他系统的组成部分使用的。(1)根据根据IEEE(国际电气和电子工程师协会)的定义:
5、国际电气和电子工程师协会)的定义:devices used to control,monitor,or assist the operation of equipment,machinery or plants(嵌入式系统是嵌入式系统是“用于控制、监视用于控制、监视或者辅助操作机器和设备的装置或者辅助操作机器和设备的装置”)。)。可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。综合体,还可以涵盖机电等附属装置。(2)一般定义)一般定义(国内定义国内定义)“以以应用为中心应用为中心、以、以计算机技术
6、为基础计算机技术为基础、软件硬件可裁剪软件硬件可裁剪、功能、功能、可靠性、成本、体积、功耗严格要求可靠性、成本、体积、功耗严格要求的专用计算机系统。的专用计算机系统。”2 2、几种定义、几种定义3、嵌入式系统的组成、嵌入式系统的组成一般有以下四个部分组成一般有以下四个部分组成嵌入式微处理器嵌入式微处理器外围硬件设备外围硬件设备硬件硬件软件软件实现对其它设备的控制实现对其它设备的控制、监视、管理等功能、监视、管理等功能嵌入式操作系统嵌入式操作系统应用程序应用程序嵌入式系统是嵌入到对象体系内部的嵌入式系统是嵌入到对象体系内部的专用计算机系统专用计算机系统4 4、嵌入式系统的分类、嵌入式系统的分类l
7、按表现形式分:(硬件范畴)按表现形式分:(硬件范畴)n芯片芯片级嵌入(含程序或算法的处理器)级嵌入(含程序或算法的处理器)n模块级嵌入(系统中的某个核心模块)模块级嵌入(系统中的某个核心模块)n系统级嵌入系统级嵌入SOC(System on a chip)l按按实时性实时性要求分要求分:(软件范畴):(软件范畴)l非实时系统(非实时系统(PDAPDA,Personal Digital Assistant 個人數字助理個人數字助理)l软实时系统(消费类产品)软实时系统(消费类产品)l硬实时系统(导引头等工业和军工系统)硬实时系统(导引头等工业和军工系统)5、嵌入式系统的几个重要特征、嵌入式系统的
8、几个重要特征(1)系统内核小)系统内核小 由于嵌入式系统一般是应用于小型电子装置的,系统由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。资源相对有限,所以内核较之传统的操作系统要小得多。比如比如ENEA公司的公司的OSE分布式系统,内核只有分布式系统,内核只有5K,而而Windows的内核则要大得多。的内核则要大得多。()专用性强()专用性强 嵌入式系统的个性化很强,其中的软件系统和硬件的结嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。合非常紧密,一般要针对硬件进行系统的移植。嵌入式系统一般没有系统软件
9、和应用软件的明显区分,不要求其嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。时也利于实现系统安全。()高实时性()高实时性OS 是是嵌入式软件的基本要求,软件固态存储,以提高速度。软件嵌入式软件的基本要求,软件固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性。代码要求高质量和高可靠性、实时性。(5)嵌入式软件开发走向标准化)嵌入式软件开发走向标准化 嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。嵌入式系统的应用程序可以没有操作系统直接
10、在芯片上运行。()系统精简()系统精简6 6、嵌入式系统的发展、嵌入式系统的发展 嵌入式系统已经有了近嵌入式系统已经有了近3030年的发展历史,它是硬件和软件交替年的发展历史,它是硬件和软件交替发展的双螺旋式发展。发展的双螺旋式发展。嵌入式处理器嵌入式处理器l19711971年,单片机是年,单片机是IntelIntel公司的公司的40444044,l同时期,同时期,MotorolaMotorola:6868HC05HC05,ZilogZilog公司:公司:Z80Z80系列,均含有系列,均含有256256字节的字节的RAMRAM、4K4K的的ROMROM、4 4个个8 8位并口、位并口、1 1个
11、全双工串行口、两个全双工串行口、两个个1616位定位定 时时 器。器。l8080年代初,年代初,IntelIntel80488048,80518051。l9090年代,年代,ARM7TDMI ARM7TDMI 处理器,处理器,3232位位几种最常见的几种最常见的RTOSRTOSn软实时软实时RTOSRTOSl嵌入式嵌入式Linux Linux lWin CEWin CEn硬实时硬实时RTOSRTOSlVxWorksVxWorkslOSEOSElNuclearNuclearn著名的著名的open RTOSopen RTOSlucOSucOS/II/IIlRTEMSRTEMSn自主知识产权的自主知
12、识产权的RTOSRTOSlHOPENHOPENlDelta OSDelta OSARM公司简介(英国)公司简介(英国)n成立于成立于1990年年11月月n前身为前身为 Acorn计算机公司计算机公司n主要设计主要设计ARM系列系列RISC处理器内核处理器内核n授权授权ARM内核给生产和销售半导体的合作伙伴内核给生产和销售半导体的合作伙伴nARM 公司不生产芯片公司不生产芯片n另外也提供基于另外也提供基于ARM架构的开发设计技术架构的开发设计技术n软件工具软件工具,评估板评估板,调试工具调试工具,应用软件应用软件,总线架构总线架构,外围设备单元,等等外围设备单元,等等ARM公司的英文全称为公司的
13、英文全称为Advanced RISC Machines,直译可以叫先进直译可以叫先进RISC机器公司,机器公司,ARM ARM 全球分布全球分布 这是这是ARMARM公司在全球的网点分布图,从图中可以看到目前公司在全球的网点分布图,从图中可以看到目前ARMARM公司公司在全球在全球3 3个洲设立了分支机构,总人数是超过个洲设立了分支机构,总人数是超过750750人。人。如英国、德国法国、韩国、美国等等。如英国、德国法国、韩国、美国等等。ARMARM在上海的全资子公司在上海的全资子公司是于是于20022002年成立的年成立的ARMARM合作伙伴合作伙伴 正中间正中间是和是和ARM公司合作最紧密的
14、公司,它们都是一些大的半导体公司,也公司合作最紧密的公司,它们都是一些大的半导体公司,也是是ARM公司最直接的客户,比如公司最直接的客户,比如IBM、OKI、MOTOROLA、SHARP、PHILIPS等等等等 旁边这四个角旁边这四个角分别是技术共享计划合作伙伴、开发工具合作伙伴、软件应用合分别是技术共享计划合作伙伴、开发工具合作伙伴、软件应用合作伙伴、操作系统合作伙伴。这是比较早期的一个图片,很多公司都没有出现在作伙伴、操作系统合作伙伴。这是比较早期的一个图片,很多公司都没有出现在这上面,实际上这上面,实际上ARM公司的合作伙伴类型和数量都远远不止这些。公司的合作伙伴类型和数量都远远不止这些
15、。ARMARM的应用的应用lARM7ARM7、ARM9ARM9、ARM9EARM9E、ARM10ARM10。l其中其中ARM7ARM7是低功耗的是低功耗的3232位核,最适合应用于对价位和功耗敏感的位核,最适合应用于对价位和功耗敏感的产品,它又分为应用于实时环境的产品,它又分为应用于实时环境的ARM7TDMIARM7TDMI、ARM7TDMI-SARM7TDMI-S,以及适以及适用于开放平台的用于开放平台的ARM720TARM720T和适用于和适用于DSPDSP运算及支持运算及支持JavaJava的的ARM7EJARM7EJ等。等。lARM7ARM7主要在主要在PDAPDA、手持仪器仪表,手持
16、仪器仪表,ARM9ARM9、ARM10ARM10主要在主要在NCNC、TFTTFT。ARM嵌入式系统应用领域嵌入式系统应用领域嵌入式应用嵌入式应用信息家电信息家电智能玩具智能玩具军事电子军事电子通信设备通信设备移动存贮移动存贮工控设备工控设备智能仪表智能仪表汽车电子汽车电子网络设备网络设备工业工业消费电子消费电子军事国防军事国防电子商务电子商务网络网络嵌入式系统开发应用概述嵌入式系统开发应用概述嵌入式软件开发工具嵌入式软件开发工具n开发工具开发工具u编译器(编译器(Compiler)u调试器(调试器(In Circuit Emulator)u软仿真(软仿真(Simulator)u集成开发环境(
17、集成开发环境(IDE)n典型的商业开发工具及供应商典型的商业开发工具及供应商uWindriver公司的公司的Tornado for VxWorksuMontVisa公司的公司的HardHat Linux 开发工具包开发工具包uARM公司的公司的ADS1.2n免费开发工具免费开发工具uGNU系列开发工具系列开发工具uWiggler调试器调试器开发环境的连接开发环境的连接n Embest IDE Pro for ARM 2004n Embest IDE Pro 2004 校园版校园版n Embest Emulator for ARM 实时在线仿真器实时在线仿真器n Embest PowerICE
18、for ARM 高速实时在线仿真器高速实时在线仿真器n Embest UNetICE for ARM 通用型仿真器通用型仿真器n Embest EasyICE for ARM仿真器仿真器开发环境主界面程序代码程序代码.equequ.equequ伪操作作为数字常量、基于寄伪操作作为数字常量、基于寄存器的值和程序中的标号定义一个存器的值和程序中的标号定义一个字符名称。字符名称。语法格式语法格式.equequ symbol,symbol,exprexpr其中,其中,exprexpr为基于寄存器的地址值、为基于寄存器的地址值、程序中的标号,程序中的标号,3232位的地址常量或位的地址常量或者者3232
19、位的常量。位的常量。Symbol为为.equ伪操作为伪操作为expr定义的定义的字符名称。字符名称。.global.global及及.glablglabl.global.global声明一个符号可以被其他文声明一个符号可以被其他文件引用。相当于声明了一个全局变件引用。相当于声明了一个全局变量,量,.globlglobl与与.global.global相同。相同。语法格式语法格式.global symbol.global symbol其中,其中,symbol为声明的符号的名称。为声明的符号的名称。它是区分大小写的。它是区分大小写的。.text.text.text.text伪操作将操作符开始的代码
20、编译到代伪操作将操作符开始的代码编译到代码段或代码段子段码段或代码段子段(subsection)(subsection)语法格式语法格式.text subsection 程序默认入口点为程序默认入口点为“_start”,代码段代码段默认起始地址为默认起始地址为0 x8000 MPU微处理器微处理器电源电源模块模块时钟时钟复位复位FlashRAMROMUSBLCDKeyboard外围电路外围电路Other外设外设典型嵌入式系统基本组成硬件典型嵌入式系统基本组成硬件处理器处理器存储器存储器输入输入输出输出操作系统操作系统应用程序应用程序软件软件结构结构硬件硬件结构结构典型嵌入式系统基本组成软件典型
21、嵌入式系统基本组成软件嵌入式处理器的发展嵌入式处理器的发展Intel 4004 Intel 4004 MicroprocessorMicroprocessornIntroduced in 1970uFirst microprocessoru4 bit architecture!n2,250 transistorsn12 mm2nClock:108 kHzIntel 8085 MicroprocessornIntroduced in 1974n8-bit architecturenStill used in some microcontroller applications!Intel 8086
22、 MicroprocessornIntroduced in 1979n29,000 transistorsn33 mm2nClock:5 MHzn16 bit architectureIntel 386 MicroprocessornIntroduced in 1985n275,000 transistorsn43 mm2nClock:16 MHzn32 bit architectureIntel 486 MicroprocessornIntroduced in 1989n1,200,000 transistorsn81 mm2nClock:25 MHzn32 bit architecture
23、n1st pipelined implementation of IA32Intel Pentium MicroprocessornIntroduced in 1993n3,100,000 transistorsn296 mm2nClock:60 MHzn32 bit architectureu1st superscalar implementation of IA32嵌入式处理器嵌入式处理器嵌入式处理器可以分为三类:嵌入式处理器可以分为三类:嵌入式微控制器嵌入式微控制器:又称单片机,将又称单片机,将CPU、存储器(少量的存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里
24、。常或两者都有)和其它外设封装在同一片集成电路里。常见的有见的有8051。嵌入式嵌入式DSP(Digital Signal Processor):专门用来对离散专门用来对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、数字滤波、FFT、谱分析、图像处理的分析等领域,谱分析、图像处理的分析等领域,DSP正在正在大量进入嵌入式市场。大量进入嵌入式市场。嵌入式微处理器嵌入式微处理器:和通用计算机的微处理器对应的和通用计算机的微处理器对应的CPU。在应用在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上中,一般是将微处
25、理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:积小和功耗低的要求。目前的嵌入式处理器主要包括:X86X86、PowerPC、Motorola 68000、ARM系列等等。系列等等。两种类型的实时系统两种类型的实时系统软实时系统软实时系统:不要求限定某一任务必须在一定的时间不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好;内完成,只要求各任务运行得越快越好;硬实时系统硬实时系统:对系统响应时间有严格要求,一旦系统响对系统响应时间有
26、严格要求,一旦系统响应时间不能满足,就可能会引起系统崩溃或致命的错应时间不能满足,就可能会引起系统崩溃或致命的错误,一般在工业控制中应用较多。误,一般在工业控制中应用较多。嵌入式系统与嵌入式系统与PCPC之间的区别之间的区别l嵌入式系统一般是专用系统,而嵌入式系统一般是专用系统,而PC是通用计算平台是通用计算平台l嵌入式系统的资源比嵌入式系统的资源比PC少得多少得多l嵌入式系统软件故障带来的后果比嵌入式系统软件故障带来的后果比PC机大得多机大得多l嵌入式系统一般采用实时操作系统嵌入式系统一般采用实时操作系统l嵌入式系统大都有成本、功耗的要求嵌入式系统大都有成本、功耗的要求l嵌入式系统得到多种微处理体系的支持嵌入式系统得到多种微处理体系的支持l嵌入式系统需要专用的开发工具嵌入式系统需要专用的开发工具