第1章 嵌入式系统开发基础_第1页
第1章 嵌入式系统开发基础_第2页
第1章 嵌入式系统开发基础_第3页
第1章 嵌入式系统开发基础_第4页
第1章 嵌入式系统开发基础_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

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

文档简介

EmbeddedSystemDevelopment聊嵌入式系统与应用

本门课程分数比例分配如下出勤、课堂讨论、作业等平时成绩:约30%期末考查(或考试)成绩:约70%有特色贡献者可以在以上总分的基础上再加分。32+10学时第一章嵌入式系统概述1.1嵌入式系统及其应用1.1.1嵌入式系统的基本概念1.1.2嵌入式系统的应用领域1.1.3嵌入式系统的特点1.1.4嵌入式系统发展1.1.5嵌入式系统的分类1.2嵌入式系统的核心技术1.2.1嵌入式系统的组成结构1.2.2嵌入式外围设备1.2.3嵌入式软件1.2.4

嵌入式操作系统1.1.1嵌入式系统的概念嵌入式系统的定义很多,顾名思义:嵌入到对象体系中的专用计算机系统。三个基本要素:嵌入性、专用性、计算机系统。对象系统则是指嵌入式系统所嵌入的宿主系统。如智能家用电器、智能仪器、机器人、手机、PDA等。IEEE的定义:用于控制、监视或者辅助操作机器和设备的装置(devicesusedtocontrol、monitor、orassisttheoperationofequipment、machineryorplants)。国内普遍认同的定义:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。第一章嵌入式系统概述1.1嵌入式系统及其应用1.1.1嵌入式系统的基本概念1.1.2嵌入式系统的应用领域1.1.3嵌入式系统的特点1.1.4嵌入式系统发展1.1.5嵌入式系统的分类1.2嵌入式系统的核心技术1.2.1嵌入式系统的组成结构1.2.2嵌入式外围设备1.2.3嵌入式软件1.2.4

嵌入式操作系统1.1.2嵌入式系统的应用领域消费电子嵌入式应用信息家电智能玩具军事电子通信设备移动存贮工控设备智能仪表汽车电子网络设备工业军事国防电子商务网络物联网7嵌入式技术的应用-手机、PDA韩国电信手机/电视遥控器二合一产品Nokia手机户外音响内置DVB-H移动电视手机普通手机智能手机GPS导航8智能家居智能家电Roto-Rooter公司马桶组合笔记本/ipod/冰箱/Xbox360/健身高科技的捕鼠器遮断红外线光束掉下笼子DangerBomb闹钟不起床就爆炸啰配备电子食谱的锅铲coo.boo智能型垃圾桶i.Master智能割草机营养智能果汁机嵌入式技术的应用-智能家居9嵌入式技术的应用-PMPiLuv可即时将视频录制到iPod/闪存卡上,与以前技术相反Sony家用影音综合设备XtremeMac开发的iPod音箱IPEVO支持Skype电话Nike的

iPod帽IpodnanoArchos带Wifi的704PortableMediaPlayer10录音笔FLY数字笔能“看懂”在专用纸上所写的内容能“阅读”写作和纠正语法错误完成简单的算术运算将英文互相翻译成西班牙文等Genius数字便笺存储100页便笺2000LPI分辨率32MB板载内存可通过USB连接电脑笔迹识别软件PolymerVision手机书嵌入式技术的应用-办公用品11嵌入式技术的应用-手表MartinFrey手表日程表和手机联动获取网络连接和GPS定位信息手表手机:M3001英寸的显示屏USB接口可播放音乐支持蓝牙Nike的Speed+手表结合iPod和运动计测韩国防性罪犯的电子手镯可追踪罪犯的定位和坐标爱国者视频MP4手表12嵌入式技术的应用-运动玩具游戏GTX公司定位的运动跑鞋内置的GPS接收器和可充电电池遥控蜻蜓次世代三大主流三款主机Xbox360,WII,PS3GameCubeXboX360PS3Wii,手柄,手套,枪13嵌入式技术的应用-摄像器材数码相机DV14嵌入式技术的应用-多媒体终端IP电话视频会议可视电话基于视频电话的小型视频会议系统(MCU)语音识别电话基于H.323协议族的网络视频电话15嵌入式技术的应用-电视高清电视数字电视立体显示技术LG内置数字录像机的LCDTVAppleTV:IntelPentiumM1.0GHz2MBofL2高速缓存nVidiaG72M显示卡

64MBDDR2内存内置的40GB硬盘播放iTunes能输出1080p高画质影像的iPodDock数字电视机顶盒16嵌入式技术的应用-通讯设备有计算机能力的各种通讯设备路由器/交换机/防火墙等Buffalo路由器/USB网卡套装VPN产品千兆网关防火墙

17嵌入式技术的应用-仪器仪表DCG(动态心电图仪)便携式多参数监护仪中医指套传感器脉象虚拟仪器推拿手法测试仪电动机故障状态监测保护系统监控仪手持仪马达控制器车灯嵌入式系统示例——汽车控制系统尾灯控制系统后车门控制系统前车门控制系统座椅控制系统发动器控制系统所有的控制系统都是一个完整的嵌入式系统嵌入式系统的应用—机器人20嵌入式技术的应用-军事武器控制系统数字化单兵系统有苛刻要求尺寸和重量功率消耗震动和冲击温度和湿度21世纪部队旅及旅以下作战指挥系统夜视扫描、全球定位、指挥通信嵌入式系统的应用--航天玉兔月球车神十与天宫一号对接第一章嵌入式系统概述1.1嵌入式系统及其应用1.1.1嵌入式系统的基本概念1.1.2嵌入式系统的应用领域1.1.3嵌入式系统的特点1.1.4嵌入式系统发展1.1.5嵌入式系统的分类1.2嵌入式系统的核心技术1.2.1嵌入式系统的组成结构1.2.2嵌入式外围设备1.2.3嵌入式软件1.2.4

嵌入式操作系统1.1.3嵌入式系统的特点是“专用”的计算机系统,面向特定的任务;运行环境差异很大;比通用PC系统资源少得多;低功耗、体积小、集成度高、成本低等;需建立系统测试和可靠性评估体系,保证高效、可靠、稳定工作;生命周期长,升级换代是和具体产品同步进行的。代码通常是固化在非易失性存储器中,如FLASH;一般用实时操作系统RTOS(RealTimeOperatingSystem);嵌入式软件开发走向标准化;嵌入式系统需要专用开发工具和方法进行设计;嵌入式微处理器通常包含专用调试电路;第一章嵌入式系统概述1.1嵌入式系统及其应用1.1.1嵌入式系统的基本概念1.1.2嵌入式系统的应用领域1.1.3嵌入式系统的特点1.1.4嵌入式系统发展1.1.5嵌入式系统的分类1.2嵌入式系统的核心技术1.2.1嵌入式系统的组成结构1.2.2嵌入式外围设备1.2.3嵌入式软件1.2.4

嵌入式操作系统1.1.4嵌入式系统发展1946年电子数字计算机诞生。上世纪70年代,微处理器的出现使计算机才出现了历史性的变化--微机,以其小型、价廉、高可靠性特点,也引起了控制专业人士的兴趣,要求将微机嵌入到一个对象体系中,实现对象体系的智能化控制,形成专用的嵌入式计算机系统。例:将微机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统。单板计算机时代:上世纪70年代末,将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。CPUROMRAM外设1外设2嵌入式系统独立发展三个阶段第1阶段:SCM(SingleChipMicrocomputer)单片微型计算机阶段。奠定了SCM与通用计算机完全不同的发展道路;Intel公司功不可没,最成功的是INTEL的8031单片机,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。复位部件看门狗部件晶振部件I/O部件中断部件ROM部件SRAM部件定时器部件CPU核嵌入式系统发展三个阶段第2阶段:MCU(MicroControllerUnit)微控制器阶段。扩展了各种外围电路与接口电路,提高智能化控制能力,以Philips为代表的公司将MCS-51从单片机迅速发展到微控制器。嵌入式系统发展三个阶段第3阶段:SoC(SystemonaChip)片上系统阶段。随着EDA推广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现了一个更为复杂的系统级应用。典型代表:AMR系列芯片。超大规模集成电路VLSI,采用超深亚微米工艺,使用一个以上CPU/数字信号处理器DSP,外部对芯片编程。SoC可以有效地降低产品的开发成本,缩短开发周期,是目前、未来工业界采用的最主要的产品开发方式。第一章嵌入式系统概述1.1嵌入式系统及其应用1.1.1嵌入式系统的基本概念1.1.2嵌入式系统的应用领域1.1.3嵌入式系统的特点1.1.4嵌入式系统发展1.1.5嵌入式系统的分类1.2嵌入式系统的核心技术1.1.5嵌入式系统的分类只有将嵌入式处理器构成一个计算机系统,并作为嵌入式应用时,才可称作嵌入式系统。嵌入式系统按形态可分为:设备级(工控机)板级(单板、模块)芯片级(SCM、MCU、SoC)按实时性要求分(软件范畴):非实时系统(PDA)软实时系统(消费类产品)硬实时系统(工业和军工系统)第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.2.1嵌入式系统的组成结构1.2.2嵌入式外围设备1.2.3嵌入式软件1.2.4

嵌入式操作系统1.2.1嵌入式系统的组成结构嵌入式系统是“专用计算机应用系统”,它具有一般计算机组成的共性,也是由硬件和软件组成;硬件是由嵌入式微处理器、外围硬件设备组成,是嵌入式系统软件环境运行的基础,提供了嵌入式软件运行的物理平台和通信接口;软件由嵌入式操作系统(可选)和嵌入式应用软件组成,是整个系统的控制核心,控制整个系统运行、提供人机交互的信息等。下图是典型的嵌入式系统软、硬件的组成结构示意图。典型的嵌入式系统组成输入输出接口处理器/ARM核MMU/CacheSOC/SOPCUSBGPIOIISLCDUART和IrDAADC/DACFPGA/CPLDDSP/浮点运算协处理器DMA电源管理人机交互接口LCD/触摸屏、键盘、鼠标以太网看门狗及复位电路Timer/RTCCANFlashEEPROMSDRAMSRAM内存硬件应用程序实时操作系统(RTOS)板级初始化、设备驱动接口DDI可编程应用接口(API)驱动层OS层应用层软件中间件层第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.2.1嵌入式系统的组成结构1.2.2嵌入式外围设备1.2.3嵌入式软件1.2.4

嵌入式操作系统1.2.2嵌入式外围设备嵌入式外围设备,是指在一个嵌入式系统硬件构成中,除了核心控制部件嵌入式微处理器/DSP(或以嵌入式微处理器/DSP为核心的微控制器、SOC)以外的各种存储器、输入/输出接口、人机接口的显示器/键盘、串行通信接口等。根据外围设备的功能可分为以下5类。1、存储器2、通信接口3、输入输出设备4、设备扩展接口5、电源及辅助设备1、存储器类型

存储器是嵌入式系统中存储数据和程序的部件,存储介质有各自特性,该根据应用需求选择使用。常见类型:静态易失型存储器(RAM,SRAM)动态存储器(DRAM)非易失性存储器ROM(MASKROM,EPROM,EEPROM,FLASH)硬盘、软盘、CD-ROM等FLASH闪存,以可擦写次数多,存储速度快,容量大及价格便宜等优点在嵌入式领域得到广泛的应用。按存储器所处的位置分为内部存储器和外部存储器:内部存储器位于嵌入式处理器所在的同一个芯片中,这样就不需要多余的访问电路就可快速地访问内部存储器。外部存储器与嵌入式处理器分别处于不同的芯片中。2、通信接口目前存在的所有计算机通信接口在嵌入式领域中都有其广泛的应用,如:RS-232串行接口、RS-485串行接口;USB通用串行总线接口;

IrDA红外线接口;

SPI串行外围设备接口;I2C两线式串行总线,连接微控制器及其外围设备;CAN总线接口Bluetooth蓝牙接口;

Ethernet,以太网接口;IEEE1394接口GPIO通用可编程接口。3、输入输出设备输入设备:鼠标、扫描仪、键盘、麦克风、摄像头…

输出设备:显示屏、绘图仪、打印机、音箱…

触摸屏嵌入式系统中重要的信息输入输出设备,可以方便的实现鼠标和键盘功能,4、设备扩展接口

一般的嵌入式系统都是专用的并不需要设计多少扩展接口。民用型,常用的存储扩展有各种CF卡、SD卡、MemoryStick等。5、电源及辅助设备嵌人式系统力求外观小型化、重量轻以及电源使用寿命长,例如移动电话或PDA,体积较大或者过重的机型已经被淘汰。目前发展的目标是体积小、易携带和外观设计新颖等。在便携式嵌入式系统的应用中,必须特别关注电源装置等辅助设备。第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.2.1嵌入式系统的组成结构1.2.2嵌入式外围设备1.2.3嵌入式软件1.2.4

嵌入式操作系统1.2.3嵌入式软件--4个层次1、设备驱动接口(DDI)负责嵌入式系统与外部设备的信息交互;2、实时操作系统(RTOS)分成基本和扩展两部分,前者是操作系统的核心,负责整个系统的任务调度,存储分配、时钟管理和中断管理,提供文件、图形用户界面(GUI)等基本服务,后者是为用户提供操作系统的扩展功能,包括网络、数据库等;3、可编程应用接口(API)也称为编程中间件、应用中间软件,是为编制应用程序提供的各种编程接口库,它针对不同应用领域、不同的安全要求分别构建,从而减轻应用开发者的负担;4、应用软件由开发者根据需求编写的软件。第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.2.1嵌入式系统的组成结构1.2.2嵌入式外围设备1.2.3嵌入式软件1.2.4

嵌入式操作系统1.2.4

嵌入式操作系统操作系统OS(OperatingSystem):是用户与计算机硬件系统之间的接口,通过OS能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。嵌入式操作系统就是支持嵌入式系统工作的操作系统。嵌入式操作系统必须包括操作系统的一些最基本功能,如中断处理与进程调度,用户可通过API来使用操作系统。好处:可使应用程序设计人员无须考虑硬件只专注于所擅长领域的开发,提高了嵌入式系统开发的效率、和应用软件的可移植性;嵌入式操作系统大部分是实时操作系统。OS体系结构图应用程序驱动程序、硬件抽象层、板级支持包驱动层应用层OS层基本模块进程调度内存管理调度文件管理OS核

硬件(Hardware)扩展模块图形驱动数据库模块网络模块调度应用程序接口(API)中间件层实时操作系统RTOS实时操作系统RTOS(RealTimeOperatingSystem):

相对于分时操作系统(Time-SharingOS)的一个概念,一个优先等级高的任务能够获得立即的、无延迟的服务,不需等候任何其它任务,可以一直执行到工作结束或有更高等级的任务出现为止。实时操作系统RTOS实时有两种类型:软实时系统并不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好的,它可以容忍偶然的超时错误。硬实时系统对响应时间有严格的要求,它不允许任何超出时限的错误,一旦系统响应时间不能满足,就可能引起系统崩溃或致命的错误,工业控制中应用较多。实时操作系统RTOSRTOS可靠性和可信度很高的实时内核,将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的应用程序编程接口API,并根据各个任务的优先级,合理地在不同任务之间分配CPU时间。RTOS是针对不同处理器优化设计的高效率实时多任务内核,优秀的RTOS可以面对几十个系列的嵌入式MPU、MCU、DSP、SoC等提供类同的API接口,因此基于RTOS上的C语言程序具有极大的可移植性。实时操作系统可以根据实际应用环境的要求对内核进行剪裁和重新配置,组成可根据实际的不同应用领域而有所不同。像实时内核、网络组件、文件系统和图形接口等是基本模块。典型嵌入式操作系统商用型:VxWorks、WindowsCE、WindowsXPEmbedded、Psos、PalmOS、OS-9、LynxOS、QNX、LYNX等;优点:功能稳定、可靠,有完善的技术支持和售后服务;缺点:昂贵、源代码封闭,限制了开发者的积极性免费型:Linux、µC/OS-II比如嵌入式Linux操作系统以价格低廉、功能强大、易于移植而且程序源码全部公开等优点正在被广泛采用,成为新兴的力量。第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.3计算机体系结构1.3.1冯·诺依曼体系结构1.3.2

哈佛体系结构1.3.3

流水线技术1.3.4

RISC精简指令集计算机1.3.1冯·诺依曼体系结构1946年美籍匈牙利人冯·诺依曼提出了存储程序原理,奠定了计算机的基本结构和工作原理的技术基础。冯·诺依曼体系结构模型指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指令1指令2指令3数据数据0数据1数据2将数据和指令都存储在同一个存储器中,统一编址,指令和数据通过同一总线访问冯·诺依曼体系结构冯·诺依曼计算机工作过程:取指—译码—执行。FetchDecodeExecute取指级:从存储器中读取指令。译码级:对指令进行译码。执行级:寄存器读,移位、ALU操作,寄存器写等。PC PCPC-4 PC-2PC-8 PC-4ARM

Thumb第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.3计算机体系结构1.3.1冯·诺依曼体系结构1.3.2

哈佛体系结构1.3.3

流水线技术1.3.4

RISC精简指令集计算机1.3.2哈佛体系结构哈佛结构:为数据和程序提供了各自独立的存储器,每个存储器独立编址、独立访问,与之相对应的是系统中设置的两条总线(程序总线和数据总线),从而使数据的吞吐率提高了一倍。指令寄存器控制器数据通道输入输出中央处理器程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据哈佛体系结构指令寄存器控制器数据通道输入输出中央处理器程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.3计算机体系结构1.3.1冯·诺依曼体系结构1.3.2

哈佛体系结构1.3.3

流水线技术1.3.4

RISC精简指令集计算机三级流水线技术任意时刻,可能有3种不同的指令占有这3级中的一级。也就是说每一级的硬件是独立操作,不会同时做2个(及以上)同样的事情。ARM7及以下版本采用单周期指令的三级流水线操作:fetchdecodeexcutefetchdecodeexcutefetchdecodeexcute123指令

时间TT举例:三级流水线操作最佳流水线该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数(CPI)=1

操作周期 1 2 3 4 56ADDSUBMOVANDORREORCMPRSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetchLDR流水线举例该例中,有一条LDR指令传送数据,用6周期执行了4条指令指令周期数(CPI)=1.5周期

操作 1 2 3 4 5 6ADDSUBLDRMOVANDORRFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetchDecodeFetchARM9核采用Harvard架构,五级流水线技术,可以实现对指令和数据存储器的同时访问。本例中包含LDR指令,用了6个时钟周期执行6条指令,指令周期数CPI=1,达到最佳水平。F–取指(Fetch)D

–解码(Decode) E–执行(Execute)I–互锁(Interlock)M–存储器(Memory)W–写回(Writeback)周期操作ADD R1,R1,R2SUB R3,R4,R1ORR R8,R3,R4AND R6,R3,R1EOR R3,R1,R2LDR R4,[R7]123456789FDEWFDEWFEWFDEWFDWEFDEWMD各版本AMR核采用的流水线技术各版本AMR核采用的流水线技术:第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.3计算机体系结构1.3.1冯·诺依曼体系结构1.3.2

哈佛体系结构1.3.3

流水线技术1.3.4

RISC精简指令集计算机1.3.4

RISC精简指令集计算机CISC(ComplexInstructionSetComputer,复杂指令集计算机),结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构也会越来越复杂。CISC各种指令使用频率相差悬殊:20%的指令会被反复使用,占整个程序代码的80%;80%的指令却不经常使用,在程序设计中只占20%;1979年由美国加州大学伯克利分校提出RISC(ReducedInstructionSetComputer,精简指令集计算机)。RISC精简指令集计算机RISC体系结构应具有如下特点:采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。使用单周期指令,便于流水线操作执行。大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。可用加载/存储指令批量传输数据,提高数据的传输效率。可在一条数据处理指令中同时完成逻辑处理和移位处理。在循环处理中使用地址的自动增减来提高运行效率。RISC精简指令集计算机RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。决不能认为RISC架构就可以取代CISC架构,RISC和CISC各有优势,而且界限并不那么明显。现代的CPU往往采用CISC的外围,内部加入了RISC的特性,如超长指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。最成功的也是第一个商业化的RISC实例就是ARM,因此RISC就是ARM的别名。第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.3计算机体系结构1.4Cortex-M3体系简介1.4.1ARM发展的历程1.4.2CortexTM-M3处理器简介1.4.3

STM32

系列微控制器1.4.4嵌入式系统工程设计与开发1.4.1ARM发展的历程1985年4月英国AcornComputerGroup开发出RISC处理器。1990年成立ARM(AdvancedRISCMachineLimited,英美)。1993年推出第一款嵌入式RISC核心,即ARM6;1993年ARM7;1997年ARM9TDMI;2002年发布ARM11;2004发布首款基于ARMv7体系结构的Cortex-M3处理器(而不再继续称ARM12),M系列主要是针对微控制器领域;2005发布Cortex-A8,A系列开放式操作系统的高性能处理器;2006年发布Cortex-R4,R系列则面向深层嵌入式实时系统应用,如汽车电子;2007推出SecurCoreSC300处理器,面向智能卡领域;2009发布2GHz频率的

Cortex-A9

双核处理器,和积最小、功耗最低和能效最高的

Cortex-M0处理器(兼容M3);ARM发展的历程ARM发展的历程按照ARM公司的经营模式,ARM只提供IP核(知识产权),ARM公司本身并不生产销售集成电路芯片。ARM是业界领先的微处理器技术提供商,提供最广泛的微处理器内核,可满足几乎所有应用市场对性能、功耗及成本的要求。再加上一个富有活力的生态系统(拥有1000多家可提供芯片、开发工具和软件的合作伙伴)。至2013年已售出超过300亿个处理器,每天的销量超过1600万,是真正意义上的“TheArchitecturefortheDigitalWorld®”(面向数字世界的体系结构)。2001年ARM进入中国。目前在中国发展迅速,每年都有超过10万名工程师、大学生得到相关的技术培训,所有高校开设了ARM课程。ARM发展的历程--Cortex系列按嵌入式系统的典型应用分类:Cortex-A:高性能(HighPerformance),针对日益增长的运行Linux、WinCE、Symbian等操作系统在内的消费者娱乐和无线产品设计与实现。Cortex-M:微控制器类(Microcontroller),针对应用系统对功耗、成本敏感,同时对微处理器性能要求较高的工业领域(汽车、家电、医疗器械等)。Cortex-R:实时类(Real

Time),针对实时性要求较高的领域,可以运行RTOSCortex不再区分微处理器ARM和Thumb两种工作状态,指令完全采用Thumb-2体系架构。ARM发展的历程--Cortex系列Cortex是ARM的新一代处理器内核,它在本质上也是ARMv7架构的实现。Cortex系列是全新开发的,老版本的程序必须经过移植才能在Cortex上运行。ARMCortex-M3处理器还首次配备了嵌入式中断向量控制器NVIC,采用抢占、尾链、迟到等中断处理新技术,能够以最小的时钟开销,实现了出色的中断处理。凭借0.35微米和0.25微米先进集成电路生产工艺,Cortex实现了成本与性能的理想折衷,Cortex在未来将获得更为广泛的应用。第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.3计算机体系结构1.4Cortex-M3体系简介1.4.1ARM发展的历程1.4.2CortexTM-M3处理器简介1.4.3

STM32

系列微控制器1.4.5嵌入式系统工程设计与开发1.4.2CortexTM-M3处理器简介该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断相应能力。Cortex-M3采用的V7指令集,它的速度比ARM7快三分之一,功耗低四分之三,并且能实现更小芯片面积,利于将更多功能整合在更小的芯片尺寸中。

Cortex-M3采用了新型的单线调试(SingleWire)技术,专门拿出一个引脚来做调试,从而节约了大笔的调试工具费用。同时,Cortex-M3中还集成了大部分存储器控制器,这样工程师可以直接在MCU外连接Flash,降低了设计难度和应用障碍。CortexTM-M3处理器简介Cortex-M3采用哈佛结构拥有独立的指令总线和数据总线,但这两条总线共享一个存储器空间ARMCortex-M3处理器结合了多种突破性技术,令芯片供应商提供超低费用的芯片,仅33000门的内核性能可达1.2DMIPS/MHz。该处理器还集成了许多紧耦合系统外设,令系统能满足下一代产品的控制需求。ARM公司希望Cortex-M3核的推出,能帮助单片机厂商实现由8位(16位)向32位微处理器的快速移值。Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。目前最便宜的基于该内核的ARM单片机售价为1美元。拥有R0~R15的寄存器组,其中R13作为堆栈指针SP。SP有两个,但在同一时刻只能看到一个,这就是所谓的"banked"寄存器。

第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.3计算机体系结构1.4Cortex-M3体系简介1.4.1ARM发展的历程1.4.2CortexTM-M3处理器简介1.4.3

STM32

系列微控制器1.4.4嵌入式系统工程设计与开发1.4.3

STM32

系列微控制器Actel,Broadcom,TI,ST、Fujitsu、NXP等业界重量级公司,在标准CortexM3内核的基础上,结合各自的技术优势进行生产销售,对Cortex内核进行少量定制修改,集成大容量Flash(数十KB到数百K),进一步扩充GPIO、USART、Timer、I2C、SPI、CAN、USB、A/D等外部设备。几乎可以用一块芯片就能够构建一个低成本、高性能的监测系统,在实际中使用更加方便,受到广大工程师欢迎。STM32F10X各功能模块STM32F10X应用领域第一章嵌入式系统概述1.1嵌入式系统及其应用1.2嵌入式系统的核心技术1.3计算机体系结构1.4Cortex-M3体系简介1.4.1ARM发展的历程1.4.2CortexTM-M3处理器简介1.4.3

STM32

系列微控制器1.4.4嵌入式系统工程设计与开发1.4.5嵌入式系统工程设计与开发大致可分为四个阶段:需求分析:

功能需求分析;性能需求分析;安全性分析;可靠性分析;成本分析;市场需求分析等。2.架构及概要设计3.详细设计开发4.测试、提高、完善STM32F学习网站/club/bbs/list.asp?boardid=49/619//mcu/html/bbs.html1.4

嵌入式应用软件开发嵌入式应用软件是实现系统各种功能的关键,好的应用软件使得同样的硬件平台更好、更高效的完成系统功能,使系统具有更大的经济价值。1.4.1嵌入式软件开发与开发特点1.4.2嵌入式软件开发环境1.4.3嵌入式应用软件开发的基本流程1.4.1嵌入式软件开发与开发特点嵌入式应用软件是针对特定应用的、基于相应的硬件平台,为完成用户预期任务而设计的计算机软件。开发特点:嵌入式软件开发需要软硬件开发环境和工具。嵌入式软硬件必须协同设计。需要新的任务设计方法。开发过程完成后,系统应用程序代码需要固化到系统中进行功能、性能和可靠性测试。技术挑战:软件的要求更高,开发工作量和难度更大1.4.2嵌入式软件开发环境

嵌入式开发环境组成1、交叉开发环境2、软件模拟开发环境3、评估电路板评估电路板交叉开发环境IDE(也包含模拟环境)JTAG仿真器1、交叉开发环境交叉开发是指在一台PC(称宿主机)进行软件的编辑编译,然后下载到嵌入式设备(称为目标机)中进行运行调试。交叉开发环境由运行于宿主机上的交叉开发软件(最少须包含编译调试模块)、宿主机到目标机的调试通道组成。交叉开发软件是一个整合编辑、编译汇编链接、调试、工程管理及函数库等功能模块的集成开发环境IDE。交叉开发环境三种方式:☆JTAG仿真器在线调试ICD(In-CircuitDebugger):将ARM芯片的JTAG边界扫描口与PC的并口、串口、网口、USB口连接进行调试。属于完全非插入式(即不使用片上资源)调试,它无需目标存储器,不占用目标机的端口。

☆在线仿真器ICE(In-CircuitEmulator)。(用的少)☆ROM调试监控软件,程序下载到目标板调试,用的少。2、软件模拟开发环境为保证项目进度,硬件和软件开发往往同时进行,软件的开发就需要在宿主机上一个模拟环境来进行调试。模拟硬件环境是非常复杂的,由于指令集模拟器ISS与真实的硬件环境相差很大,只能作为一种初步调试。主要是用作用户程序的模拟运行,用来检查语法、程序的结构等简单错误。集成开发环境IDE一般也集成了软件模拟器。3、评估电路板评估电路板,也称作开发板,用来作学习板、实验板,也可作为应用目标板出来之前的软件测试、硬件调试的电路板。一般来说一套具备最基本功能的交叉开发环境是ARM嵌入式开发必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。1.4.3嵌入式应用软件开发的基本流程工程建立

源文件

编译

调试

固化C语源言程序*.c汇编源程序*.s链接脚本文件*.ld命令脚本文件*.CS存储区映像文件*.map1.5

嵌入式系统的开发流程1.5.1嵌入式开发的考虑要素1.5.2软硬件协同设计1.5.3嵌入式开发的基本流程1.5.1嵌入式开发的考虑要素嵌入式系统运行于特定的目标环境,功能比较专一,考虑以下因素:

功能可靠实用、便于升级;

实时并发处理,及时响应;

体积符合要求,结构紧凑;

接口符合规范,易于操作;配置精简稳定,维护便利;功耗管理严格,成本低廉。1.5.2软硬件协同设计嵌入式系统设计是使用一组物理硬件和软件来完成所需功能的过程。软件设计和硬件设计是紧密结合、相互协调。系统协同设计整个流程是从确定系统要求开始,包含系统要求的功能、性能、功耗、成本、可靠性和开发时间等。针对一个系统可以建立多种模型,应根据系统的仿真和先

温馨提示

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

评论

0/150

提交评论