10嵌入式系统pt

上传人:桔**** 文档编号:567606564 上传时间:2024-07-21 格式:PPT 页数:120 大小:7.82MB
返回 下载 相关 举报
10嵌入式系统pt_第1页
第1页 / 共120页
10嵌入式系统pt_第2页
第2页 / 共120页
10嵌入式系统pt_第3页
第3页 / 共120页
10嵌入式系统pt_第4页
第4页 / 共120页
10嵌入式系统pt_第5页
第5页 / 共120页
点击查看更多>>
资源描述

《10嵌入式系统pt》由会员分享,可在线阅读,更多相关《10嵌入式系统pt(120页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统应用嵌入式系统应用欧阳禹欧阳禹OLD_OY163.COM课程介绍课程介绍课程:嵌入式系统应用学时:2课程别:专业必修课专业必修课考核方式:卷面主要参考教材主要参考教材嵌入式系统实训教程嵌入式系统实训教程第一章第一章嵌入式系统概述嵌入式系统概述定义及描述:定义及描述:v嵌入式系统是以嵌入式系统是以应用应用为中心为中心,以,以计算机技术计算机技术为为基础基础,并且软硬件可裁剪,适用于应用系统对功能、可靠并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的性、成本、体积、功耗有严格要求的专用计算机系专用计算机系统统。v嵌入到对象体系中的嵌入到对象体系中的专用计算机系

2、统专用计算机系统。v专用的智能电子设备。专用的智能电子设备。嵌入式系统的特点嵌入式系统的特点v嵌入式系统通常是嵌入式系统通常是面向特定应用面向特定应用的的v嵌入式系统是先进的计算机技术嵌入式系统是先进的计算机技术v嵌入式系统的硬件和软件都必须高效率地设计,嵌入式系统的硬件和软件都必须高效率地设计,量量体裁衣、去除冗余体裁衣、去除冗余v嵌入式系统和嵌入式系统和具体应用有机地结合具体应用有机地结合在一起在一起v为了提高执行速度和系统可靠性,嵌入式系统中的为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘

3、等载体中不是存贮于磁盘等载体中v嵌入式系统本身不具备自举开发能力嵌入式系统本身不具备自举开发能力第一章第一章嵌入式系统概述嵌入式系统概述第一章第一章嵌入式系统概述嵌入式系统概述嵌入式系统应用无所不在嵌入式系统应用无所不在第一章第一章嵌入式系统概述嵌入式系统概述嵌入式系统应用无所不在嵌入式系统应用无所不在第一章第一章嵌入式系统概述嵌入式系统概述嵌入式系统应用无所不在嵌入式系统应用无所不在马达控制器车灯尾灯控制系统后车门控制系统前车门控制系统座椅控制系统发动器控制系统所有的控制系统都是一个完整的嵌入式系统第一章第一章嵌入式系统概述嵌入式系统概述嵌入式微处理器嵌入式微处理器(EmbeddedMicr

4、oprocessorUnit,EMPU)Am186/86,386EX,SC400,PowerPC,51,6800,MIMP,ARM嵌入式微控制器(单片机)嵌入式微控制器(单片机)(MicrocontrollerUnit,MCU)51系列;系列;ARM7,Cortex-M0/M3嵌入式嵌入式DSP处理器处理器(EmbeddedDigitalSignalProcessor,EDSP)C5000,C2000(DSC),TI达芬奇处理器达芬奇处理器,DSP56000嵌入式片上系统嵌入式片上系统(ESOC);(EmbeddedSystemOnChip,ESOP)可编程片上系统可编程片上系统(SOPC)(

5、SystemOnaProgrammableChip,EPSOP)第一章第一章嵌入式系统概述嵌入式系统概述嵌入式微处理器嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微处理器虽然在功能上和标准微处嵌入式微处理器虽然在功能上和标准微处理器基本是一样的其增强点为:理器基本是一样的其增强点为:v功耗功耗v工作温度工作温度v抗电磁干扰抗电磁干扰v可靠性可靠性v体积小、重量轻、成本低体积小、重量轻、成本低第一章第一章嵌入式系统概述嵌入式系统概述嵌入式微控制器(单片机)嵌入式微控制器(单片机)(MicroControllerUnit,MCU)嵌入式微控制器芯片内部集成

6、一般以:嵌入式微控制器芯片内部集成一般以:v某一种微处理器内核为核心某一种微处理器内核为核心;vROM、RAM;vI/Oq内部总线逻辑内部总线逻辑q片内片内I/O资源:定时资源:定时/计数器、计数器、WDT,RTCq片外片外I/O接口:接口:GPIO、脉宽调制输出、脉宽调制输出PWM、D/A、串、串行口、红外、行口、红外、A/D、LCDq外部总线逻辑接口:外部总线逻辑接口:I2C、CAN,USB,SPI第一章第一章嵌入式系统概述嵌入式系统概述嵌入式嵌入式DSP处理器处理器(EmbeddedDigitalSignalProcessor,EDSP)vDSP处理器对系统结构和指令进行了特殊设计,使其

7、适合处理器对系统结构和指令进行了特殊设计,使其适合于执行于执行DSP算法,编译效率较高,指令执行速度也较高。算法,编译效率较高,指令执行速度也较高。在在数字滤波、数字滤波、FFT、频谱分析、频谱分析等方面等方面DSP算法正在大量进入算法正在大量进入嵌入式领域,嵌入式领域,DSP应用正从在通用单片机中以应用正从在通用单片机中以普通指令普通指令实实现现DSP功能,过渡到采用嵌入式功能,过渡到采用嵌入式DSP处理器处理器。v推动嵌入式推动嵌入式DSP处理器发展的另一个因素是嵌入式系统的处理器发展的另一个因素是嵌入式系统的智能化,例如各种带有智能逻辑的消费类产品,智能化,例如各种带有智能逻辑的消费类产

8、品,生物信息生物信息识别终端识别终端,带有加解密算法的键盘,带有加解密算法的键盘,ADSL接入接入、实时语音实时语音压解系统压解系统,虚拟现实显示虚拟现实显示等。这类智能化算法一般都是运等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这算量较大,特别是向量运算、指针线性寻址等较多,而这些正是些正是DSP处理器的长处所在。处理器的长处所在。第一章第一章嵌入式系统概述嵌入式系统概述嵌入式片上系统嵌入式片上系统(SystemOnChip)随着半导体工艺的迅速发展,在一个硅片随着半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这上实现一个更为复杂的系统

9、的时代已来临,这就是就是SystemOnChip(SOC)。各种通用处理器。各种通用处理器内核将作为内核将作为SOC设计公司的标准库,和许多其设计公司的标准库,和许多其它嵌入式系统外设一样,成为它嵌入式系统外设一样,成为VLSI(超大规模超大规模集成电路集成电路)设计中一种标准的器件。设计中一种标准的器件。多处理器核多处理器核=SOC例:例:INTELScale系列既有系列既有ARM10内核内核,并,并集成了集成了DSP核核;并集成;并集成SRAM、AC97、LCD控制器,控制器,UART、红外等、红外等I/O接口,是接口,是INTEL公司的嵌入式片上系统(公司的嵌入式片上系统(SOC)产品。

10、)产品。可编程片上系统可编程片上系统(SOPC)(SystemOnaProgrammableChip,EPSOP)第一章第一章嵌入式系统概述嵌入式系统概述uSOPC是是Altera公司于公司于2000年提出的一种灵活高效的年提出的一种灵活高效的SOC解决解决方案,方案,SOPC利用可编程逻辑技术把整个电子系统集成在一利用可编程逻辑技术把整个电子系统集成在一个单片上,是一种特殊的嵌入式系统芯片。个单片上,是一种特殊的嵌入式系统芯片。u与可编程逻辑器件一样,与可编程逻辑器件一样,SOPC的设计也仅需完成前端设计,的设计也仅需完成前端设计,故其设计投入比较少,设计方法灵活,故其设计投入比较少,设计方

11、法灵活,SOPC的系统功能可的系统功能可裁减、易扩充,结合了裁减、易扩充,结合了SOC和和CPLD、FPGA的优点。的优点。u作为一种系统级芯片,作为一种系统级芯片,SOPC具有低的设计成本和开发风险,具有低的设计成本和开发风险,从而获得广泛的应用。从而获得广泛的应用。第一章第一章嵌入式系统概述嵌入式系统概述可编程片上系统可编程片上系统(SOPC)SOPC是是一一种种可可编编程程逻逻辑辑器器件件,与与普普通通PLD相相比比,SOPC具有如下特点具有如下特点:1至少包含一个嵌入式处理器内核。至少包含一个嵌入式处理器内核。2具有一定容量的片内高速具有一定容量的片内高速RAM。3具有足够的片上可编程

12、逻辑资源。具有足够的片上可编程逻辑资源。4.具有处理器调试接口和编程接口。具有处理器调试接口和编程接口。第一章第一章嵌入式系统概述嵌入式系统概述除了嵌入处理器硬核的除了嵌入处理器硬核的SOPC之外,基于之外,基于FPGA的的嵌入嵌入CPU软核的片上可编程系统的实现方法也得软核的片上可编程系统的实现方法也得到广泛的应用,这类基于到广泛的应用,这类基于FPGA的嵌入式的嵌入式CPU软核软核比较常用的是比较常用的是Xilinx公司的公司的8位嵌入式位嵌入式RISC处理器处理器软核软核PicoBlaze、32位嵌入式位嵌入式RISC处理器软核处理器软核MicroBlaze和和Altera公司的公司的N

13、IOS软核。软核。Xilinx公司的公司的Virtex系列系列FPGA(包括(包括VirtexII、Virtex4和和Virtex5)和)和SpartanIII(包括(包括Spartan3A、Spartan3E和和Spartan3)系列)系列FPGA均支持基于嵌入式均支持基于嵌入式CPU软核的软核的SOPC设计实现。设计实现。第一章第一章嵌入式系统概述嵌入式系统概述嵌入式系统的发展趋势嵌入式系统的发展趋势v复杂的嵌入式应用软件的开发需要强大的开发工具复杂的嵌入式应用软件的开发需要强大的开发工具和操作系统的支持和操作系统的支持v联网成为必然趋势联网成为必然趋势v支持小型电子设备实现小尺寸、微功耗

14、和低成本支持小型电子设备实现小尺寸、微功耗和低成本v提供精巧的多媒体人机界面提供精巧的多媒体人机界面第一章第一章嵌入式系统概述嵌入式系统概述存储器存储器v纸带类介质存储(已基本淘汰)、磁带纸带类介质存储(已基本淘汰)、磁带v磁盘(硬盘)存储器磁盘(硬盘)存储器(外存)(外存)v半导体存储器半导体存储器(内存)内存)qRAM(RandomAccessMemory)静态随机存储器,静态随机存储器,StaticRAM(SRAM) 速度非常快,功耗低;但芯片结构复杂、成本昂贵动态随机存储器,动态随机存储器,DynamicRAM(DRAM) 速度相对慢,功耗高;但芯片结构简单、成本较低qROM(Read

15、OnlyMemory)ROM(Read-OnlyMemory)PROM(ProgrammableRead-OnlyMemory)/One-TimeProgrammable(OTP)ROMEPROM(ErasableProgrammableRead-OnlyMemory)EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory)FLASHEEPROM(闪存)(闪存)第一章第一章嵌入式系统概述嵌入式系统概述vEPROM(ErasableProgrammableRead-OnlyMemory)可擦可编程只读存储器,一种可以重复可擦可编程只读存储器,

16、一种可以重复利用的可编程芯片。其内容始终不丢失,除非您用利用的可编程芯片。其内容始终不丢失,除非您用紫外线擦除它。一般给紫外线擦除它。一般给EPROM编程或擦除内容时,编程或擦除内容时,需要用专用的设备。需要用专用的设备。vEEPROM(ElectricallyErasableProgrammableRead-OnlyMemory),电可擦可编程只读存储器,电可擦可编程只读存储器-一种掉电后数据不丢失的存储芯片。一种掉电后数据不丢失的存储芯片。EEPROM可可以在电脑上或专用设备上擦除已有信息,重新编程。以在电脑上或专用设备上擦除已有信息,重新编程。既可实现既可实现ISP或或IAP功能。功能。

17、v固件:固件:在在ROM中中固化的程序固化的程序叫固件叫固件(Firmware)第一章第一章嵌入式系统概述嵌入式系统概述IAP(In-ApplicationProgramming)指指MCU可以在可以在系统运行中系统运行中获取获取新代码新代码并对自己并对自己的程序重新编程。的程序重新编程。IAP的实现相对要复杂,在实现的实现相对要复杂,在实现IAP功能时,单片机内部一定要有两块存储区,一般功能时,单片机内部一定要有两块存储区,一般一块被称为一块被称为BOOT区,另外一块被称为区,另外一块被称为存储区存储区。单片。单片机上电运行在机上电运行在BOOT区,如果有外部改写程式的条件区,如果有外部改写

18、程式的条件满足,则对存储区的程序进行改写操作。如果外部改满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程式指标跳到存储区,开始执写程序的条件不满足,程式指标跳到存储区,开始执行放在存储区的程式,这样便实现了行放在存储区的程式,这样便实现了IAP功能。功能。总之:总之:IAP技术是从结构上将技术是从结构上将Flash存储体映射为存储体映射为两个存储体,当运行一个存储体上的用户程序时,可两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体对另一个存储体重新编程,之后将程序从一个存储体转向另一个。转向另一个。第一章第一章嵌入式系统概述嵌入式

19、系统概述应用应用v前向通道前向通道q数字信号数字信号q开关量开关量q物理量物理量(模拟信号模拟信号A/D)v后向通道后向通道q数字信号数字信号q开关量开关量q(D/A模拟信号模拟信号)物理量物理量q声、光输出声、光输出第一章第一章嵌入式系统概述嵌入式系统概述前向通道前向通道-数据采集应用范例数据采集应用范例v传感器传感器物理量物理量电压电压/电流量电流量v信号调理信号调理(信号转换)(信号转换)滤波滤波放大放大v光电隔离光电隔离抗干扰抗干扰v多路开关和采样保持多路开关和采样保持资源复用、转换标定资源复用、转换标定v转换转换q积分型特点:速度快,精度低(位)积分型特点:速度快,精度低(位)q逐次

20、比较型逐次比较型特点:速度慢,精度高(特点:速度慢,精度高(824位)位)v与与MCU互联互联q串行串行q并行并行第一章第一章嵌入式系统概述嵌入式系统概述嵌入式编程语言嵌入式编程语言v嵌入式系统高级编程语言概述嵌入式系统高级编程语言概述qAda语言语言qC语言语言qJava语言语言v常用嵌入式系统高级编程语言基本性能常用嵌入式系统高级编程语言基本性能q与与汇编语言汇编语言或机器代码的的接口接口q直接寻址直接寻址(I/O)q对硬件的访问和控制对硬件的访问和控制q位操作位操作q中断处理中断处理q异常异常事件处理事件处理第一章第一章嵌入式系统概述嵌入式系统概述嵌入式操作系统嵌入式操作系统v嵌入式操作

21、系统特点嵌入式操作系统特点q任务调度、任务调度、同步机制同步机制、中断处理、中断处理、文件功能文件功能q更好的硬件适应性,也就是良好的移植性;更好的硬件适应性,也就是良好的移植性;q占有更少的硬件资源;占有更少的硬件资源;q高可靠性;高可靠性;q提供强大的网络功能,支持提供强大的网络功能,支持TCP/IP协议协议(TCP/IP协议栈协议栈)及其他协议;及其他协议;q常要求具有实时性能常要求具有实时性能(RTOS)。第一章第一章嵌入式系统概述嵌入式系统概述嵌入式操作系统嵌入式操作系统v嵌入式实时多任务操作系统(嵌入式实时多任务操作系统(RTOS)q系统响应时间系统响应时间(Systemrespo

22、nsetime)系统发出系统发出处理要求到系统给出应答信号的时间。处理要求到系统给出应答信号的时间。q任务换道时间任务换道时间(Context-switchingtime)是任务之是任务之间切换而使用的时间。间切换而使用的时间。q中断延迟中断延迟(Interruptlatency)是计算机接收到中是计算机接收到中断信号到操作系统作出响应,并完成换道转入断信号到操作系统作出响应,并完成换道转入中断服务程序的时间中断服务程序的时间。第一章第一章嵌入式系统概述嵌入式系统概述嵌入式操作系统嵌入式操作系统-C/OSIIvC/OS-II是一个应用于实时嵌入式应用的公开源代码的实是一个应用于实时嵌入式应用的

23、公开源代码的实时操作系统内核。时操作系统内核。q执行效率高执行效率高q占用空间小占用空间小q实时性能优良实时性能优良q公开源代码公开源代码q可扩展性能等可扩展性能等最小内核可编译至最小内核可编译至2KB。C/OS-II已经移植到了几乎已经移植到了几乎所有知名的所有知名的CPU上。因为上。因为C/OS-II非常简单,只要有一非常简单,只要有一个普通的个普通的C编译器,就能完成编译并运行该操作系统,编译器,就能完成编译并运行该操作系统,因此,因此,C/OS-II首先在首先在教学中教学中得到了广泛应用。因为其得到了广泛应用。因为其简单及实时性好的特点,现在也有一些用户开始使用简单及实时性好的特点,现

24、在也有一些用户开始使用C/OS-II操作系统开发正式的嵌入式产品。操作系统开发正式的嵌入式产品。第一章第一章嵌入式系统概述嵌入式系统概述嵌入式操作系统嵌入式操作系统-LinuxvLinux是开放源码的,不存在黑箱技术,遍布全球的众多是开放源码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是爱好者又是Linux开发者的强大技术后盾;开发者的强大技术后盾;vLinux的内核小、功能强大、运行稳定、效率高;的内核小、功能强大、运行稳定、效率高;vLinux易于定制剪裁,在价格上极具竞争力;易于定制剪裁,在价格上极具竞争力;vLinux不仅支持不仅支持X86芯片,还可以支持二三十种芯片,还可以支

25、持二三十种CPU,包括传统,包括传统家电行业所使用的芯片,都开始做家电行业所使用的芯片,都开始做Linux的平台移植工作。也的平台移植工作。也就是说,如果今天采用就是说,如果今天采用Linux环境开发产品,那么将来换环境开发产品,那么将来换CPU时就不会遇到困难时就不会遇到困难v有大量的且不断增加的开发工具,为嵌入式系统的开发提供了有大量的且不断增加的开发工具,为嵌入式系统的开发提供了良好的开发环境,良好的开发环境,v它沿习它沿习UNIX,遵循国际标准,可以方便地获得众多第三方硬、,遵循国际标准,可以方便地获得众多第三方硬、软件厂商的支持;软件厂商的支持;vLinux内核的结构在网络方面是非常

26、完整的。它提供了包括十内核的结构在网络方面是非常完整的。它提供了包括十兆、百兆、千兆的以及网络,以及对无线网络、兆、百兆、千兆的以及网络,以及对无线网络、TokenRing(令令版环网版环网)、光纤甚至卫星的支持。在图像处理、文件管理及多任、光纤甚至卫星的支持。在图像处理、文件管理及多任务支持等诸多方面都非常出色。务支持等诸多方面都非常出色。vLinux既适于做嵌入式的开发平台,同时本身又是裁剪用的基既适于做嵌入式的开发平台,同时本身又是裁剪用的基料。料。第一章第一章嵌入式系统概述嵌入式系统概述嵌入式操作系统嵌入式操作系统-uCLinuxvuClinux专门针对没有专门针对没有MMU的的CPU

27、v为嵌入式系统做了许多小型化的工作为嵌入式系统做了许多小型化的工作vuClinux是一个完全符合是一个完全符合GNU/GPL公约公约的项目,的项目,完全开放代码。完全开放代码。第一章第一章嵌入式系统概述嵌入式系统概述内存管理单元介绍内存管理单元介绍(MMU-MemoryManageUnit)v在存储系统中,使用在存储系统中,使用MMU实现虚拟地址到实实现虚拟地址到实际物理地址的映射际物理地址的映射v目的是加速目的是加速v通常在操作系统进行运用通常在操作系统进行运用v应用范例应用范例qacheq虚拟内存虚拟内存q地址影射地址影射第一章第一章嵌入式系统概述嵌入式系统概述嵌入式操作系统嵌入式操作系统

28、-WindowsCEWinCE是一个是一个紧凑紧凑、高效高效和和可扩展可扩展的操的操作系统,适用于各种嵌入系统和产品。它拥作系统,适用于各种嵌入系统和产品。它拥有多线程、多任务、确定性的实时、完全抢有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门先式优先级的操作系统环境,专门面向只有面向只有有限资源的硬件系统有限资源的硬件系统。同时,它的。同时,它的模块化设模块化设计方式计方式使得系统开发人员和应用开发人员能使得系统开发人员和应用开发人员能够为多种多样的产品来定制它,例如客户电够为多种多样的产品来定制它,例如客户电子设备、专用工业控制器以及子设备、专用工业控制器以及嵌入式通

29、信设嵌入式通信设备备等。等。第一章第一章嵌入式系统概述嵌入式系统概述嵌入式操作系统嵌入式操作系统-WindowsCEWinCE直接支持多类硬件外围设备,象直接支持多类硬件外围设备,象键盘、鼠标设备、触摸面板、串行口、以太键盘、鼠标设备、触摸面板、串行口、以太网、调制解调器、网、调制解调器、USB设备、音频设备、并设备、音频设备、并行口和存储设备(行口和存储设备(ATA或闪存),同时,由或闪存),同时,由于于WinCE扩展了新的市场和设备门类,对嵌扩展了新的市场和设备门类,对嵌入式系统开发者来说,在增加新的外围设备入式系统开发者来说,在增加新的外围设备类型方面就有了巨大的潜力可挖,实现起来类型方

30、面就有了巨大的潜力可挖,实现起来也很容易。这是通过也很容易。这是通过WinCE简洁而良好定义简洁而良好定义的设备驱动模型来实现的,它提供了良好文的设备驱动模型来实现的,它提供了良好文档化的档化的设备驱动程序接口设备驱动程序接口(DDI)和展示如何实和展示如何实现它们的现它们的例程代码例程代码。第一章第一章嵌入式系统概述嵌入式系统概述嵌入式操作系统嵌入式操作系统-WindowsCEWinCE支持超过支持超过1,400条最频繁使用的条最频繁使用的Win32API,借此,借此WindowsCE开发者就能利用大量其他的开发者就能利用大量其他的编程资源、工具、软件例子以及文档来进行编程资源、工具、软件例

31、子以及文档来进行WinCE开发工作。全世界有多于五百万的开发工作。全世界有多于五百万的Win32开发者,开发者,其中有些有经验的程序员可能已谙熟其中有些有经验的程序员可能已谙熟WindowsCE平台的开发工作,从而降低了培训成本,缩短了进平台的开发工作,从而降低了培训成本,缩短了进入市场的时间。入市场的时间。PlatformBuilder开发工具,帮助您在开发工具,帮助您在WinCE下下开发基于新嵌入式系统项目的软件。开发基于新嵌入式系统项目的软件。PlatformBuilder的设计目标是创造更熟悉和易于使用的开发的设计目标是创造更熟悉和易于使用的开发环境环境,它包括适用于所有,它包括适用于

32、所有WindowsCE支持的处理支持的处理器的交叉编译器。器的交叉编译器。第一章第一章嵌入式系统概述嵌入式系统概述什么是Windows APIv接口:下面是接口:下面是WINDOWS的操作系统核心,而它的操作系统核心,而它的上面则是所有的华丽的的上面则是所有的华丽的WINDOWS应用程序应用程序v类库和控件都是构架在类库和控件都是构架在WIN32API函数基础之上函数基础之上的,是封装了的的,是封装了的API函数的集合函数的集合v比较复杂和特殊的功能来说,使用类库和控件是比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用非常难以实现的,这时就需要采用API函数来实现函数来

33、实现vAPI不要去学,在需要的时候去查不要去学,在需要的时候去查API帮助就足够帮助就足够了,结合一些有趣的实例,应该可以达到快速掌了,结合一些有趣的实例,应该可以达到快速掌握的目的。握的目的。第一章第一章嵌入式系统概述嵌入式系统概述嵌入式操作系统嵌入式操作系统v典型的嵌入式操作系统典型的嵌入式操作系统qC/OS和和C/OSIIquCLinux/LinuxqWindowsCEqpSOSystem,简称,简称pSOS(手机)(手机)qVxWorks(美国军用)(美国军用)qPalmOS(3COMPDA)qSymbian(诺基亚、摩托罗拉和爱立信(诺基亚、摩托罗拉和爱立信手机)手机)第一章第一章嵌

34、入式系统概述嵌入式系统概述使用嵌入式操作系统的必要性使用嵌入式操作系统的必要性p嵌入式实时操作系统提高了系统的可靠性;嵌入式实时操作系统提高了系统的可靠性;p提高了研发效率,缩短了研发周期;提高了研发效率,缩短了研发周期;p嵌入式实时操作系统充分发挥了嵌入式实时操作系统充分发挥了32位位CPU的的多任务潜力。多任务潜力。从某种意义上说,没有操作系统的计算机从某种意义上说,没有操作系统的计算机(裸机裸机)是没有用的。在嵌入式应用中,只有把是没有用的。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。去,才是真正的计

35、算机嵌入式应用。实时操作系统的优缺点实时操作系统的优缺点v优点优点在嵌入式实时操作系统环境下研发实时应用程式使在嵌入式实时操作系统环境下研发实时应用程式使程式的设计和程式的设计和扩展扩展变得变得容易容易,不必大的改动就能增加,不必大的改动就能增加新的功能。通过将应用程式分割成若干独立的任务模新的功能。通过将应用程式分割成若干独立的任务模块,使应用程式的设计过程大为简化;而且对实时性块,使应用程式的设计过程大为简化;而且对实时性需求苛刻的事件都得到了快速、可靠的处理。通过有需求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得效的系统服务,嵌入式实时操作系统

36、使得系统资源得到更好的利用。到更好的利用。v缺点缺点使用嵌入式实时操作系统还需要额外的存储器使用嵌入式实时操作系统还需要额外的存储器(ROM/RAM)开销,)开销,25%的的CPU额外负荷,及内额外负荷,及内核的费用。实时性下降。核的费用。实时性下降。第一章第一章嵌入式系统概述嵌入式系统概述第一章第一章嵌入式系统概述嵌入式系统概述交叉开发环境交叉开发环境v首先在通用计算机首先在通用计算机(宿主机)宿主机)上上编写程序编写程序v然后通过然后通过交叉编译交叉编译生成目标平生成目标平台上可以运行的二进制代码格台上可以运行的二进制代码格式(或准二进制代码格式)式(或准二进制代码格式)v最后再最后再下载

37、下载到目标平台到目标平台(目标(目标机)机)上的特定位置上运行。上的特定位置上运行。第一章第一章嵌入式系统概述嵌入式系统概述交叉开发环境交叉开发环境v交叉编译和链接交叉编译和链接(GCC)在基于在基于ARM体系结构的体系结构的linux-gcc交叉开发环境中:交叉开发环境中:qarm-linux-gcc是交叉编译器是交叉编译器qarm-linux-ld是交叉链接器是交叉链接器交叉调试交叉调试嵌入式系统的交叉调试有多种方法,可以被细分成不同嵌入式系统的交叉调试有多种方法,可以被细分成不同的层次,但一般都具有如下一些典型特点:的层次,但一般都具有如下一些典型特点:v调试器和被调试进程运行在不同的机

38、器上,调试器运行在调试器和被调试进程运行在不同的机器上,调试器运行在PC或者工作站上或者工作站上(宿主机),(宿主机),而被调试的进程则运行在而被调试的进程则运行在各种专业调试板上各种专业调试板上(目标机)。(目标机)。v嵌入式系统交叉调试时,嵌入式系统交叉调试时,宿主机宿主机调试器通过调试器通过JTAG、RS-232串口、以太网口串口、以太网口或或USB等专用的通信方式与等专用的通信方式与目标机目标机被被调试进程建立联系调试进程建立联系。第一章第一章嵌入式系统概述嵌入式系统概述宿主机(宿主机(Host):):v通用通用PC机它通过串口或者以太网接口与目标机通信。宿主机机它通过串口或者以太网接

39、口与目标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统(如的软硬件资源比较丰富,不但包括功能强大的操作系统(如Windows和和Linux),而且还有各种各样优秀的),而且还有各种各样优秀的集成开发工具集成开发工具(KeiluVision2/KeiluVision3、SDT、ADS1.2、Microsoft的的EmbeddedVisualC+/PlatformBuilder等),能够大大提等),能够大大提高嵌入式应用软件的开发速度和效率。高嵌入式应用软件的开发速度和效率。目标机(目标机(Target):):v嵌入式应用软件开发期间使用,用来区别与嵌入式系统通信嵌入式应用软件开发

40、期间使用,用来区别与嵌入式系统通信的宿主机,它可以是嵌入式应用软件的实际的宿主机,它可以是嵌入式应用软件的实际运行环境运行环境,也可,也可以是能够替代实际运行环境的仿真系统,以是能够替代实际运行环境的仿真系统,但软硬件资源通常但软硬件资源通常都比较有限都比较有限。v嵌入式系统通常是最终的目标机嵌入式系统通常是最终的目标机第一章第一章嵌入式系统概述嵌入式系统概述建立交叉开发环境是进行嵌入式软件开发的第建立交叉开发环境是进行嵌入式软件开发的第一步,目前常用的交叉开发环境主要有一步,目前常用的交叉开发环境主要有开放开放和和商业商业两种类型。两种类型。v开放的交叉开发环境的典型代表是开放的交叉开发环境

41、的典型代表是GNU工具链、目工具链、目前已经能够支持前已经能够支持X86、ARM、MIPS、PowerPC等多等多种处理器。种处理器。v商业的交叉开发环境则主要有商业的交叉开发环境则主要有:qKeilVision251系列系列qKeilVision3/451系列系列/(RealView) ARMqARMSoftwareDevelopmentToolkit(SDT2.4)ARMqADS1.2ARMqMicrosoftPlatformBuilderXscale(ARM10)qTKStudioARM7/ARM9/Cortex-M第一章第一章嵌入式系统概述嵌入式系统概述TKStudioIDE是是广州致

42、远电子有限公司广州致远电子有限公司开发的开发的一个微处理软件开发平台,是一个微处理软件开发平台,是内置编辑器内置编辑器的的多多内核内核编译调试环境,支持编译工具链编译调试环境,支持编译工具链:vKeilC51、SDCC51vGCCARM、ADSARMvIARARMvMDKARM(KeilC513/4forARM)vRVDSARMvAVRGCC、IARAVR第一章第一章嵌入式系统概述嵌入式系统概述TKStudioIDE是广州致远电子有限公司开发的是广州致远电子有限公司开发的一个微处理软件开发平台,是内置编辑器的多一个微处理软件开发平台,是内置编辑器的多内核编译调试环境,支持内核主要有内核编译调试

43、环境,支持内核主要有:v8051vAVR(16位主流机位主流机)vARM7/ARM9/ARM11vXScalevCortexM3/CortexM0内核调试内核调试第一章第一章嵌入式系统概述嵌入式系统概述可以完成:可以完成:v工程建立;工程建立;v管理;管理;v编译,链接,目标代码的生成;编译,链接,目标代码的生成;v软件仿真;软件仿真;v硬件仿真硬件仿真(挂接挂接TKS系列仿真器的硬件系列仿真器的硬件)等完整的开发等完整的开发流程。流程。第一章第一章嵌入式系统概述嵌入式系统概述bootloader的作用的作用:bootloader的作用是进行最小的硬件初始化,的作用是进行最小的硬件初始化,必须

44、用汇编编写;必须用汇编编写;典型的典型的bootloader硬件初始化可能是硬件初始化可能是:v系统时钟的设置系统时钟的设置v内存控制器的设置内存控制器的设置v必要的中断控制器的配置必要的中断控制器的配置v快速接口的初始化快速接口的初始化v(MMU的设置)的设置)它不需要初始化所有的硬件,只要能够引导它不需要初始化所有的硬件,只要能够引导后续的工作就可以了!后续的工作就可以了!第一章第一章嵌入式系统概述嵌入式系统概述各端口在开发中的主要作用各端口在开发中的主要作用:vJTAG(JointTestAccessGroup)qbootloader下载()下载()qJTAG更强大的功能是在更强大的功能

45、是在线线调试。调试。ARM仿真器仿真器(ICD)、DSP仿真器仿真器等都是基于等都是基于JTAG在线调试在线调试程序。程序。q速度速度bbv串口(串口(RS232/UART)qq通过宿主机的超级终端的串口工具回显目标机的工作状态通过宿主机的超级终端的串口工具回显目标机的工作状态q240kb/sv网口或口网口或口操作系统及大容量的应用程序下载操作系统及大容量的应用程序下载q网口网口10b/sq口口12Mb/s第二章第二章ARM体系机构体系机构ARM的简介的简介ARM(AdvancedRISCMachines)是微处)是微处理器行业的一家知名企业,设计了大量高性能、理器行业的一家知名企业,设计了大

46、量高性能、廉价、耗能低的廉价、耗能低的RISC处理器、相关技术及软件。处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费用于多种领域,比如嵌入控制、消费/教育类多教育类多媒体、媒体、DSP和移动式应用等和移动式应用等ARM将其技术授权给世界上许多著名的半将其技术授权给世界上许多著名的半导体、软件和导体、软件和OEM厂商,每个厂商得到的都是厂商,每个厂商得到的都是一套独一无二的一套独一无二的ARM相关技术及服务。利用这相关技术及服务。利用这种合伙关系,种合伙关系,ARM很快成为许多很快成为许多全球性全球性RIS

47、C标标准准的缔造者。的缔造者。英国英国ARM公司公司(AdvancedRISCMachines)v国家:英国(欧洲)国家:英国(欧洲)v行业:电子行业:电子半导体半导体微处理器微处理器智能手机智能手机v总部:英国剑桥总部:英国剑桥vCEO:沃伦:沃伦.伊斯特伊斯特v竞争对手:英特尔竞争对手:英特尔v市场份额市场份额:q手机处理器手机处理器90%的市场份额的市场份额q上网本处理器上网本处理器30%的市场份额的市场份额q平板电脑处理器平板电脑处理器80%的市场份额的市场份额第二章第二章ARM体系机构体系机构1991年年ARM公司成立于英国剑桥,主要出售公司成立于英国剑桥,主要出售芯片设计技术的授权

48、。目前,采用芯片设计技术的授权。目前,采用ARM技术知技术知识产权识产权(IP)核的微处理器,即我们通常所说)核的微处理器,即我们通常所说的的ARM微处理器,已遍及工业控制、消费类电微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各子产品、通信系统、网络系统、无线系统等各类产品市场,现在,基于类产品市场,现在,基于ARM技术的微处理器技术的微处理器应用约占据了应用约占据了32位位RISC微处理器微处理器80以上以上的的市场份额,市场份额,ARM技术正在逐步渗入到我们生活技术正在逐步渗入到我们生活的各个方面。的各个方面。第二章第二章ARM体系机构体系机构第二章第二章ARM

49、体系机构体系机构体系结构体系结构pCISC(ComplexInstructionSetComputer,复杂指令集计算机),复杂指令集计算机)在在CISC指令集的各种指令中,大约有指令集的各种指令中,大约有20的指令的指令会被反复使用,占整个程序代码的会被反复使用,占整个程序代码的80。而余下的。而余下的80的指令却不经常使用,在程序设计中只占的指令却不经常使用,在程序设计中只占20。pRISC(ReducedInstructionSetComputer,精简指令集计算机),精简指令集计算机)RISC结构优先选取使用频最高的简单指令,避免结构优先选取使用频最高的简单指令,避免复杂指令;将指令长

50、度固定,指令格式和寻地方式种复杂指令;将指令长度固定,指令格式和寻地方式种类减少,以控制逻辑为主,不用或少用微码控制等。类减少,以控制逻辑为主,不用或少用微码控制等。第二章第二章ARM体系机构体系机构RISC体系结构应具有如下特点:体系结构应具有如下特点:v采用采用固定长度的指令格式固定长度的指令格式,指令归整指令归整、简单、基本寻址方式简洁;简单、基本寻址方式简洁;v使用使用单周期单周期指令,便于指令,便于流水线操作流水线操作;v大量使用寄存器,数据处理指令只对大量使用寄存器,数据处理指令只对寄寄存器存器进行操作;进行操作;v只有只有加载加载/存储指令存储指令可以访问可以访问存储器存储器,以

51、提高指令的执行效率。以提高指令的执行效率。第二章第二章ARM体系机构体系机构ARM体系结构的技术特征体系结构的技术特征v大量使用大量使用寄存器寄存器,指令执行速度更快;,指令执行速度更快;v体积小、低功耗、低成本、高性能;体积小、低功耗、低成本、高性能;vThumb(16位)位)/ARM(32位)三指令集,能很好位)三指令集,能很好的的兼容兼容16位位32位位器件;器件;v大多数数据操作都在大多数数据操作都在寄存器寄存器中完成中完成;v寻址方式灵活简单,执行效率高;寻址方式灵活简单,执行效率高;v指令长度固定指令长度固定-Thumb(16位)位)/ARM(32位)位)第二章第二章ARM体系机构

52、体系机构ARM体系结构的技术特征体系结构的技术特征-(高级)(高级)v所有的指令都可根据前面的执行结果所有的指令都可根据前面的执行结果(影响标影响标志位志位)决定是否被执行,从而提高指令的执行决定是否被执行,从而提高指令的执行效率效率v可用加载可用加载/存储()指令存储()指令批量批量传输数据传输数据,以提高数据的传输效率以提高数据的传输效率v可在可在一条数据处理指令一条数据处理指令中同时完成中同时完成逻辑处理逻辑处理和和移位处理移位处理v在循环处理中使用地址的在循环处理中使用地址的自动增减自动增减来提高运行来提高运行效率效率第二章第二章ARM体系机构体系机构ARM体系结构的不同版本的发展概述

53、体系结构的不同版本的发展概述-V1版本版本 该版本的该版本的ARMARM体系结构,只有体系结构,只有2626位位的寻的寻址空间,址空间,没有商业化没有商业化,其特点为:,其特点为:基本的数据处理指令(基本的数据处理指令(不包括乘法不包括乘法););字节、字和半字加载字节、字和半字加载/ /存储指令;存储指令;具有分支指令,包括在子程序调用中使具有分支指令,包括在子程序调用中使用的分支和链接指令;用的分支和链接指令;在系统调用中使用的软件中断指令。在系统调用中使用的软件中断指令。第二章第二章ARM体系机构体系机构ARM体系结构的不同版本的发展概述体系结构的不同版本的发展概述-V2版本版本同样为同

54、样为26位位寻址空间,现在已经废弃不再使寻址空间,现在已经废弃不再使用,它相对用,它相对V1版本有以下改进:版本有以下改进:v具有乘法和乘加指令;具有乘法和乘加指令;v支持支持协处理器协处理器;v快速中断模式中的快速中断模式中的分组寄存器分组寄存器;vSWP和和SWPB指令。指令。 第二章第二章ARM体系机构体系机构ARM体系结构的不同版本的发展概述体系结构的不同版本的发展概述V3版本版本v32位寻址空间位寻址空间v分开分开CPSR和和SPSR,完善异常中断机制完善异常中断机制v增加了增加了MSR指令和指令和MRS指令指令v增加两种异常模式增加两种异常模式v修改异常返回的指令修改异常返回的指令

55、V3版本基本未投入市场版本基本未投入市场第二章第二章ARM体系机构体系机构ARM体系结构的不同版本的发展概述体系结构的不同版本的发展概述V4版本版本v增加了增加了Thumb指令集v增加了处理器的特权模式增加了处理器的特权模式V4版本基本赢得了市场版本基本赢得了市场第二章第二章ARM体系机构体系机构ARM体系结构的不同版本的发展概述体系结构的不同版本的发展概述V5版本版本 在V4版本的基础上,对现在指令的定义进行了必要的修正,对V4版本的体系结构进行了扩展并并增加了指令,具体如下:v改进了改进了ARM/Thumb状态之间的切换效率;状态之间的切换效率;v允许非允许非T变量和变量和T变量一样,使用

56、相同的代码生成技术;变量一样,使用相同的代码生成技术;v增加计数前导零指令前导零指令和软件断点指令软件断点指令;(无线通信无线通信)v对乘法指令乘法指令如何设置标志作了严格的定义;vDSP指令支持(E);vJava指令支持(J)。V6结构结构-增加了媒体指令增加了媒体指令V6内核:内核:ARM11。 第二章第二章ARM体系机构体系机构ARM处理器核简介处理器核简介 ARM公司开发了很多系列的ARM处理器核, 目前应用比较广泛的系列是:ARM7ARM9ARM9EARM10StrongARMXscaleARM11Cortex-M3Cortex-RXCortex-AX第二章第二章ARM体系机构体系机

57、构ARM处理器核简介处理器核简介ARM7 该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集和EmbededICE(JTAGJTAG)软件调试方式,适用于更大规模的SoCSoC设计中。 ARM7系列广泛应用于多媒体和嵌入式设备多媒体和嵌入式设备,包括InternetInternet设备设备、网络和调制解调器设备网络和调制解调器设备,以及移动电话、移动电话、PDAPDA等无线设备。第二章第二章ARM体系机构体系机构ARM7TDMI后缀意义支持高密度16位的Thumb指令集

58、;支持片上调试;支持64位结果的乘法;支持EmbededICE观察硬件;ARM7 T D M I 第二章第二章ARM体系机构体系机构ARM处理器核简介处理器核简介ARM9v5级级整数整数流水线流水线,指令执行效率更高。,指令执行效率更高。v提供提供1.1DMIPS的的哈佛结构哈佛结构v支持支持32位位ARM指令集和指令集和16位位Thumb指令集指令集v支持支持32位的高速位的高速AMBA总线接口总线接口v全性能的全性能的MMU,支持,支持WindowsCE、Linux、PalmOS等多种等多种主流嵌入式操作系统主流嵌入式操作系统v支持数据支持数据Cache和指令和指令Cache,具有更高的指

59、令和数据处理具有更高的指令和数据处理能力能力v运算速度最高可达运算速度最高可达300MIPSARM9系列微处理器主要应用于无线设备、仪器仪表、系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。像机等。ARM9系列微处理器包含系列微处理器包含ARM920T、ARM922T和和ARM940T三种类型,以适用于不同的应用场合。三种类型,以适用于不同的应用场合。第二章第二章ARM体系机构体系机构ARM处理器核简介处理器核简介ARM10ARM10E系列微处理器具有高性能、低功耗的特点,系列微处理器具有高性能、

60、低功耗的特点,由于采用了新的体系结构,与同等的由于采用了新的体系结构,与同等的ARM9器件相比较,器件相比较,在同样的时钟频率下,性能提高了近在同样的时钟频率下,性能提高了近50,同时,同时,ARM10E系列微处理器采用了两种先进的节能方式,使系列微处理器采用了两种先进的节能方式,使其功耗极低。其功耗极低。v支持支持DSP指令集,适合于需要高速数字信号处理的场合。指令集,适合于需要高速数字信号处理的场合。v6级整数流水线,指令执行效率更高。级整数流水线,指令执行效率更高。v支持支持VFP10浮点处理协处理器。浮点处理协处理器。v运算速度最高可达运算速度最高可达400DMIPS。v内嵌并行读内嵌

61、并行读/写操作部件。写操作部件。ARM10E系列微处理器主要应用于线设备、数字消系列微处理器主要应用于线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。费品、成像设备、工业控制、通信和信息系统等领域。已完成已完成ARM10的的SoC为为XScale系列。系列。 第二章第二章ARM体系机构体系机构ARM10处理器核简介处理器核简介XscaleIntelXscale微控制器则提供全性能、高性价微控制器则提供全性能、高性价比、低功耗的解决方案,支持比、低功耗的解决方案,支持16位位Thumb指令并指令并集成数字信号处理(集成数字信号处理(DSP)指令)指令。还兼有MMX等等Intel的优

62、点的优点,该系列有:vXscale23XvXscale 25XvXscale 26XvXscale 27X第二章第二章ARM体系机构体系机构ARM11处理器处理器(ARMv6)v多媒体处理扩展多媒体处理扩展(使使MPEG4编码编码/解码加快一倍解码加快一倍);v增强的增强的Cache结构结构q实地址实地址Cache4q减少减少Cache的刷新和重载的刷新和重载q减少上下文切换的开销减少上下文切换的开销v增强的异常和中断处理增强的异常和中断处理(使实时任务的处理更加迅速使实时任务的处理更加迅速)v支持支持Unaligned和和Mixed-endian数据访问数据访问(使数据共享、软件使数据共享、

63、软件移植更简单,也有利于节省存储器空间移植更简单,也有利于节省存储器空间)对绝大多数应用来说,对绝大多数应用来说,ARMv6保持了保持了100%的二进制向下的二进制向下兼容,使用户过去开发的程序可以进一步继承下去。兼容,使用户过去开发的程序可以进一步继承下去。ARMv6保持了所有过去架构中的保持了所有过去架构中的T(Thumb指令)和指令)和E(DSP指令)指令)扩展,使代码压缩和扩展,使代码压缩和DSP处理特点得到延续;为了加速处理特点得到延续;为了加速Java代码执行速度的代码执行速度的ARMJazalle技术也继续在技术也继续在ARMv6架构中发架构中发挥重要作用。挥重要作用。第二章第二

64、章ARM体系机构体系机构Crotex体系结构体系结构vCortex-A系列系列ARMCortex-A系列的应用型处理器可向托管丰富的操系列的应用型处理器可向托管丰富的操作系统平台的设备和用户应用提供全方位的解决方案,包括作系统平台的设备和用户应用提供全方位的解决方案,包括超低成本的手机、超低成本的手机、智能手机、移动计算智能手机、移动计算平台、平台、数字电视、机数字电视、机顶盒、企业网络、顶盒、企业网络、打印机和服务器解决方案。打印机和服务器解决方案。q高性能的高性能的Cortex-A15;q可伸缩的可伸缩的Cortex-A9;q经过市场验证的经过市场验证的Cortex-A8处理器处理器;q高

65、效的高效的Cortex-A5处理器处理器均共享均共享ARMCortex-A体系结构,因此具有完整的应用体系结构,因此具有完整的应用兼容性,支持传统的兼容性,支持传统的ARM、Thumb指令集和新增的高性能指令集和新增的高性能紧凑型紧凑型Thumb-2指令集。指令集。第二章第二章ARM体系机构体系机构Crotex体系结构体系结构vCortex-R系列系列ARMCortex-R实时处理器为具有严格的实时响应限制的深层嵌入式实时处理器为具有严格的实时响应限制的深层嵌入式系统提供高性能计算解决方案。目标应用包括:系统提供高性能计算解决方案。目标应用包括:q智能手机和基带调制解调器中的智能手机和基带调制

66、解调器中的移动移动手机处理手机处理;q企业企业系统,如硬盘驱动器、联网和打印系统,如硬盘驱动器、联网和打印;q家庭家庭消费性电子产品、机顶盒、数字电视、媒体播放器和相机消费性电子产品、机顶盒、数字电视、媒体播放器和相机;q用于医疗行业、工业和汽车行业的可靠系统的用于医疗行业、工业和汽车行业的可靠系统的嵌入式嵌入式微控制器微控制器在这些应用中,采用的是对处理响应设置在这些应用中,采用的是对处理响应设置时标时标系统,如果要避免数据系统,如果要避免数据丢失或机械损伤,则必须符合所设置的这些硬截止时间。因此丢失或机械损伤,则必须符合所设置的这些硬截止时间。因此Cortex-R处理器是专为高性能、可靠性

67、和容错能力而设计的,其行为具有高确定性,处理器是专为高性能、可靠性和容错能力而设计的,其行为具有高确定性,同时保持很高的能效和成本效益。同时保持很高的能效和成本效益。第二章第二章ARM体系机构体系机构Crotex体系结构体系结构vCortex-M系列系列ARMCortex-M处理器系列是一系列可向上兼容的高能效、易于使用的处理器系列是一系列可向上兼容的高能效、易于使用的处理器,这些处理器旨在帮助开发人员满足将来的嵌入式应用的需要。这处理器,这些处理器旨在帮助开发人员满足将来的嵌入式应用的需要。这些需要包括以更低的成本提供更多功能、不断增加连接、改善代码重用提些需要包括以更低的成本提供更多功能、

68、不断增加连接、改善代码重用提高能效。高能效。Cortex-M系列针对成本和系列针对成本和功耗敏感功耗敏感的的MCU和终端应用和终端应用q智能测量智能测量;q人机接口设备人机接口设备;q汽车和工业控制系统汽车和工业控制系统;q大型家用电器大型家用电器;q消费性产品消费性产品;q医疗器械医疗器械第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M技术技术vRISC处理器内核处理器内核q高性能高性能32位位CPUq具有确定性的运算具有确定性的运算q预预3级流水线级流水线管道管道第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M技术技术v低能耗模式低能耗模式q集成

69、的睡眠状态支持集成的睡眠状态支持q多电源域多电源域q基于架构的软件控制基于架构的软件控制v嵌套矢量中断控制器嵌套矢量中断控制器(NVIC)q低延迟、低抖动中断响应低延迟、低抖动中断响应q不需要汇编编程不需要汇编编程q以纯以纯C语言编写的中断服务例程语言编写的中断服务例程v工具和工具和RTOS支持支持q广泛的第三方工具支持广泛的第三方工具支持qCortex微控制器软件接口标准微控制器软件接口标准(CMSIS)q最大限度地增加软件成果重用最大限度地增加软件成果重用第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M技术技术vCoreSight调试与跟踪调试与跟踪支持多处理器,支持

70、实时跟踪支持多处理器,支持实时跟踪qJTAGqSWD(2针串行线调试连接)针串行线调试连接)ARMCortex-M0要用要用SWD第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M技术技术vThumb-2技术技术q改进了代码密度,具有性能效率和功效改进了代码密度,具有性能效率和功效qThumb-2技术是以技术是以ARMCortex体系结构为基础的指令集,它提升了体系结构为基础的指令集,它提升了众多嵌入式应用的性能、能效和代码密度。众多嵌入式应用的性能、能效和代码密度。qThumb-2技术以获得成功的技术以获得成功的Thumb为基础进行构建,以增强为基础进行构建,以增强ARM

71、微微处理器内核的功能。处理器内核的功能。q该技术与现有该技术与现有ARM和和Thumb解决方案向后兼容,同时显著扩展了解决方案向后兼容,同时显著扩展了Thumb指令集的可用功能。这将使得更多应用程序从指令集的可用功能。这将使得更多应用程序从Thumb的同类的同类最佳代码密度中获益。最佳代码密度中获益。q为获得性能优化的代码,为获得性能优化的代码,Thumb-2技术技术使用少于使用少于31%的内存的内存以降低系以降低系统成本,同时,提供比现有统成本,同时,提供比现有高密度代码高出高密度代码高出38%的性能的性能,因此可用于,因此可用于延长电池寿命,或丰富产品功能集。延长电池寿命,或丰富产品功能集

72、。v16/32位指令的最佳混合位指令的最佳混合v小于小于8位设备位设备3倍的代码大小倍的代码大小v对性能没有负面影响对性能没有负面影响第三章第三章CrotexM3处理器技术处理器技术CrotexM3主要特性:主要特性:v体系结构:体系结构:ARMv7-M(哈佛);(哈佛);v指令系统:支持指令系统:支持Thumb/Thumb-2;v管道:管道:3级流水线级流水线+分支预测;分支预测;v速度:速度:1.25DMIPS/MHzv内存保护:带有子区域和后台区域的可选内存保护:带有子区域和后台区域的可选8区域区域MPU;v中断:不可屏蔽的中断中断:不可屏蔽的中断(NMI)+1到到240个物理中断个物理

73、中断v中断延迟:中断延迟:12个周期;个周期;v中断间延迟:中断间延迟:6个周期;个周期;v中断优先级:中断优先级:8到到256个优先级;个优先级;v唤醒中断控制器:最多唤醒中断控制器:最多240个唤醒中断:个唤醒中断:v睡眠模式:睡眠模式:q集成的集成的WFI和和WFE指令和指令和“退出时睡眠退出时睡眠”功能;功能;q睡眠和深度睡眠信号;睡眠和深度睡眠信号;q随随ARM电源管理工具包提供的可选保留模式。电源管理工具包提供的可选保留模式。v位操作:集成的指令和位段;位操作:集成的指令和位段;v增强的指令:硬件除法(增强的指令:硬件除法(2-12个周期)和单周期个周期)和单周期(3232)乘法;

74、乘法;v调试:可选调试:可选JTAG和和串行线调试串行线调试端口。最多端口。最多8个断点和个断点和4个检测点;个检测点;v跟踪:可选指令跟踪:可选指令跟踪跟踪(ETM)、数据跟踪、数据跟踪(DWT)和测量跟踪和测量跟踪(ITM);第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M3体系结构体系结构v概述概述ARMCortex-M3处理器是处理器是32位处理器,适用于具有高位处理器,适用于具有高确定性的实时应用(包含微控制器、汽车车体系统、工业控确定性的实时应用(包含微控制器、汽车车体系统、工业控制系统以及无线网络和传感器),具有高性能低成本的特定。制系统以及无线网络和传感器

75、),具有高性能低成本的特定。该处理器特点:该处理器特点:1.实时;实时;2.低动态和静态功率;低动态和静态功率;3.低功耗。低功耗。第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M3体系结构体系结构v指令结构指令结构Cortex-M3处理器采用处理器采用ARMv7-M架构,它包括:架构,它包括:q16位位Thumb指令集指令集q32位位Thumb-2指令集架构指令集架构Cortex-M3处理器不能执行处理器不能执行ARM指令指令集集。Thumb-2在在Thumb指令集架构上进指令集架构上进行了大量的改进,它与行了大量的改进,它与Thumb相比,具相比,具有有更高的代码密度

76、更高的代码密度并提供并提供16/32位指令位指令的的更高性能。更高性能。第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M3体系结构体系结构v工作模式工作模式Cortex-M3处理器支持处理器支持2种工作模式:种工作模式:q线程模式线程模式在复位时处理器进入在复位时处理器进入“线程模式线程模式”,异常异常返回时也会进入该模式返回时也会进入该模式,特权特权和和用户用户(非特权)(非特权)模式代码能够在模式代码能够在“线程模式线程模式”下运行。下运行。q处理模式。处理模式。出现异常模式时处理器进入出现异常模式时处理器进入“处理模式处理模式”,在处理模式下,所有代码都是特权访问的

77、。,在处理模式下,所有代码都是特权访问的。第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M3体系结构体系结构v工作状态工作状态Coretx-M3处理器有处理器有2种工作状态。种工作状态。qThumb状态:状态:这是这是16位位“半字对齐半字对齐”的的Thumb和和32位位Thumb-2指令的执行状态。指令的执行状态。q调试状态:调试状态:处理器停止并进行调试,进入该状态。处理器停止并进行调试,进入该状态。第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M3体系结构体系结构v管道:管道:3级流水线级流水线+分支预测;分支预测;3级流水线概念级流水线概念第

78、三章第三章CrotexM3处理器技术处理器技术ARMCortex-M3体系结构体系结构v管道:管道:3级流水线级流水线+分支预测;分支预测;第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M3体系结构体系结构v没有没有分支预测的分支预测的三级流水线三级流水线第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M3体系结构体系结构v有有分支预测的分支预测的三级流水线三级流水线第三章第三章CrotexM3处理器技术处理器技术ARMCortex-M3体系结构体系结构v冯冯若依曼结构的三级流水线若依曼结构的三级流水线取指取指取指取指取指取指取指取指取指取指取指取指译

79、指译指译指译指译指译指译指译指执指执指执指执指写数据写数据执指执指执指执指写地址写地址等待等待等待等待第三章第三章CrotexM3处理器技术处理器技术Cortex-M3寄存器结构寄存器结构v普通寄存器普通寄存器q通用寄存器(通用寄存器(R0R12)低端通用寄存器低端通用寄存器(R0R7)Thumb/Thumb-2指令均可使用指令均可使用高端通用寄存器高端通用寄存器(R8R12)仅仅Thumb-2指令可使用指令可使用q堆栈指针寄存器(堆栈指针寄存器(R13,SP)主堆栈指针寄存器(主堆栈指针寄存器(MSP)进程堆栈指针寄存器(进程堆栈指针寄存器(PSP)q连接寄存器(连接寄存器(R14,LR)q

80、程序计数器(程序计数器(R15,PC)v特殊功能寄存器特殊功能寄存器第三章第三章CrotexM3处理器技术处理器技术堆栈指针寄存器(堆栈指针寄存器(R13,SP)Cortex-M3拥有两个堆栈指针,任一时刻只能使用其中拥有两个堆栈指针,任一时刻只能使用其中的一个。的一个。v主堆栈指针主堆栈指针(MSP):复位后缺省使用的堆栈指针,用于操作:复位后缺省使用的堆栈指针,用于操作系统内核以及系统内核以及异常处理例程异常处理例程,为复位缺省项;,为复位缺省项;v进程堆栈指针进程堆栈指针(PSP):由用户的:由用户的应用程序代码使用应用程序代码使用。与用户有关的指令为:与用户有关的指令为:1.PUSH2

81、.POPLable程序A程序BR14第三章第三章CrotexM3处理器技术处理器技术R14(LR)寄存器与子程序调用寄存器与子程序调用BL Lable地址A?MOV PC,LRR14(地址A)Lable?1.程序A执行过程中调用程序B;操作流程2.程序跳转至标号Lable,执行程序B。同时硬件将“BL Lable”指令的下一条指令所在地址所在地址存入R14;3.程序B执行最后,将R14寄存器的内容放入PC,返回程序A;第三章第三章CrotexM3处理器技术处理器技术R15(PC)R15R15寄存器的最低位总是为寄存器的最低位总是为0 0。LDR R0,PC?PCPC-4PC-8正在执行正在译码

82、正在取指流水线状态流水线状态地址地址程序代码程序代码第三章第三章CrotexM3处理器技术处理器技术程序状态寄存器程序状态寄存器(PSRs)v应用应用状态寄存器(状态寄存器(APSR)v中断中断状态寄存器(状态寄存器(IPSR)v执行执行状态寄存器(状态寄存器(EPSR)第三章第三章CrotexM3处理器技术处理器技术APSRvN:(补码的符号标志位):(补码的符号标志位)q结果为负数时,结果为负数时,N=1;q结果为正数或结果为正数或零时,零时,N=0;vZ:(零标志位)(零标志位)q为为0时,时,Z=1(通常表示比较结果(通常表示比较结果“相等相等”););q非非0时,时,Z=0。vC:(

83、进位标志位)(进位标志位)q最高位产生进(借)位时最高位产生进(借)位时C=1;q否则否则C=0。vV:(溢出标志位)(溢出标志位)q溢出时溢出时V=1;q否则否则V=0。vQ:(饱和标志位),:(饱和标志位),(3232)乘法用。乘法用。第三章第三章CrotexM3处理器技术处理器技术中断中断状态状态寄存器寄存器(IPSR8:0)当前激活的异常当前激活的异常ISR编号编号。如果没有。如果没有异常异常ISR执行,那么执行,那么IPSR=0。如果有新的。如果有新的异常异常ISR进来,进来,首先就让首先就让IPSR和新和新异常异常ISR的序号比较,只有新的序号比较,只有新异常异常ISR的序号小于的

84、序号小于IPSR时,才让新时,才让新异常异常ISR执执行,形成嵌套中断。行,形成嵌套中断。(NVIC)第三章第三章CrotexM3处理器技术处理器技术执行执行状态寄存器(状态寄存器(EPSR)vICI15:12ICI是为是为单指令多周期指令单指令多周期指令LDM/STM和和条件执行指令条件执行指令IT准备的。准备的。如果当前正在执行如果当前正在执行LDM/STM指令,是进行寄存器组里的指令,是进行寄存器组里的多个寄存器与多个寄存器与RAM的数据的数据读读、写写操作。我们用操作。我们用ICI保存下一保存下一个要用到的寄存器序号。如果这时发生了中断,再恢复时,个要用到的寄存器序号。如果这时发生了中

85、断,再恢复时,如果查询如果查询ICI,就知道下一个要作用的是哪一个寄存器了。那,就知道下一个要作用的是哪一个寄存器了。那么不用让么不用让LDM/STM指令从头再来了。指令从头再来了。vIT15:10、26:25(IfThen语句标志区)语句标志区)IT本身不改变通用寄存器,它决定它后面的四条指令的执本身不改变通用寄存器,它决定它后面的四条指令的执行条件。一旦遇到行条件。一旦遇到IT指令,则对指令,则对IT寄存器写入运行状态。寄存器写入运行状态。vTThumb标志位,必须标志位,必须=1;否则出现异常。;否则出现异常。第三章第三章CrotexM3处理器技术处理器技术中断屏蔽寄存器组,是用来屏蔽中

86、断的。中断屏蔽寄存器组,是用来屏蔽中断的。它规定了当前哪些类型的中断是可以执行的。它规定了当前哪些类型的中断是可以执行的。第三章第三章CrotexM3处理器技术处理器技术Cortex-M3的控制寄存器的控制寄存器CONTROL1:0vCONTROL1(工作模式工作模式堆栈指针别)堆栈指针别):q0-MSP(特权级)(特权级)q1-PSP(用户级)(用户级)vCONTROL0(工作级别工作级别):q1-PSP(用户级)(用户级)q1-用户级用户级CONTROL的的bit位位1控制使用哪一个堆栈指针;控制使用哪一个堆栈指针;bit位位0控制是处于特权级还是用户级。模式是没有对应的控制是处于特权级还

87、是用户级。模式是没有对应的控制寄存器的,不过这个也很好区分:只要发生了中断,控制寄存器的,不过这个也很好区分:只要发生了中断,则进入特权模式,正常运行程序,处于线程模式。则进入特权模式,正常运行程序,处于线程模式。第三章第三章CrotexM3处理器技术处理器技术CrotexM3存储器结构存储器结构v存储器存储器结构结构-哈佛结构哈佛结构q I-CodeqD-Codev具有以下特征q存储器映射是预定义的,他规定了 存储器访问所使用的总线;q位寻址区支持位操作;q支持非对齐数据传输,;q大、小端数据结构均支持。 第三章第三章CrotexM3处理器技术处理器技术CrotexM3存储器结构存储器结构v

88、存储器映射q统一编址,最大4GB空间:片内、片外;寄存器、片内存储器;片内、片外接口寄存器。q位寻址区位确定的位寻址带第三章第三章CrotexM3处理器技术处理器技术存储器结构存储器结构v小端(小端(Little-endian)存储器系统存储器系统v大端(大端(Big-endian)存储器系统存储器系统如果将一个如果将一个32位的字位的字0x12345678存放到存储器中,采用大端或存放到存储器中,采用大端或者小端模式在内存中的存储由下表所示者小端模式在内存中的存储由下表所示地址偏移地址偏移大端模式大端模式小端模式小端模式0x000x120x780x010x340x560x020x560x34

89、0x030x780x12第四章第四章CrotexM3指令系统指令系统概述概述Cortex-M3处理器采用处理器采用ARMv7-M架构架构-16位、位、32位位Thumb-2指令集架构。指令集架构。Cortex-M3处处理器不能执行理器不能执行ARM指令集指令集。Thumb-2在在Thumb指令集架构上进行了大指令集架构上进行了大量的改进,它与量的改进,它与Thumb相比,相比,具有具有更高的代码密度更高的代码密度并提供并提供16/32位指令位指令的更高性能。的更高性能。第四章第四章CrotexM3指令系统指令系统寻址方式寻址方式v寄存器寻址寄存器寻址v立即寻址立即寻址v寄存器移位寻址(寄存器移

90、位寻址(CrotexM3特有)特有)v寄存器间址寄存器间址v基址变址寻址基址变址寻址v多寄存器寻址多寄存器寻址v堆栈寻址堆栈寻址v相对寻址相对寻址第四章第四章CrotexM3指令系统指令系统寄存器寻址寄存器寻址寄存器寻址就是利用寄存器中的数值作为操作数,寄存器寻址就是利用寄存器中的数值作为操作数,这种寻址方式是各类微处理器经常采用的一种方这种寻址方式是各类微处理器经常采用的一种方式,也是一种式,也是一种执行效率最高的执行效率最高的寻址方式。寻址方式。qMOVR0,R1;R0R1qADDR0,R1,R2;R0R1R2是将寄存器是将寄存器R1和和R2的内容相加,其结果存放在寄存器的内容相加,其结果

91、存放在寄存器R0中。中。 第四章第四章CrotexM3指令系统指令系统立即寻址立即寻址立即寻址也叫立即数寻址,这是一种特殊的寻址立即寻址也叫立即数寻址,这是一种特殊的寻址方式,方式,操作数本身包含在指令中操作数本身包含在指令中,只要取出指令也就,只要取出指令也就取到了操作数。这个操作数被称为立即数,对应的寻取到了操作数。这个操作数被称为立即数,对应的寻址方式也就叫做立即寻址。址方式也就叫做立即寻址。qADDR0,R0,1;R0R01qADDR0,R0,0x3f;R0R00x3f 第四章第四章CrotexM3指令系统指令系统寄存器移位寻址寄存器移位寻址将寄存器的移位结果作为操作数vADD R1,

92、R1,R1,LSL#3 ;R1=R1+R1*23=9R1vSUBR1,R1,R2,LSRR3;R1=R1-(R2/2R3) 第四章第四章CrotexM3指令系统指令系统基址变址寻址基址变址寻址基址变址寻址就是将寄存器(该寄存器一般称作基址寄存器)基址变址寻址就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。变址寻址方式常用于访问某基地址附近的地址单元。有效地址。变址寻址方式常用于访问某基地址附近的地址单元。采用变址寻址方式的指令常见有以下几种形式,如下所示:采用变址寻址方式的指令常

93、见有以下几种形式,如下所示:vLDRR0,R1,4;R0R14将寄存器将寄存器R1的内容加上的内容加上4形成操作数的有效地址形成操作数的有效地址,从而取得操作数存入寄存从而取得操作数存入寄存器器R0中中vLDRR0,R1,4!;R0R14、R1R14将寄存器将寄存器R1的内容加上的内容加上4形成操作数的有效地址,从而取得操作数存入寄形成操作数的有效地址,从而取得操作数存入寄存器存器R0中,然后,中,然后,R1的内容自增的内容自增4个字节。个字节。vLDRR0,R1,4;R0R1、R1R14以寄存器以寄存器R1的内容作为操作数的有效地址,从而取得操作数存入寄存器的内容作为操作数的有效地址,从而取

94、得操作数存入寄存器R0中,然后,中,然后,R1的内容自增的内容自增4个字节个字节vLDRR0,R1,R2;R0R1R2将寄存器将寄存器R1的内容加上寄存器的内容加上寄存器R2的内容形成操作数的有效地址,从而取的内容形成操作数的有效地址,从而取得操作数存入寄存器得操作数存入寄存器R0中。中。 第四章第四章CrotexM3指令系统指令系统多寄存器寻址方式多寄存器寻址方式一条指令可以完成多个寄存器值的传送。这种寻址方一条指令可以完成多个寄存器值的传送。这种寻址方式可以用式可以用一条指令一条指令完成传送最多完成传送最多16个通用寄存器个通用寄存器的值。的值。vLDMIAR0,R1,R2,R3,R4;R

95、1R0;R2R04;R3R08;R4R012该指令的该指令的后缀后缀IA表示在每次执行完加载表示在每次执行完加载/存储操作后,存储操作后,R0按字长度增加,因此,指令可将连续存储单元的值传送到按字长度增加,因此,指令可将连续存储单元的值传送到R1R4。 第四章第四章CrotexM3指令系统指令系统堆栈寻址堆栈寻址堆栈是一种数据结构,按堆栈是一种数据结构,按先进后出先进后出(FirstInLastOut,FILO)的方式工作,使用一个称作堆栈指针的专)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。当堆栈指针

96、指向最后压入堆栈的数据时,称为当堆栈指针指向最后压入堆栈的数据时,称为满堆栈满堆栈(FullStack),而当堆栈指针指向下一个将要放入数),而当堆栈指针指向下一个将要放入数据的空位置时,称为据的空位置时,称为空堆栈空堆栈(EmptyStack)。)。v满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生成。高地址生成。v满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生成。低地址生成。v空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,空递增堆栈:堆栈指针指向下一个将要

97、放入数据的空位置,且由低地址向高地址生成。且由低地址向高地址生成。v空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生成。且由高地址向低地址生成。第四章第四章CrotexM3指令系统指令系统相对寻址相对寻址与基址变址寻址方式相类似,相对寻址以程序与基址变址寻址方式相类似,相对寻址以程序计数器计数器PC的当前值为基地址,指令中的地址标的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有号作为偏移量,将两者相加之后得到操作数的有效地址。以下程序段完成子程序的调用和返回,效地址。以下程序段完成子程序的调用

98、和返回,跳转指令跳转指令BL采用了相对寻址方式:采用了相对寻址方式:vBLNEXT;跳转到子程序;跳转到子程序NEXT处执行处执行NEXTvMOVPC,LR;从子程序返回;从子程序返回。第一部分第一部分ARM技术技术堆栈寻址堆栈寻址ARM微处理器支持这四种类型的堆栈工作方微处理器支持这四种类型的堆栈工作方式,即:式,即:v满递增堆栈:堆栈指针指向最后压入的数据,且由低满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生成地址向高地址生成(FA);v满递减堆栈:堆栈指针指向最后压入的数据,且由高满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生成地址向低地址生成(FD);v空递

99、增堆栈:堆栈指针指向下一个将要放入数据的空空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生成位置,且由低地址向高地址生成(FA);v空递减堆栈:堆栈指针指向下一个将要放入数据的空空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生成位置,且由高地址向低地址生成(FD)。第四章第四章CrotexM3指令系统指令系统指令的基本格式如下:SP,其中其中号内的项是必须的,号内的项是必须的,号内的项是可选的。号内的项是可选的。vopcode:指令助记符;vcond:执行条件;vS:是否影响是否影响CPSR寄存器的值;寄存器的值;vP:q.N按按16位编码位编码

100、q.W按按32位编码位编码q未指定,系统自动处理未指定,系统自动处理vRd:目标寄存器;vRn:第1操作数的寄存器;voperand2:第2操作数;第四章第四章CrotexM3指令系统指令系统条件码条件码操作码操作码条件助记符条件助记符标志标志含义含义0000EQZ=1相等相等0001NEZ=0不相等不相等0010CS/HSC=1无符号数大于或等于无符号数大于或等于0011CC/LOC=0无符号数小于无符号数小于0100MIN=1负数负数0101PLN=0正数或零正数或零0110VSV=1溢出溢出0111VCV=0没有溢出没有溢出1000HIC=1,Z=0无符号数大于无符号数大于1001LSC

101、=0,Z=1无符号数小于或等于无符号数小于或等于1010GEN=V有符号数大于或等于有符号数大于或等于1011LTN!=V有符号数小于有符号数小于1100GTZ=0,N=V有符号数大于有符号数大于1101LEZ=1,N!=V有符号数小于或等于有符号数小于或等于1110AL任何任何无条件执行无条件执行(指令默认条件指令默认条件)1111NV任何任何从不执行从不执行(不要使用不要使用)第四章第四章CrotexM3指令系统指令系统第第2操作数操作数SP,,灵活的使用第2操作数“operand2”能够提高代码效率。它有如下的形式:v#const常数表达式;vRm寄存器表达式;vRm,shift寄存器移

102、位表达式;将寄存器的移位结果作为操作数,但Rm值保持不变qADDR1,R1,R1,LSL#3;R1=R1+R1*23=9R1qSUBR1,R1,R2,LSRR3;R1=R1-(R2/2R3)第四章第四章CrotexM3指令系统指令系统伪指令伪指令典型应用典型应用LDRR0,=地址表达式地址表达式解决解决常数表达式的局限性第二章第二章ARM技术概述技术概述.global_start.text.equnum,20/*Setnumberofwordstobecopied*/_start:LDRr0,=src/*r0=pointertosourceblock*/LDRr1,=dst/*r1=point

103、ertodestinationblock*/MOVr2,#num/*r2=numberofwordstocopy*/MOVsp,#0x400/*setupstackpointer(r13)*/blockcopy:MOVSr3,r2,LSR#3/*numberofeightwordmultiples*/BEQcopywords/*lessthaneightwordstomove?*/STMFDsp!,r4-r11/*savesomeworkingregisters*/octcopy:LDMIAr0!,r4-r11/*load8wordsfromthesource*/STMIAr1!,r4-r11

104、/*andputthematthedestination*/SUBSr3,r3,#1/*decrementthecounter*/BNEoctcopy/*.copymore*/LDMFDsp!,r4-r11/*dontneedthesenow-restoreoriginals*/copywords:ANDSr2,r2,#7/*numberofoddwordstocopy*/BEQstop/*Nowordslefttocopy?*/wordcopy:LDRr3,r0,#4/*awordfromthesource*/STRr3,r1,#4/*storeawordtothedestination*/

105、SUBSr2,r2,#1/*decrementthecounter*/BNEwordcopy/*.copymore*/stop:Bstop.ltorgsrc:.long1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4dst:.long0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.end第二章第二章ARM技术概述技术概述global_start.text.equnum,20/*设置设置COPY的字数的字数*/_start:LDRr0,=src/*r0=源区的初始点源区的初始点*/LDRr1,=dst/*r1=目标区的初始点目标区的初

106、始点*/MOVr2,#num/*r2=COPY的字数的字数*/MOVsp,#0x400/*设置栈指针设置栈指针*/blockcopy:MOVSr3,r2,LSR#3/*r3=COPY的字数的字数8*/BEQcopywords/*剩余的未传字数剩余的未传字数8,跳转到,跳转到copywords*/STMFDsp!,r4-r11/*保护保护r4r11数据数据满递减堆栈满递减堆栈*/octcopy:LDMIAr0!,r4-r11/*从源区取个字从源区取个字*/STMIAr1!,r4-r11/*送到目的区送到目的区*/SUBSr3,r3,#1/*循环递减循环递减*/BNEoctcopy/*剩余的未传字

107、数,循环剩余的未传字数,循环*/LDMFDsp!,r4-r11/*恢复恢复r4r11数据数据满递减堆栈满递减堆栈*/copywords:ANDSr2,r2,#7/*已传送完否?已传送完否?*/BEQstop/*如已完,跳向如已完,跳向*/wordcopy:LDRr3,r0,#4/*从源区取一个字从源区取一个字*/STRr3,r1,#4/*放到目的区放到目的区*/SUBSr2,r2,#1/*没送完字数递减没送完字数递减*/BNEwordcopy/*没完继续循环没完继续循环*/stop:Bstop.ltorgsrc:.long1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,

108、3,4dst:.long0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.end第五章第五章LPC1752体系结构体系结构LPC1700系列系列(Cortex-M3内核的MCU)基本通信接口:基本通信接口:v1个以太网个以太网MAC;v1个个USB2.0全速接口;全速接口;v5个个UART接口;接口;v2路路CAN;v3个个SSP接口;接口;v1个个SPI接口;接口;v3个个I2C接口接口;v2路路I2S输入、输出。输入、输出。第五章第五章LPC1752体系结构体系结构LPC1700系列系列 LPC1700系列是基于Cortex-M3内核的MCU。基本核心配置:基

109、本核心配置:v最高最高512KB片内片内Flash程序存储器;程序存储器;v最高最高96KB片内片内SRAM;v4KB片内片内EEPROM;v8通道通道GPDMA控制器;控制器;v4个个32位通用定时器位通用定时器;v一个一个8通道通道12位位ADC;v1个个10位位DAC;v路电机控制路电机控制PWM输出(输出(MCPWM););v1个正交编码器接口;个正交编码器接口;v6路通用路通用PWM输出;输出;v1个看门狗定时器以;个看门狗定时器以;v一个独立供电的超低功耗一个独立供电的超低功耗RTC。第第8章章GPRS数据控制终端设计数据控制终端设计GPRS数据终端数据终端v随着计算机技术的发展,

110、尤其是随着计算机技术的发展,尤其是Internet技术广泛深技术广泛深入到人们生活的各个方面,使人们的生活发生了深入到人们生活的各个方面,使人们的生活发生了深刻的变化,从工控领域来讲,由于刻的变化,从工控领域来讲,由于需要监控的区域需要监控的区域广、监控的对象种类繁多,因而需要花费大量的人广、监控的对象种类繁多,因而需要花费大量的人力、物力和财力进行设备的维护,而且存在许多条力、物力和财力进行设备的维护,而且存在许多条件恶劣、人们不易到达或不能时刻停留的地方件恶劣、人们不易到达或不能时刻停留的地方,需,需采集一些现场数据。如果进行大量的布线工作则是采集一些现场数据。如果进行大量的布线工作则是不

111、经济、不合理的,这就推动了无线通信的技术在不经济、不合理的,这就推动了无线通信的技术在远程监控领域的发展。远程监控领域的发展。vGPRS(通用分组无线业务)作为现有(通用分组无线业务)作为现有GSM网络向网络向第三代移动通信演变的过渡技术(第三代移动通信演变的过渡技术(2.5G)具有接入)具有接入迅速、永远在线、按流量计费等特点,在远程突发迅速、永远在线、按流量计费等特点,在远程突发性数据实时传输中有不可比拟的优势。性数据实时传输中有不可比拟的优势。第第8章章GPRS数据控制终端设计数据控制终端设计GPRS模块模块GPRS模块本身是个嵌模块本身是个嵌入式产品,有的厂商(如入式产品,有的厂商(如

112、明基公司的明基公司的M23系列和华系列和华为公司的为公司的MT900系列系列等)等)还在还在GPRS模块中集成了模块中集成了TCP/IP和和UTP/IP协议栈协议栈,减少了用户开发使用减少了用户开发使用GPRS模块时的编程量。模块时的编程量。第第8章章GPRS数据控制终端设计数据控制终端设计GPRS数据终端数据终端GPRS模块的对外除了有高频天线接头外,模块的对外除了有高频天线接头外,还有一个还有一个40芯的插座硬件接口,其中包含了供芯的插座硬件接口,其中包含了供电电源、电电源、SIM卡、卡、RS-232接口、状态指示灯和接口、状态指示灯和音频接口等引脚。音频接口等引脚。第第8章章GPRS数据

113、控制终端设计数据控制终端设计GPRS数据终端硬件设计数据终端硬件设计第第8章章GPRS数据控制终端设计数据控制终端设计GPRS数据终端硬件设计数据终端硬件设计第第8章章GPRS数据控制终端设计数据控制终端设计测试程序设计基础测试程序设计基础vAT指令的作用指令的作用AT(Attention)指令集是从终端设备)指令集是从终端设备(TE,TerminalEquipment)或数据终端设备或数据终端设备(DTE,DataTerminalEquipment)向终端适配器向终端适配器(TA,TerminalAdapter)或数据电路终端设备或数据电路终端设备(DCE,DataCircuitTermin

114、alEquipment)发送的。发送的。第第8章章GPRS数据控制终端设计数据控制终端设计测试程序设计基础测试程序设计基础vAT指令的作用指令的作用GSM模块与计算机之间的通信协议是一些模块与计算机之间的通信协议是一些AT指指令集令集.所有命令行必须以所有命令行必须以“AT”或或“at”为前缀,以为前缀,以结尾。结尾。vAT命令包括四种类型命令包括四种类型:q设置命令设置命令q测试命令测试命令q查询命令查询命令q执行命令执行命令第第8章章GPRS数据控制终端设计数据控制终端设计AT命令的基本语法命令的基本语法方括号中的值为缺省值;选配参数和必配参数必须按照方括号中的值为缺省值;选配参数和必配参

115、数必须按照规定的顺序排列,各参数间必须用逗号隔开;规定的顺序排列,各参数间必须用逗号隔开;v例:例:AT+CPWD=,该命令用于为设备锁定该命令用于为设备锁定+CLCK命令所定义的设备锁定功能设命令所定义的设备锁定功能设置新的密码。置新的密码。v如果某参数是字符串(比如:如果某参数是字符串(比如:),该字符串必须放),该字符串必须放在双引号中;在双引号中;例:例:+8613800250500、“cmnet”。双引号中的各。双引号中的各项符号可看作是字符串。项符号可看作是字符串。v命令的可选子参数或命令的可选子参数或TA返回结果的可选部分位于方括号中。返回结果的可选部分位于方括号中。v不使用双引号时,字符串中各字符间的空格可忽略不计。不使用双引号时,字符串中各字符间的空格可忽略不计。v实际使用中,必选项标识实际使用中,必选项标识和可选项标识和可选项标识不必输入。不必输入。v所有所有AT命令本身不区分大小写,但其参数对大小写敏感。命令本身不区分大小写,但其参数对大小写敏感。第第8章章GPRS数据控制终端设计数据控制终端设计

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号