ARM嵌入式开发技术.ppt_第1页
ARM嵌入式开发技术.ppt_第2页
ARM嵌入式开发技术.ppt_第3页
ARM嵌入式开发技术.ppt_第4页
ARM嵌入式开发技术.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

ARM嵌入式开发技术,电气学院 屈稳太,嵌入式系统介绍 嵌入式系统的特点、应用 嵌入式系统硬件基本结构 嵌入式系统软件的层次结构 嵌入式操作系统 BOOTLoader ARM编程的基础知识 ARM开发和调试流程 ARM与操作系统,嵌入式系统介绍,嵌入式系统是指以应用为中心,以计算机技术为基础,软、硬件可裁减,适应应用系统对功能、成本、体积、功耗等要求的专用计算机系统. 由嵌入式处理器,嵌入式软件和嵌入式应用软件组成。 随着微电子技术与计算机技术的发展,微控制芯片的功能越来越强大,嵌入式系统的设备也越来越多的出现在人们的日常生活之中。,按计算机的嵌入式应用和非嵌入式应用将其分为通用计算机和嵌入式计算机。 通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的面目出现并应用在社会的各个方面,其典型产品为PC。 而嵌入式计算机,它是以作为嵌入式系统的核心部件的形式隐藏在各种装置、设备、产品和系统中。 因此嵌入式计算机是计算机技术发展中的一种计算机存在的形式,是从计算机技术的发展中分离出来的。,嵌入式系统的特点,嵌入式系统具有“嵌入”、“专用性”、“计算机”的基本要素和特征。 嵌入式系统是应用于特定环境下,针对特定用途来设计的“专用系统”,所以不同于通用计算机系统。 它的硬件和软件都必须高效率地设计、“量体裁衣”、去除冗余,力争在较少的资源上实现更高的性能。 它与通用的计算机系统相比具有以下显著特点:,嵌入式系统的特点,具有较长的生命周期; 嵌入式系统的目标代码通常是固化在非易失性存储器(ROM,EPROM,EEPROM,FLASH)芯片中; 嵌入式系统使用的操作系统一般是实时操作系统(RTOS),系统有实时约束; 嵌入式系统需要专用开发工具和方法进行设计; 嵌入式微处理器通常包含专用调试电路; 嵌入式系统是技术密集、高度分散、不断创新的知识集成系统;,嵌入式系统的分类,嵌入式系统按表现形式及使用硬件种类分为: 芯片级嵌入式系统:系统中使用含程序或算法的处理器的嵌入式系统 模块级嵌入式系统:系统中使用某个核心模块的嵌入式系统 嵌入式系统按软件实时性需求分: 非实时系统(如PDA); 软实时系统(如消费类产品); 硬实时系统(工业实时控制系统),嵌入式系统的应用范围,电话的发展,电话 无晶体管,BT DECT 1千万个晶体管 3个处理器,诺基亚手机 超过7亿个晶体管 (多数用于存储器) 5-6个处理器,计算机的发展,+,=,Apple Macintosh 黑白显示器 1 MIP 处理器,Acorn Archimedes 彩色显示器 10 MIP 处理器 RISC集,掌上电脑/彩色显示 200 MIP 处理器/64MB 内存 袖珍型,航海仪器的发展,地图、时钟、指南针 印刷及磁技术 无晶体管,Raytheon 船用航海仪器,GarminGPS定位器 约1亿个晶体管 2-3个处理器 + 4个人造卫星!,日用电器的发展,Apple IPOD 100 张CDs 袖珍型 四处理器,HP 1315 照片质量彩色打印机 双处理器,数码照相机,我们正步入一个崭新的“数字世界”,无线连接是 “数字胶水”,嵌入式应用,嵌入式系统硬件基本结构,嵌入式系统的硬件架构如图下半部分所示,是以嵌入式处理器为中心,配置存储器、I/O设备、通信模块以及电源等必要的辅助接口组成。 嵌入式系统是“量身定做”的“专用计算机应用系统”,又不同于普通计算机组成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电路以外,其余的电路都可以根据需要和成本进行“裁剪”、“定制化”(Customize),非常经济、可靠。,嵌入式系统硬件基本结构,嵌入式系统硬件核心是嵌入式微处理器,有时为了提高系统的信息处理能力,常常外接DSP和DSP协处理器(也可内部集成)完成高性能信号处理。 随着纳米芯片加工工艺技术的发展,以微处理器为核心的集成多种功能的SoC系统芯片已成为嵌入式系统的核心,在嵌入式系统设计中,要尽可能的选择能满足系统功能接口的SoC芯片,这些SoC集成了大量的外围USB、UART、以太网、AD/DA、IIS等功能模块。,嵌入式系统硬件基本结构,可编程片上系统SOPC( System On Programmable Chip ) 结合了SoC和CPLD、FPGA各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应用中的完美体现,极大的提高了系统的在线升级、换代能力。 以SoC/SOPC为核心,可以用最少的外围部件和连接部件构成一个应用系统,满足系统的功能需求,也是嵌入式系统发展的一个方向 现代嵌入式设计是以处理器/SoC/SOPC为核心,其外围接口包括存储设备、通信接口设备、扩展设备接口和辅助的机电设备(电源、连接器、传感器等)构成硬件系统。,嵌入式外围接口电路和设备接口,根据外围设备的功能可分为以下5类 存储器类型 通信接口 输入输出设备 设备扩展接口 电源及辅助设备,存储器类型,存储器是嵌入式系统中存储数据和程序的功能部件,目前常见的存储设备按使用的存储器类型分为: 静态易失型存储器(RAM,SRAM); 动态存储器(DRAM); 非易失性存储器ROM(MASK ROMEPROM, EEPROM,FLASH); 硬盘、软盘、CDROM等。,通信接口,目前存在的所有计算机通信接口在嵌入式领域中都有 其广泛的应用,应用最为广泛的接口设备包括 RS-232接口(串口UART) USB接口(通用串行总线接口) IrDA(Infra Red Data Association红外线接口)、 SPI(串行外围设备接口)、 I2C、CAN总线接口、 蓝牙接口(Bluetooth) Ethernet(以太网接口)、 IEEE1394接口和通用可编程接口GPIO。,输入输出设备,CRT、LCD和触摸屏等,构成了嵌入式系 统中重要的信息输入输出设备,应用广泛。 触摸屏可以方便的实现鼠标和键盘功能。,设备扩展接口,简单的嵌入式系统如具有简单的记事本、备忘录以及日程计划等功能的PDA,它所需要存储的数据量并不需要很大的内存。 目前一些高端的嵌入式系统都会预留可扩展存储设备接口,为日后用户有特别需求时,可购买符合扩展接口规格的装置直接接入系统使用。 常用的扩展卡有各种CF卡、SD卡、Memory Stick等。目前高端的嵌入式系统都留有一定的扩展卡接口。,电源及辅助设备,嵌人式系统力求外观小型化、重量轻以及电源使用寿命长,例如移动电话或PDA,体积较大或者过重的机型已经被淘汰。 目前发展的目标是体积小、易携带和外观设计新颖等。在便携式嵌入式系统的应用中,必须特别关注电源装置等辅助设备。,嵌入式系统软件的层次结构,计算机由硬件和软件两部分组成,当设计一个简单的应用程序时,可以不使用操作系统,但是当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理、控制内存、多任务、周边资源等等。依据操作系统所提供的程序界面来编写应用程序,可大大减少应用程序的负担。 对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含四个层面:设备驱动层、实时操作系统(RTOS)、应用程序接口(API)层、实际应用程序层。由于硬件电路的可裁减性和嵌入式系统本身的特点,其软件部分也是可裁减的。 对于功能简单仅包括应用程序的嵌入式系统,一般不使用操作系统,仅有应用程序和设备驱动程序。现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势。,嵌入式操作系统,操作系统OS(Operating System)是配置在计算机硬件上的第一层软件,在计算机系统中占据了特殊重要的地位; 操作系统可以补平硬件差异,让应用程序可以在上面运行。 通过由操作系统统所提供出来的系统界面来写应用程序,无须考虑到不同硬件所造成的差异,让程序设计人员能够专注于所擅长领域的开发,嵌入式操作系统,从用户的观点看OS是用户与计算机硬件系统之间的接口,用户在OS的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序; 从资源管理观点可以把OS视为计算机系统资源的管理者。 嵌入式操作系统就是支持嵌入式系统工作的操作系统。它在知识体系和技术本质上与通用操作系统没有太大的区别,一般用于比较复杂的嵌入式系统软件开发中。,嵌入式操作系统,嵌入式系统一般具有实时特点。所谓实时系统,是指一个优先等级高的任务能够获得立即的、没有延迟的服务,它不需要等候任何其它任务。而且在得到CPU的使用权后,它可以一直执行到工作结束或是有更高等级的进程出现为止。 嵌入式操作系统是嵌入式系统的灵魂,它的出现大大提高了嵌入式系统开发的效率,减少了系统开发的总工作量,而且提高了嵌入式应用软件的可移植性。,嵌入式操作系统,嵌入式操作系统相对于一般操作系统而言,仅指操作系统的内核,其他的诸如窗口界面或是通讯协议等模块,可以另外选择,目前大多数的嵌入式操作系统必须提供以下管理功能: 多任务管理 存储管理 周边资源管理 中断管理,嵌入式操作系统,固化在硬件里面的系统,比如手机、路由器等嵌入式系统中的OS. 常见的嵌入式系统有: -基于与Windows兼容,如Linux,uClinux,WinCE; -工业与通信类,如VxWorks,pSOS,Nuleus; -单片机类eCos,uCOS-II -面向internet类,如PalmOS 除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强。,C/OS-II内核,C/OS-II是一个可裁减的、源码开放的、结构小巧的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能优良和可扩展性强等特点。 C/OS-II中最多可以支持64个任务,分别对应优先级063,其中0为最高优先级。实时内核在任何时候都是运行就绪了的最高优先级的任务。,C/OS-II内核,C/OS-II结构小巧,最小内核可编译至2k(这样的内核没有太大实用性),即使包含全部功能如信号量、消息邮箱、消息队列及相关函数等,编译后的C/OS-II内核也仅有610kb,所以它比较适用于小型控制系统。 C/OS-II具有良好的扩展性能,比如系统本身不支持文件系统,但是如果需要的话也可自行加入文件系统的内容。,WinCE操作系统,Microsoft Windows CE是针对有限资源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个硬实时操作系统。 WinCE操作系统的基本内核需要至少200K的ROM,它支持 Win32 API子集、多种用户界面硬件、多种的串行和网络通讯技术、COM/OLE和其他的进程间通讯的先进方法。,WinCE操作系统,Windows CE有五个主要的模块 内核模块:支持进程和线程处理及内存管理 等基 本服务; 内核系统调用接口模块:允许应用软件访问操作系统提供的服务; 文件系统模块:支持DOS等格式的文件系统; 图形窗口和事件子系统模块:控制图形显示,并 提供Windows GUI界面; 通讯模块:允许同其他的设备之间进行信息交换。,WinCE操作系统,Windows CE嵌入式操作系统最大的特点是能提供与PC机类似的图形界面和主要的应用程序。 Windows CE嵌入式操作系统的界面显示大多数与Windows里出现的标准部件,包括桌面、任务栏、窗口、图标和控件等等。 这样只要是对PC机上的Windows比较熟悉的用户,可以很快地使用基于Windows CE嵌入式操作系统的嵌入式设备。,Bootloader,OS启动加载程序,类似于PC机的BIOS Bootloader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 Bootloader的作用就是用来加载操作系统,主要分为两类: 1)启动加载模式 2)下载更新模式,1)启动加载模式: 这种模式也称为“自主”模式。也即BootLoader从目标机上的某个固态存储设备(FLASH,EEPROM)上将操作系统加载到RAM中运行,整个过程并没有用户的介入。 这种模式是BootLoader的正常工作模式,因此在嵌入式产品发布的时候,Bootloader必须工作在这种模式下。,2)下载模式 在这种模式下,目标机上的Bootloader将通过串口连接或网络连接等通信手段从主机(主要指PC)下载文件程序。从主机下载的文件通常首先被Bootloader保存到目标机的RAM中,然后再被Bootloader写到目标机的FLASH类固态存储设备中。 Bootloader的这种模式通常在第一次安装内核与根文件系统时被使用或产品出厂的程序烧制;此外,以后的系统更新也会使用Bootloader的这种工作模式。工作于这种模式下的Bootloader通常都会向它的终端用户提供一个简单的命令行接口或在PC上安装一个专用的下载更新软件。,启动程序BootLoader,系统的启动通常有两种方式,一种是可以直接从Flash启动,另一种是可以将压缩的内存映像文件从Flash中复制、解压到RAM,再从RAM启动(为提高速度) 。 当电源打开时,一般的系统会去执行ROM(应用较多的是Flash)里面的启动代码。这些代码是用汇编语言编写的,其主要作用在于初始化CPU和板上的必备硬件如内存、中断控制器等。 有时候用户必须根据自己板子的硬件资源情况做适当的调整与修改。,嵌入式应用软件开发,嵌入式软件开发需要软硬件开发环境和工具 嵌入式软硬件必须协同设计 需要新的设计方法 开发过程完成后,系统应用程序代码需要固化到系统中进行功能、性能和可靠性测试 技术挑战:软件要求高,开发工作量和难度大,ARM与操作系统,是否加载RTOS 开发环境有两种:基于裸机和基于RTOS。在基于裸机的环境下,用户可以完全控制处理器的硬件,一切程序完全由开发者完成。而在基于RTOS的环境下,开发者面对的是一个具有多任务操作系统内核的处理器。在进行程序设计的时候只要完成系统各task的设计,任务的调度、管理由操作系统内核完成。,ARM架构处理器,嵌入式

温馨提示

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

最新文档

评论

0/150

提交评论