《a嵌入式系统概述》由会员分享,可在线阅读,更多相关《a嵌入式系统概述(85页珍藏版)》请在金锄头文库上搜索。
1、嵌入式系统概述与ARM简介嵌入式系统概述嵌入式系统的组成嵌入式最小系统ARM简介ARM开发工具实验内容大纲2一、嵌入式系统概述3什么是嵌入式产品什么是嵌入式产品n你身边的嵌入式产品有哪些?n你有没有想设计实现的嵌入式产品?4 一些典型的嵌入式系统应用实例一些典型的嵌入式系统应用实例goReader Internet eBookSamsung AnyWebInternet Screen PhoneeRemoteIntelligent Home ControllerTektronix TDS7000 Digital OscilloscopesNixvue Digital AlbumDigital
2、Photo Album5嵌入式系统的应用嵌入式系统的应用n家用方面:数字电视、信息家电、智能家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。玩具、手持通讯、存储设备的核心。6家庭智能管理系统家庭智能管理系统n社区建筑的水、电、煤气表的远程自动抄表,安全防火、防盗系统,远程点菜器等。7社会发展方面:嵌入式社会发展方面:嵌入式Internet应用应用8嵌入式应用嵌入式应用汽车电子汽车电子汽车电子产品(汽车电子产品(18个嵌入式控制模块)个嵌入式控制模块)CAN总线网络总线网络VOLVO S80汽车的CAN总线网络9智能玩具与机器人智能玩具与机器人10嵌入式技术应用嵌入式技术应用工
3、业控制工业控制n工业方面:机床、冶金、电子、交通、航工业方面:机床、冶金、电子、交通、航空航天等行业技术升级的重要基础;空航天等行业技术升级的重要基础;11军事侦察军事侦察阿富汗参加反恐作战的阿富汗参加反恐作战的“赫耳墨斯赫耳墨斯”价值价值4 4万美元,可携带万美元,可携带2 2架摄像机,架摄像机,发挥了很好作用。发挥了很好作用。12反恐防暴反恐防暴n2002年年11月月28日,以色日,以色列一选举投列一选举投票点,发生票点,发生枪击事件,枪击事件,造成至少造成至少7人人死亡,数十死亡,数十人受伤。以人受伤。以警方用机器警方用机器人在检查一人在检查一具巴勒斯坦具巴勒斯坦枪手的尸体。枪手的尸体。
4、13空中飞行器空中飞行器微型飞行器 -“黑寡妇”14 什么是嵌入式系统什么是嵌入式系统?20世纪70年代以单片机为代表的电子产品已初步具备了嵌入式应用的特点,但它执行的只是一些单线程的程序,还谈不上“系统”的概念。20世纪80年代开始出现了嵌入式操作系统,使程序员从小范围的开发中解脱出来,缩短了开发周期。20世纪90年代后,随着实时性要求的提高,软件规模不断上升,嵌入式操作系统进一步发展为实时多任务操作系统(RTOS)。如:VxWorks、RT-linux、cos等。15嵌入式系统定义嵌入式系统定义 IEEE(电气和电子工程师协会)对嵌入式系统定义为:嵌入式系统是“控制、监视或者辅助装置、机器
5、和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 国内一个普遍被认同的定义是: 以以应用应用为中心、以计算机技术为基础、为中心、以计算机技术为基础、软件硬软件硬件可裁剪件可裁剪、功能、可靠性、成本、体积、功耗功能、可靠性、成本、体积、功耗严格要求严格要求的的专用专用计算机系统。计算机系统。16嵌入式系统组成嵌入式微处理器嵌入式微处理器 外围硬件设备外围硬件设备 嵌入式操作系统嵌入式操作系统 用户的应用程序用户的应用程序 17嵌入式系统嵌入
6、式系统我们可以这样理解:凡是使用了CPU的便携式电子设备都可以叫嵌入式,(如电子表、超声波测距仪等智能仪表,常见CPU为MCS51系列芯片)。而嵌入式系统一般指在开发时移植了操作系统,功能较复杂的便携式电子设备,(如手机、掌上电脑、MP4等,常见CPU为ARM、DSP等)。18嵌入式系统的特点嵌入式系统的特点特定的设计(功耗低、体积小、集成度高)各学科结合的产物(主要:计算机电子)高效的设计(性价比高)与具体应用相结合(针对产品开发)交叉开发(主机+目标机)19嵌入式系统的发展嵌入式系统的发展单片机模式和计算机模式 电子专业和计算机专业20嵌入式人才就业前景嵌入式人才就业前景n权威部门统计,我
7、国嵌入式人才缺口每年50万人左右,供求比例达1:20,根据前程无忧网发布的调查报告,嵌入式软件开发是未来几年或更长的时间内最热门和最受欢迎的职业之一,因为嵌入式技术凝聚了计算机和信息技术的精华,嵌入式技术人才是具备透视计算机和信息技术奥秘的高级专业人才。 21二、嵌入式系统的组成22u 处理器u 外围硬件u 嵌入式操作系统u 应用程序u 开发环境嵌入式系统的组成嵌入式系统的组成231 嵌入式嵌入式处理器处理器 处理器是嵌入式系统的核心。从功能结构上,嵌入式处理器同时集成了PC机CPU和主板(芯片组)的功能。一般可以将嵌入式处理器分成 4 类:嵌入式微处理器;嵌入式微控制器;嵌入式DSP处理器;
8、嵌入式片上系统(SOC)。24嵌入式微处理器分布嵌入式微处理器分布全世界只有4%的计算机处理芯片用于计算机中Source: Embedded Systems Programming, May 1999Average car has about 15 microprocessors. Mercedes S-class: 63 microprocessors !32-bit嵌入式微处理器16-bit8-bit4-bit250 million1 billion1 billion1 billion125 million PCsIntel, AMDMotorola,ARM,MIPS,i960,x86,其
9、中只有其中只有4%4%的的微处理器微处理器25嵌入式微处理器嵌入式微处理器嵌入式微处理器(MicroProcessorUnit,MPU) 是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器。代表芯片有:ARM芯片。ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面。26嵌入式微控制器嵌入式微控制器嵌入式微控制器(Micro Controller Unit,MCU)。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。代表芯片有:MCS51和AVR等单片机27DSP处理器处理器DSP处理器(Digital Signal Proc
10、essor,DSP)是专门用于信号处理方面的处理器。在一个指令周期内可完成一次乘法和一次加法。DSP主要是用来计算的,比如进行加密解 密、调制解调等,优势是强大的数据处理能力和较高的运行速度。 28片上系统片上系统片上系统 (System on Chip),SOC最大的特点是成功实现了软硬件无缝结合,可以通过编程修改硬件的功能。常用的FPGA如同一张白纸,能完成上至高性能CPU,下至简单的74电路的功能。加电时,FPGA芯片将EPROM中数据读入片内编程RAM 中,配置完成后,FPGA进入工作状态。 掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。 292 外围硬件外
11、围硬件 外围硬件是嵌入式系统处理器不能或没有集成,但运行时必不可少的硬件。包括:时钟和电源部件;内存和各种通讯端口等。303 嵌入式操作系统嵌入式操作系统 在嵌入式系统中,操作系统并不是一个必要部件。嵌入式操作系统的作用一般只是为了应用程序提供必要运行环境(任务调度),附加任务通讯、内存管理等功能。使嵌入式系统的开发可利用通用的功能模块,提高开发效率。嵌入式系统和系统的硬件基础关系紧密,一般都需要移植和配置才可以使用。但前较流行的嵌入式操作系统有: VxWorks、 WinCE、 Linux、COS-II。313 嵌入式操作系统嵌入式操作系统实时嵌入式操作系统的种类繁多,大体上可实时嵌入式操作
12、系统的种类繁多,大体上可分为两种,商用型和免费型。分为两种,商用型和免费型。n商用型的实操作系统功能稳定、可靠,有完商用型的实操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵。善的技术支持和售后服务,但往往价格昂贵。n免费型的实时操作系统在价格方面具有优势。免费型的实时操作系统在价格方面具有优势。32VxWorksnVxWorks操作系统是美国操作系统是美国WindRiver公司于公司于1983年年设计开发的一种嵌入式实时操作系统(设计开发的一种嵌入式实时操作系统(RTOS),),具有良好的持续发展能力、高性能的内核以及友具有良好的持续发展能力、高性能的内核以及友好的用户开发
13、环境,在嵌入式实时操作系统领域好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。牢牢占据着一席之地。nVxWorks所具有的显著特点是:所具有的显著特点是: 可靠性、实时性和可裁减性。可靠性、实时性和可裁减性。 它支持多种处理器,如它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS 、POWER PC等等。等等。n 大多数的大多数的VxWorks API是专有的,火星机器人。是专有的,火星机器人。33Windows EmbeddednWindows CE 3.0:一种:一种针对针对小容量、移小容量、移动动式、智能化、式、智能化、32
14、位、位、连连接接设备设备的模的模块块化化实时实时嵌入式操作系嵌入式操作系统统。n针对针对掌上掌上设备设备、无、无线设备线设备的的动态应动态应用程序和用程序和服服务务提供了一种功能丰富的操作系提供了一种功能丰富的操作系统统平台,平台, WindowsCE嵌入但不嵌入但不够实时够实时,属于,属于软实时软实时操作系操作系统统,n由于其由于其Windows背景,界面比背景,界面比较统较统一一认认可。可。n操作系操作系统统的基本内核需要至少的基本内核需要至少200K的的ROM。34Palm OSnPalm OS是著名的网是著名的网络设备络设备制造商制造商3COM旗旗下的下的Palm Computing掌
15、上掌上电脑电脑公司的公司的产产品。品。n3COM、CISCO竞竞争争nPalm OS在在PDA市市场场上占有很大的市上占有很大的市场场份份额额, Palm OS的市的市场场份份额额占到将近占到将近90%,最近下,最近下降降70,目前主要与,目前主要与WIN CE进进行激烈行激烈竞竞争。争。35嵌入式嵌入式Linuxn嵌入式系嵌入式系统统越来越追求数字化、网越来越追求数字化、网络络化和智能化。化和智能化。因此原来在某些因此原来在某些设备设备或或领领域中占主域中占主导导地位的地位的软软件件系系统统越来越越来越难难以以为继为继,整个系,整个系统统必必须须是开放的、是开放的、提供提供标标准的准的API
16、,并且能,并且能够够方便地与众多第三方的方便地与众多第三方的软软硬件沟通。硬件沟通。nLinux是开放源是开放源码码的,不存在黑箱技的,不存在黑箱技术术,遍布全球,遍布全球的众多的众多Linux爱爱好者又是好者又是Linux开开发发的的强强大技大技术术后后盾。盾。nLinux的内核小、功能的内核小、功能强强大、运行大、运行稳稳定、系定、系统统健壮、健壮、效率高,易于定制剪裁,在价格上极具效率高,易于定制剪裁,在价格上极具竞竞争力。争力。nLinux不不仅仅支持支持x86 CPU,还还可以支持其他数十种可以支持其他数十种CPU芯片。芯片。36嵌入式嵌入式Linux及及应应用用n嵌入式嵌入式Lin
17、ux(Embedded Linux)是指是指对对Linux经过经过小型化裁剪后,能小型化裁剪后,能够够固化在容量只有几百固化在容量只有几百K字字节节或或几兆字几兆字节节的存的存储储器芯片或器芯片或单单片机中,片机中,应应用于特定用于特定嵌入式嵌入式场场合的合的专专用用Linux操作系操作系统统。嵌入式。嵌入式Linux的开的开发发和研究是目前操作系和研究是目前操作系统领统领域的一个域的一个热热点。点。主要有主要有RTLinux和和 CLinuxnLinux在嵌入式在嵌入式领领域异域异军军突起不突起不过过是近两年的事情,是近两年的事情,过过去的一年中有去的一年中有13%的用的用户户已已经经开始使
18、用嵌入式开始使用嵌入式Linux系系统进统进行开行开发发工作;有工作;有52%的用的用户户决定在未决定在未来来24个月内开始使用个月内开始使用Linux作作为为嵌入式操作系嵌入式操作系统统的的开开发发原型。原型。 37 C/OS及及 C/OS-II1、 C/OSMicro Controller OS,微控制,微控制器操作系统器操作系统2、 C/OS简介简介n美国人美国人Jean Labrosse 1992年完成年完成n应用面覆盖了诸多领域,如照相机、医疗器械、音响设应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等备、发动机控制、高速公路电话系统、自
19、动提款机等 n1998年年 C/OS-II,目前的版本,目前的版本 C/OS -II V2.61,2.72n2000年,得到美国航空管理局(年,得到美国航空管理局(FAA)的认证,可以用)的认证,可以用于飞行器中于飞行器中n网站网站www.ucos-II.com()384 应用程序应用程序 当嵌入式系统的其它部分确定后,嵌入式应用程序决定了系统实现的功能。 由于控制硬件是嵌入式系统基本的操作,因此嵌入式应用程序依然与系统的硬件基础关系密切。尤其在没有操作系统的情况下,嵌入式的应用程序需要直接访问寄存器或者设备的地址来操作硬件。 395 交叉开发环境交叉开发环境 用VC、VB等开发环境完成的大型
20、应用软件开发都可以在PC机等同类机型上全部直接完成。 ARM应用程序的开发需要交叉开发环境下完成。即:PC机开发板PC机开发板,直到成功。熟练运用ARM的交叉开发工具是从事ARM开发的第一个关键步骤。 405 交叉开发环境交叉开发环境ARM的编辑、编译、链接集成开发环境有SDT、ADS、KEIL。 ARM的调试环境为AXD。此外还有ARM应用开发的命令行工具。41嵌入式系统 PC机嵌入式系统一般是专用系统,而PC是通用计算平台嵌入式系统的资源比PC少得多嵌入式系统软件故障带来的后果比PC机大得多嵌入式系统一般采用实时操作系统嵌入式系统大都有成本、功耗的要求嵌入式系统得到多种微处理体系的支持嵌入
21、式系统需要专用的开发工具42三、嵌入式最小系统 431嵌入式最小系统组成嵌入式最小系统组成 嵌入式最小系统指使嵌入式处理器能够运行起来所需要的最小元器件集合。通常一个嵌入式最小系统有一下几部分组成:处理器内存时钟电源和复位JTAG(调试、下载、烧写所需)44451) 处理器的组成处理器的组成控制器的功能是控制处理器,如取指令、译码、执行指令、读写内存等;运算器主要是在处理器的内部完成运算(算术运算、位运算)操作,一般只和寄存器打交道;寄存器为处理器提供内部的临时存储空间,它是处理器和内存的媒介462) 内存内存内存芯片种内存芯片种类类读读写方式写方式扩扩展方式展方式功能和特点功能和特点价格价格
22、SRAM线性读、写地址数据总线运行代码可读写数据速度很快贵Nor FLASH线性读写需根据时序地址数据总线属总线设备固化代码和数据运行代码只读数据较贵SDRAM线性读、写需特殊内存控制器的支持运行代码可读写数据便宜Nand FLASH非线形读写根据时序读写GPIO或普通总线方式属I/O设备大规模可读写数据不能线性访问便宜473) 时钟时钟 时钟是最小系统工作的心脏,指令的执行、内存的读写、外设的访问等操作都需要在时钟的作用下,遵照特定的时序来完成。S3C4510内含PLL电路外部时钟可由片内PLL倍频以提高系统时钟 输入频率范围:1040MHz 输出频率可以是输入时钟的5倍 484) JTAG
23、接口接口JTAG是IEEE的一个标准,即IEEE1149.1。通过这个标准,可以对具有JTAG接口芯片的硬件电路进行边界扫描和故障检测。JTAG仿真器是通过处理器的JTAG口进行设备调试、下载、烧写的。 492 嵌入式最小系统运行原理嵌入式最小系统运行原理50 3最小系统小结最小系统小结在嵌入式系统的开发中,最小系统起着至关重要的作用。构建一个嵌入式系统,首先需要让系统核心部分嵌入式处理器运作起来,然后再逐步增加系统的功能,最终形成符合需求的完整系统。嵌入式最小系统的组成,包括处理器,内存,时钟,电源和复位. 为了能够支持程序的下载和调试, 一般还需要在最小系统中添加对JTAG 接口的支持。5
24、1四、ARM简介 521 1 什么是什么是ARMARMARM是一个公司的名称。ARM代表一项技术,即Advanced RISC Machine。 RISC即Reduced Instruction Set Computer,意为精简指令集计算机。ARM是一个内核,而不是我们看到的具体的芯片。基于ARM的嵌入式最小系统就是采用以ARM为内核的芯片作该系统的处理器。53ARM份额份额2002嵌入式内核总量嵌入式内核总量: 6.265亿亿498M498M87M87M19M19M17.617.6MM542 ARM的内核系列与版本的内核系列与版本55ARM体系结构版本体系结构版本ARM V1体系是最初的版
25、本,只有26位的寻址空间,没有乘法指令,最终也没有商业化。ARM V2体系与V1体系同为26位寻址空间具有乘法和乘加指令,支持协处理器。ARM V3体系的寻址范围扩展到32位,具有乘法和乘加指令,支持协处理器。ARM V4体系增加了半字存储操作,对调试的支持以及支持嵌入的ICE。ARM V5体系增加了 DSP指令支持和对 Java指令的支持。ARM V6体系增加了媒体指令,ARMv6指令集合中加入了超过60条SIMD单指令多数据指令。ARM V7体系定义了三种独立的内核型 A(应用领域),R(实时领域),M(控制领域)。56ARM内核系列内核系列ARM7 系列系列ARM9 系列系列ARM9E
26、系列系列ARM10E 系列系列SecurCore 系列系列StrongARM/XscaleARM11Cortex57ARM内核命名规律内核命名规律内核后缀的含义内核后缀的含义:E:代表支持增强DSP指令T:代表支持Thumb指令集(ARM9E之后都支持,不再带有T)J:代表支持Jazzlle技术S:代表为可综合的内核(与其对应为硬件宏单元)第一个数字的含义:第一个数字的含义:ARM的后面的第一个数字7、9、10、11代表系列名 如:ARM7TDMI、ARM920T 、AEM1136J(F)-S。第二个数字的含义:第二个数字的含义:2:带有MMU(如:ARM720T、ARM922T、ARM102
27、0E)4:带有MPU(如:ARM940T、ARM946EJ-S)6:无MMU和MPU(如:ARM966EJ-S、ARM968EJ-S)第三个数字的含义:第三个数字的含义:0:标准Cache2:减小的Cache6:可变的Cache583 嵌入式系统的应用领域嵌入式系统的应用领域嵌入式系统的应用领域:l工业控制:l交通管理:l信息家电:l家庭智能管理系统:lPOS网络及电子商务:l环境工程与自然:l机器人:59基于基于Win CE的移动机器人平台的移动机器人平台60基于基于RTLinux的仿人机器人的仿人机器人高高 48 cm48 cm重重: 6 kg: 6 kg灵活性:灵活性:20 DOF20
28、DOF操作系统操作系统: RT-Linux: RT-Linux接口形式接口形式: USB 1.0 (12Mbps): USB 1.0 (12Mbps)响应周期响应周期: 1ms: 1ms能源:能源: DC24V x 6.2A (150W)DC24V x 6.2A (150W)制造:富士通制造:富士通 61基于基于VXworks的火星探路者的火星探路者622004年年“勇气号勇气号”再次登陆火星再次登陆火星63 ARM ADS 集成开发环境内容大纲内容大纲 建立 ADS 工程项目 编译链接参数设置 使用 AXD 辅助调试 Hello World 程序演示 ADS 高级开发 安装banyan开发工
29、具安装和使用65 CodeWarrior IDE= 安装流程与安装目录= 新建工程项目= 设置参数= 编译、链接、执行= 进入调试模式ARM ADS 集成开发环境 举例说明66安装 ADS 1.2 开发工具安装开发工具67 新建工程建立 ADS 工程项目68 添加工程文件建立 ADS 工程项目69 添加源码建立 ADS 工程项目70 参数设置 Debug Setting编译链接参数设置71 参数设置界面编译链接参数设置72 编译整个工程编译整个工程项目73 错误警告显示窗口编译整个工程项目74 启动 AXD Debuger使用 AXD 辅助调试75 选择调试代理 Choose Target使用 AXD 辅助调试76 开始调试准备就绪使用 AXD 辅助调试77 设置断点使用 AXD 辅助调试78 观察变量使用 AXD 辅助调试79 建立 HelloWorld 项目工程HelloWorld 程序演示80 HelloWorld 调试过程HelloWorld 程序演示81 HelloWorld 执行结果HelloWorld 程序演示82安装 Banyan 开发工具安装banyan开发工具83 Detect Target使用 banyan 测试 cpu84Lets DO it!Thanks for listening! 85