嵌入式系原理及接口技术1

上传人:博****1 文档编号:585159079 上传时间:2024-09-01 格式:PPT 页数:255 大小:5.57MB
返回 下载 相关 举报
嵌入式系原理及接口技术1_第1页
第1页 / 共255页
嵌入式系原理及接口技术1_第2页
第2页 / 共255页
嵌入式系原理及接口技术1_第3页
第3页 / 共255页
嵌入式系原理及接口技术1_第4页
第4页 / 共255页
嵌入式系原理及接口技术1_第5页
第5页 / 共255页
点击查看更多>>
资源描述

《嵌入式系原理及接口技术1》由会员分享,可在线阅读,更多相关《嵌入式系原理及接口技术1(255页珍藏版)》请在金锄头文库上搜索。

1、豆乾远荷璃沿湖候蹦机墟绕争凌凶曝胖型匹赠凝北赊化邓絮释倘食伏舷锐嵌入式系原理及接口技术1嵌入式系原理及接口技术1嵌入式系统原理及接口技术嵌入式系统原理及接口技术 第一章第一章 绪论绪论谋矢迎宣淹蔷媒甲棱刚晃彝飘甩陡涣门挽诈梦羌刽哎还惊抛唱浚匠随凌献嵌入式系原理及接口技术1嵌入式系原理及接口技术1一、概述一、概述 1 1、什么是嵌入式系统什么是嵌入式系统 传统定义:传统定义: 嵌入在其他设备中,起智能控制作用的专用计算机系统。嵌入在其他设备中,起智能控制作用的专用计算机系统。 嵌入到对象体系中的专用计算机应用系统。嵌入到对象体系中的专用计算机应用系统。 现在流行的定义:(现在流行的定义:(新定义

2、新定义) 以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适应于应用系统对功能、以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统可靠性、成本、体积、功耗有严格要求的专用计算机系统 。 2、嵌入式系统的组成、嵌入式系统的组成 硬件硬件 一般描述:嵌入式处理器、存储器、一般描述:嵌入式处理器、存储器、I/O接口、接口、LCD控制器等。控制器等。 实际应用:开发板、用户的目标板。实际应用:开发板、用户的目标板。 软件软件 操作系统:操作系统:Windows CE、Linux、VxWorks、uc/os等。等。 用户程序(

3、简单系统只有用户程序)。用户程序(简单系统只有用户程序)。 3. 嵌入式系统的特点嵌入式系统的特点 (5页)页)范血菩煽搞帧果滦胰帅蹄耗般络跨鳖霓涕副笋露灸的厦滩遥插游咨瞅濒酝嵌入式系原理及接口技术1嵌入式系原理及接口技术1 嵌入性、专用性、计算机嵌入性、专用性、计算机。 嵌入式系统的相关技术嵌入式系统的相关技术 嵌入式系统的技术前沿嵌入式系统的技术前沿4 4、嵌入式系统的要求嵌入式系统的要求(6 6页)页)5 5、嵌入式系统的未来、嵌入式系统的未来 早在早在19901990年之前,嵌入式系统通常是很简单的且有很长的产品生命周期年之前,嵌入式系统通常是很简单的且有很长的产品生命周期 的自主设备

4、。近年来,嵌入式工业经历了巨大的变革。的自主设备。近年来,嵌入式工业经历了巨大的变革。 产品市场窗口现在预计翻番的周期狂热到产品市场窗口现在预计翻番的周期狂热到6-96-9个月;个月; 全球重新定义市场的机会和膨胀的应用空间;全球重新定义市场的机会和膨胀的应用空间; 互联网现在是一个需求而不是辅助性的,有线和刚刚显露头角的无线;互联网现在是一个需求而不是辅助性的,有线和刚刚显露头角的无线; 基于电子的产品更复杂化;基于电子的产品更复杂化; 互联嵌入式系统产生新的依赖网络基础设施的应用(互联嵌入式系统产生新的依赖网络基础设施的应用(物联网物联网); 微处理器的处理能力按微处理器的处理能力按莫尔定

5、律莫尔定律预计的速度在增加。预计的速度在增加。二、二、嵌入式处理器嵌入式处理器(2页)页) 埃端豆捂啊笺逃拭翅泡遇特互犬喀绰泼俯贯怔舜择荔诊菜值做豹甲冬售均嵌入式系原理及接口技术1嵌入式系原理及接口技术1 嵌入式系统大多工作在为特定用户群设计的系统中,嵌入式系统大多工作在为特定用户群设计的系统中,它通常都具有低功耗、它通常都具有低功耗、 体积小、集成度高等特点,体积小、集成度高等特点,能够把通用台式计算机中许多由板卡完成的任务能够把通用台式计算机中许多由板卡完成的任务 集成在芯片内部,从而有利于嵌入式系统设计趋于小集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强。型化,移动

6、能力大大增强。 返返殃畜椅历特尉脱庆炼雇捶沁帘汰躲显拟丹尼翁史屋混遏歇螺合匈矾玲虾稀嵌入式系原理及接口技术1嵌入式系原理及接口技术1 摩尔定律是由英特尔(摩尔定律是由英特尔(IntelIntel)创始人之一戈登)创始人之一戈登摩尔摩尔(Gordon MooreGordon Moore)提出的。其内容为:集成电路上可容纳的晶体)提出的。其内容为:集成电路上可容纳的晶体管数目,约每隔管数目,约每隔1818个月便会增加一倍,性能也将提升一倍,当价个月便会增加一倍,性能也将提升一倍,当价格不变时;或者说,每一美元所能买到的电脑性能,将每隔格不变时;或者说,每一美元所能买到的电脑性能,将每隔1818个个

7、月翻两倍以上。这一定律揭示了月翻两倍以上。这一定律揭示了信息技术信息技术进步的速度。进步的速度。 返返怎恍立锅度迪勤帝权拧箍涟坤析军垛相茂拐崖鸣越旨苍毖澜积恢芦称箍票嵌入式系原理及接口技术1嵌入式系原理及接口技术1 嵌入式系统是以嵌入式微处理器为内核,以嵌入式系统是以嵌入式微处理器为内核,以微电子技术、计算机技术、电子技术、对象技微电子技术、计算机技术、电子技术、对象技术为基础,软硬件可根据对象需要所设置,并术为基础,软硬件可根据对象需要所设置,并且嵌入到对象器件内,适用于应用系统对功能、且嵌入到对象器件内,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用可靠性、成本、体积、功耗

8、有严格要求的专用智能的控制系统。智能的控制系统。 返返蜡抗弯题山苍酞湛帘诌洪俺瘁锦酞堪捍束承坝拈菲残补俱咬酞宪恫丹宽紫嵌入式系原理及接口技术1嵌入式系原理及接口技术1 1、实时性、实时性 2 2、多速率、多速率 3 3、功耗、功耗 4 4、低成本、低成本 5 5、环境相关性、环境相关性 返返蒙及兢立磨黑敝昏命捂夹镰绚诫舜捐莹竣杂腥厦屏崖脚历帘刹积妆骄宿冀嵌入式系原理及接口技术1嵌入式系原理及接口技术1 嵌入式系统是将先进的计算机技术、半导体技术和嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它

9、必然是一个技术密集、高度分散(留一点就决定了它必然是一个技术密集、高度分散(留给各个行业高新技术公司的创新余地很大)、可以不给各个行业高新技术公司的创新余地很大)、可以不断创新的知识集成系统。断创新的知识集成系统。 返返械膝驹肩妈恤铭拒绊姬巩孩釉伊供似妈穴赚墓箱沸锁炊享庶珍无贞俄塌哪嵌入式系原理及接口技术1嵌入式系原理及接口技术1 目前,无论是嵌入式系统基础器件、开发手段,还是目前,无论是嵌入式系统基础器件、开发手段,还是应用对象,都有了很大变化。无论是未来从事应用对象,都有了很大变化。无论是未来从事8 8位、位、1616位、位、3232位的嵌入式系统应用,都应该了解嵌入式系位的嵌入式系统应用

10、,都应该了解嵌入式系统的技术前沿。这些技术前沿体现了嵌入式系统应用统的技术前沿。这些技术前沿体现了嵌入式系统应用的一些基本观念,它们是:的一些基本观念,它们是: 基于集成开发环境的应用开发、应用系统的用户基于集成开发环境的应用开发、应用系统的用户SoCSoC设计、操作系统的普遍应用、普遍的网络接入、先进设计、操作系统的普遍应用、普遍的网络接入、先进的电源技术以及多处理器的电源技术以及多处理器SoCSoC技术。技术。 返返称龄椿审沪阂珠靳淋粕楞洛安档肘起胳兰们葱冯唆练吮露喀卡帜帚眺登载嵌入式系原理及接口技术1嵌入式系原理及接口技术1 嵌入式处理器关注的要点:性能、尺寸、能耗及价格嵌入式处理器关注

11、的要点:性能、尺寸、能耗及价格 一类嵌入式处理器注重尺寸、能耗、和价格。例如个人数字助一类嵌入式处理器注重尺寸、能耗、和价格。例如个人数字助理(理(PDA)因为应用的主要特性是交互和显示密集性的,而不是)因为应用的主要特性是交互和显示密集性的,而不是计算密集性的。这类嵌入式处理器很小,因为整个计算密集性的。这类嵌入式处理器很小,因为整个PDA装置的尺装置的尺寸很小能放在手掌上。寸很小能放在手掌上。 另一类嵌入式处理器更关注性能。这些处理器功能另一类嵌入式处理器更关注性能。这些处理器功能 很强,这些很强,这些处理器设计满足那些通用目的处理器难以达到的密集性计算的应处理器设计满足那些通用目的处理器

12、难以达到的密集性计算的应用需求。如为网络设备和电信工业开发的网络处理器。用需求。如为网络设备和电信工业开发的网络处理器。 还有一类嵌入式处理器关注全部还有一类嵌入式处理器关注全部4个需求。例如,移动电话中嵌个需求。例如,移动电话中嵌入式数字处理器(入式数字处理器(DSP)。在同样的时钟频率下,)。在同样的时钟频率下,DSP执行数字执行数字信号处理要比通用目的处理器速度快若干倍,这就是在移动电话信号处理要比通用目的处理器速度快若干倍,这就是在移动电话的设计上用的设计上用DSP而不用通用目的处理器的原因。而不用通用目的处理器的原因。返返讼旺逗漾堵柱知晃塌剧纬粹先卞感汰备世绕府惩凹沽濒羽涉蛔畔兢剁宫

13、屋嵌入式系原理及接口技术1嵌入式系原理及接口技术1 嵌入式微处理器的基础是通用计算机中嵌入式微处理器的基础是通用计算机中CPU。在应用中,将。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都

14、做了各种增强。性等方面一般都做了各种增强。 嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括优点,但是在电路板上必须包括ROM、RAM、总线接口、各、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。种外设等器件,从而降低了系统的可靠性,技术保密性也较差。 (如:(如:STD-BUS 、PC104) 嵌入式处理器目前主要由嵌入式处理器目前主要由Am186/88、386EX、Power PC、68000、MIPS、ARM系列等。系列等。返返深逾聋一投杉额滤慨崖育淹贪肿固狱棠势吕柳卓哎斩荚柒惊黄无

15、灼趾缀被嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返菏条逮咖贡募喇脯侄荫岂离亏爽率疮跨毖钳隶德搏漫毒狱愧骡绕摈某缓褥嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返FFTFFT(Fast Fourier TransformFast Fourier Transform)快速傅氏变换,)快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的换的算法进行改进获得的 。 一般用来计算信号的频谱、功率谱等。一般用来计算信号的频谱、功率谱等。裁赃

16、翅彭蓄痛屑狡闻赶矮酸缔眠煞婉透博诚复临杠智清乾瘤勃销实潘夫吨嵌入式系原理及接口技术1嵌入式系原理及接口技术1 嵌入式微控制器又称单片机,嵌入式微控制器一般以某种微嵌入式微控制器又称单片机,嵌入式微控制器一般以某种微处理器内核为核心,芯片内部集成处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总、总线、总线逻辑、定时线、总线逻辑、定时/计数器、计数器、WatcgDig、I/O、串行口、脉宽、串行口、脉宽调制(调制(PWM)输出、)输出、A/D、D/A、Flash RAM、EEPROM等各等各种必要功能和外设。种必要功能和外设。 微控制器的最大特点是单片化,体积大大减小,从而使功耗微控制

17、器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。因此称微控制器。 嵌入式微控制器目前的品种和数量最多,比较有代表性的通嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、数目众多、数目众多ARM芯片芯片等。等。返返洁

18、庆锭抓琐居阻畔亚霸畴丝取沥颈浙间谈恃肯叹琅倍时游镭合酚追矾甥搜嵌入式系原理及接口技术1嵌入式系原理及接口技术1 DSP处理器对系统结构和指令进行了特殊设计,使其适合于处理器对系统结构和指令进行了特殊设计,使其适合于执行执行DSP算法,编译效率较高,指令执行速度也高。在数字滤算法,编译效率较高,指令执行速度也高。在数字滤波、波、FFT、频谱分析等方面、频谱分析等方面DSP算法正在大量进入嵌入式领域,算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现应用正从在通用单片机中以普通指令实现DSP功能,过度功能,过度到采用嵌入式到采用嵌入式DSP处理器。处理器。 DSP处理器比较有代

19、表的产品是处理器比较有代表的产品是TMS320系列和系列和Motorola的的DSP5600系列。系列。TMS320系列处理器包括用于控制的系列处理器包括用于控制的C2000系列,系列,移动通信的移动通信的C5000系列,以及性能更高的系列,以及性能更高的C6000和和C8000系列。系列。DSP5600目前已经发展成为目前已经发展成为DSP5600,DSP56100,DSP56200和和DSP56300等几个不同系列的处理器。等几个不同系列的处理器。返返诌构郴牙把殃考慌礁扼瘟另疟浩椒溢弱滥着池嫂歧是垛朱信蓄诬干亡吧半嵌入式系原理及接口技术1嵌入式系原理及接口技术1 随着随着EDI的推广和的推

20、广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更复杂的系统的时代已来临,这就是现一个更复杂的系统的时代已来临,这就是System On Chip(SOC)。各种通用处)。各种通用处理器内核将作为理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。用户等语言描述,存储在器件库中。用户只需要定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作

21、样只需要定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除了个别无法集成的器件外,整个嵌入式系统大部分均可集成到一块或几品。这样除了个别无法集成的器件外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。常有利。 SOC可以分为通用和专用两类。通用系列包括可以分为通用和专用两类。通用系列包括Infineon的的TriCore,Motorola的的M-Core,某些,某些ARM系列器件,系列器件,Echelon和和Motorola联

22、合研制的联合研制的Neuron芯片等。专用芯片等。专用SOC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是Philips的的Smart XA,它将,它将XA单片机内核和支持超过单片机内核和支持超过2048位复杂位复杂RSA算法的算法的CCU单单元制作在一块硅片上,形成一个可加在元制作在一块硅片上,形成一个可加在JAVA或或C语言的专用的语言的专用的SOC,可用于公众互,可用于公众互联网如联网如Intermet安全方面安全方面。返返施段遇励墩惯厢冬爸裂劳针店翟瞬拼抽痴灌笑吏垢仟延毁铀滋静赌姜务裹嵌入式系原理及接

23、口技术1嵌入式系原理及接口技术1 使用操作系统的基本思想是隐藏底层不同硬件的差异,向在其上运行的应用程序使用操作系统的基本思想是隐藏底层不同硬件的差异,向在其上运行的应用程序提供一个统一的调用接口。应用程序通过这一接口实现对硬件的使用和控制,不必提供一个统一的调用接口。应用程序通过这一接口实现对硬件的使用和控制,不必考虑不同硬件操作方式的差异。这样软件设计人员就不必关心具体硬件的操作细节,考虑不同硬件操作方式的差异。这样软件设计人员就不必关心具体硬件的操作细节,能够专注于擅长领域的开发。能够专注于擅长领域的开发。 但是,由于编写一个操作系统来隐藏不同硬件,并提供统一的编程接口,是一件但是,由于

24、编写一个操作系统来隐藏不同硬件,并提供统一的编程接口,是一件很困难的事情。所以很多产品厂商选择购买操作系统,在此基础上开发自己的应用很困难的事情。所以很多产品厂商选择购买操作系统,在此基础上开发自己的应用程序,形成产品。事实上,因为嵌入式系统是将所有程序,包括系统程序、驱动程程序,形成产品。事实上,因为嵌入式系统是将所有程序,包括系统程序、驱动程序、应用程序的程序代码全部烧写进序、应用程序的程序代码全部烧写进ROM里执行,所以操作系统在这里的角色更像里执行,所以操作系统在这里的角色更像是一套函数库。是一套函数库。 操作系统主要完成三项任务:内存管理、多任务管理和外围设备管理。这三项机制操作系统

25、主要完成三项任务:内存管理、多任务管理和外围设备管理。这三项机制提供给应用程序设计者许多良好的特性。但是在嵌入式系统中并非必备,小型系统提供给应用程序设计者许多良好的特性。但是在嵌入式系统中并非必备,小型系统可能并不需要操作系统,但复杂的大型嵌入式系统通常会使用操作系统来进行有效可能并不需要操作系统,但复杂的大型嵌入式系统通常会使用操作系统来进行有效管理。管理。返返祝恰琴恿文从贯筏遮酣猾肛丽莉姐辉筛褐娘锗淘僳款仗肪动前蓑旋轻贰唉嵌入式系原理及接口技术1嵌入式系原理及接口技术1 大多数情况下,使用计算机来解决问题时,主要关注的是计算机的计算结果是否大多数情况下,使用计算机来解决问题时,主要关注的

26、是计算机的计算结果是否正确,至于计算机为了获得这个结果花费了多长的计算时间并不十分在意。但是,正确,至于计算机为了获得这个结果花费了多长的计算时间并不十分在意。但是,在相当一部分实际应用中,计算机系统得到结果所花费时间的长短与结果的正确性在相当一部分实际应用中,计算机系统得到结果所花费时间的长短与结果的正确性同等重要,甚至有时更为重要。同等重要,甚至有时更为重要。 为了提高系统的实时性,实时操作系统的设计应尽量满足为了提高系统的实时性,实时操作系统的设计应尽量满足5个条件:个条件: 1)必须是多任务系统)必须是多任务系统 2)内核应是可剥夺型)内核应是可剥夺型 3)任务的切换时间应与系统中的任

27、务数无关并可预知)任务的切换时间应与系统中的任务数无关并可预知 4)系统提供所有服务所需时间应尽可能短并且可预知)系统提供所有服务所需时间应尽可能短并且可预知 5)中断延迟的时间可预知并尽可能短)中断延迟的时间可预知并尽可能短返返痴誉儡莫寿剧镭缸柱刷女滞瞧我构娩泡彭怔痹惜谬续炼微谈件涅侨溃引仪嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ARM处理器系列处理器系列 ARM7(V4) ARM9(V5) ARM10 ARM11(V6) Cortex(V7)旋桑败行冕谍禁弯闻懂户罐返净人匹涸酬惰醇恐单坍碉境阂伯腻锡鸯阂婴嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ARM7 ARM7

28、 (V4/V4TV4/V4T) ARM7系列微处理器为低功耗的系列微处理器为低功耗的32位位RISC处理器,最适合用于对价位和处理器,最适合用于对价位和 功耗要求较高的消费类应用。功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点:微处理器系列具有如下特点: 具有嵌入式具有嵌入式ICERT逻辑逻辑,调试开发方便。,调试开发方便。 极低的功耗,适合对功耗要求较高的应用,如便携式产品。极低的功耗,适合对功耗要求较高的应用,如便携式产品。 能够提供能够提供0.9MIPS/MHz的三级流水线结构。的三级流水线结构。 代码密度高并兼容代码密度高并兼容16位的位的Thumb指令集。指令集。 对操作

29、系统的支持广泛,包括对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。等。 指令系统与指令系统与ARM9系列、系列、ARM9E系列和系列和ARM10E系列兼容,便于用系列兼容,便于用 户的产品升级换代。户的产品升级换代。 主频最高可达主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂,高速的运算处理能力能胜任绝大多数的复杂 应用。应用。 ARM7系列微处理器的主要应用领域为:工业控制、系列微处理器的主要应用领域为:工业控制、Internet设备、网设备、网 络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。络和调制解调器设备、移动电话等多种多媒体

30、和嵌入式应用。椽剃欲讫或五詹咋秤郧筏撰绷氨战榜湿在懒制晒钩筷凶标体韧穴促鸵张颤嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ICE-RT应该是应该是In Circuit Emulator-Rral Time缩写缩写 炳弹佃迎傲猴繁苟玄盾年卉啃展伶里贺菌鞭舒冻沁扛睹胃附廖歉讼诬雄撕嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ARM9 (V5/V5E) ARM9ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点: 5 5级整数流水线,指令执行效率更高。级整数流水线,指令执行效率更高。 提供提供

31、1.1MIPS/MHz1.1MIPS/MHz的哈佛结构。的哈佛结构。 支持支持3232位位ARMARM指令集和指令集和1616位位ThumbThumb指令集。指令集。 支持支持3232位的高速位的高速AMBAAMBA总线接口。总线接口。 全性能的全性能的MMUMMU,支持,支持Windows CEWindows CE、LinuxLinux、Palm OSPalm OS等多种主流嵌入式操等多种主流嵌入式操 作系统。作系统。 MPU MPU支持实时操作系统。支持实时操作系统。 支持数据支持数据CacheCache和指令和指令CacheCache,具有更高的指令和数据处理能力。,具有更高的指令和数据

32、处理能力。 ARM9 ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端 打印机、数字照相机和数字摄像机等。打印机、数字照相机和数字摄像机等。 仰差豪涉茄哮详透攀诞羌钩吼妙侨粮负轿忘尖饵旦迢豢蚁孜瑚空蜀魄鸯蛋嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ARM10E(V5/V5E)ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近器件相比较,在同样的

33、时钟频率下,性能提高了近50,同时,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。系列微处理器采用了两种先进的节能方式,使其功耗极低。 ARM10E系列微处理器的主要特点如下:系列微处理器的主要特点如下: 支持支持DSP指令集,适合于需要高速数字信号处理的场合。指令集,适合于需要高速数字信号处理的场合。 6级整数流水线,指令执行效率更高。级整数流水线,指令执行效率更高。 支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。 支持支持32位的高速位的高速AMBA总线接口。总线接口。 支持支持VFP10浮点处理协处理器。浮点处理协处理器。 全性能的全性能

34、的MMU,支持,支持Windows CE、Linux、Palm OS等多种主流嵌入式操等多种主流嵌入式操 作系统。作系统。 支持数据支持数据Cache和指令和指令Cache,具有更高的指令和数据处理能力,具有更高的指令和数据处理能力 主频最高可达主频最高可达400MIPS。 内嵌并行读内嵌并行读/写操作部件。写操作部件。 ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。业控制、通信和信息系统等领域。惨鸵粮淖词棕蛋寐瓢知六缀与畜丽伊妖氨惰于着宽早老镜亦靴铜潘奢垒洞嵌入式系原理及接

35、口技术1嵌入式系原理及接口技术1返返 ARM11(V6) ARM11ARM11系列微处理器是系列微处理器是ARMARM公司近年推出的新一代公司近年推出的新一代RISCRISC处理器,它是处理器,它是ARMARM新指新指令架构令架构ARMv6ARMv6的第一代设计实现。的第一代设计实现。发展目的是为了达到低功耗、低成本的高速传输发展目的是为了达到低功耗、低成本的高速传输性。性。 该系列主要有该系列主要有ARM1136JARM1136J,ARM1156T2ARM1156T2和和ARM1176JZARM1176JZ三个内核型号,分别针对不同应用三个内核型号,分别针对不同应用领域。领域。 ARMv6

36、ARMv6架构是根据下一代的消费类电子、无线设备、网络应用和汽车电子产品架构是根据下一代的消费类电子、无线设备、网络应用和汽车电子产品等需求而制定的。等需求而制定的。ARM11ARM11的媒体处理能力和低功耗特点,特别适用于无线和消费类电子的媒体处理能力和低功耗特点,特别适用于无线和消费类电子产品;其高数据吞吐量和高性能的结合非常适合网络处理应用;另外,也在实时性能产品;其高数据吞吐量和高性能的结合非常适合网络处理应用;另外,也在实时性能和浮点处理等方面和浮点处理等方面ARM11ARM11可以满足汽车电子应用的需求。可以预言,基于可以满足汽车电子应用的需求。可以预言,基于AMRv6AMRv6体

37、系结体系结构的构的ARM11ARM11系列处理器将在上述领域发挥巨大的作用。系列处理器将在上述领域发挥巨大的作用。 禽习毒冯涣矗撇井坷牟膊年呼慑捣妨共够指渐宝肯糟橇诚憨待镀耽怨仕胜嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ARM(V7) ARMv7ARMv7架构是在架构是在ARMv6ARMv6架构的基础上诞生的。该架构采用了架构的基础上诞生的。该架构采用了Thumb-2Thumb-2技技能能 ,它是在,它是在ARMARM的的ThumbThumb代码压缩技能代码压缩技能 的基础上发展起来的,并且保持了的基础上发展起来的,并且保持了对现存对现存ARMARM处理处理 方案的完整的代码兼容

38、性。方案的完整的代码兼容性。Thumb-2Thumb-2技能技能 比纯比纯3232位代码少位代码少运用运用 31 31的内存,减小了系统开销,同时能够提供比已有的基于的内存,减小了系统开销,同时能够提供比已有的基于ThumbThumb技技能能 的处理的处理 方案高出方案高出3838的性能。的性能。ARMv7ARMv7架构还采用丁架构还采用丁NEONNEON技能技能 ,将,将DSPDSP和媒体处理能力提高了近和媒体处理能力提高了近4 4倍。并支持改良的浮点运算,满足下一代倍。并支持改良的浮点运算,满足下一代3D3D图形、图形、游戏处理使用,游戏处理使用, 以及传统嵌入式控制使用的需求。以及传统嵌

39、入式控制使用的需求。 在命名方式上,基于在命名方式上,基于ARMv7ARMv7架构的架构的ARMARM处理器已经不再延用过去的数字命处理器已经不再延用过去的数字命名方式,而是冠以名方式,而是冠以CortexCortex的代呼。基于的代呼。基于v7Av7A的称为的称为“Cortex-ACortex-A系列系列”,基于,基于v7Rv7R的称为的称为“Cortex-RCortex-R系列系列”,基于,基于v7Mv7M的称为的称为“Cortex-M3Cortex-M3”。 蛾厦吱翻资叠稀以技奢砖父憋爹建咀懒疆源竣辑崔寻黔堵帜孝播圃将崭霄嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ARM 高级

40、单指令多数据高级单指令多数据( (SIMDSIMD) ) 扩展亦称扩展亦称NEON 技术,它是一种由技术,它是一种由ARM 开发的开发的64/128 64/128 位混合位混合SIMD SIMD 体系结构,可以提升多媒体和信号处理应用程序的性能。体系结构,可以提升多媒体和信号处理应用程序的性能。 持撬抒嫂于金滓礼埂淆逮闻患敲一拨讲坪钳率舔么说病滴御蚂汐谐睹岛岗嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 (Single Instruction Multiple Data(Single Instruction Multiple Data,单指令多数据流,单指令多数据流) )能够复制多个操

41、作能够复制多个操作数,并把它们打包在大型数,并把它们打包在大型寄存器寄存器的一组的一组指令集指令集, 以加法指令为例,单指令单数据(以加法指令为例,单指令单数据(SISDSISD)的)的CPUCPU对加法指令译码后,执行对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在作数;随后才能进行求和运算。而在SIMDSIMD型的型的CPUCPU中,指令译码后几个执行部中,指令译码后几个执行部件同时访问内存,一次性获得所有操作数进行运算。这个特点使件同时访问内存,一次性

42、获得所有操作数进行运算。这个特点使SIMDSIMD特别适特别适合于多媒体应用等数据密集型运算合于多媒体应用等数据密集型运算。 匈纹逸选蛙吴牲霄召屈魄冒蜕荣涸操兰译夺野佳粮许兔眼谋万记簇适狈统嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ARMTDMI ARMTDMI内核(内核(4242页)页) 5 5级流水线级流水线 具有指令缓存与数据缓存具有指令缓存与数据缓存 杖瀑屑赴际媒份巩阶牟弄筷蔼阂婴杂木听苏盘堡座盎播痕欢葱惋半卿编换嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返1 1、ARM9ARM9的结构特点的结构特点2 2、ARM9ARM9指令集特点指令集特点3 3、ARM9ARM

43、9工作模式及工作状态工作模式及工作状态呕捻爱哗爬焊脑抬棺古拉且克履转际审势谭座冯拉旁枪茅丛憋盖她勒缩慈嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 七种模式(除了用户模式都是特权模式除了系统模式都是异常模式)七种模式(除了用户模式都是特权模式除了系统模式都是异常模式) 用户(用户(UsrUsr):正常执行程序):正常执行程序 系统(系统(SysSys):运行特权操作系统任务。(特权级任务):运行特权操作系统任务。(特权级任务) 管理管理 (Svc) (Svc): 操作系统的保护模式。(系统上电后首先进入的模式)操作系统的保护模式。(系统上电后首先进入的模式) 中止中止 (Abt) (A

44、bt): 指令或数据预取中止指令或数据预取中止 未定义未定义(Und)(Und):执行未定义指令:执行未定义指令 IRQ (Irq) IRQ (Irq): 响应普通中断(硬件中断)响应普通中断(硬件中断) IRQ IRQ中断模式用于键盘、定时器、显示。中断模式用于键盘、定时器、显示。 FIQ (Fiq) FIQ (Fiq): 响应快速中断(硬件中断)响应快速中断(硬件中断) FIQ FIQ用于软盘驱动器、串口通信。用于软盘驱动器、串口通信。 工作状态工作状态 : ARM ARM态态 Thumb Thumb态态 帮溶泳峻欠汾烫帮汛郁族理矢啼惺冀塔粹整颈态蛛韶硕自掏按粮岭周禽樊嵌入式系原理及接口技

45、术1嵌入式系原理及接口技术1返返 ARMARM的存储组织结构的存储组织结构 ARMARM体系使用单一的平板地址空间体系使用单一的平板地址空间, ,该地址空间的大小为该地址空间的大小为2 23232个个8 8位字节。地址位字节。地址范围范围0-FFFFFFFFH 0-FFFFFFFFH (4G4G)。当然,也可以看成)。当然,也可以看成2 23232/2/22 2=2=23030个字,地址范围为个字,地址范围为0-3FFFFFFFH0-3FFFFFFFH。 大端存储和小端存储大端存储和小端存储 I/O I/O端口的访问方式端口的访问方式 ARM9ARM9内部寄存器内部寄存器 蒸凿浇郁唁恶汹定莆头

46、宛晃乞函租迁枕溢数余祟苫弊令若倡赠括鞘锻辨萤嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返ARM内部寄存器内部寄存器(31个通用,个通用,6个状态)个状态) UsrUsrSysSysSvcSvcAbtAbtUndUndIRQIRQFIQFIQR0R0R0R0R0R0R0R0R0R0R0R0R0R0R1R1R1R1R1R1R1R1R1R1R1R1R1R1R2R2R2R2R2R2R2R2R2R2R2R2R2R2R3R3R3R3R3R3R3R3R3R3R3R3R3R3R4R4R4R4R4R4R4R4R4R4R4R4R4R4R5R5R5R5R5R5R5R5R5R5R5R5R5R5R6R6R6R6

47、R6R6R6R6R6R6R6R6R6R6R7R7R7R7R7R7R7R7R7R7R7R7R7R7R8R8R8R8R8R8R8R8R8R8R8R8R8_fiqR8_fiqR9R9R9R9R9R9R9R9R9R9R9R9R9_fiqR9_fiqR10R10R10R10R10R10R10R10R10R10R10R10R10_fiqR10_fiqR11R11R11R11R11R11R11R11R11R11R11R11R11_fiqR11_fiqR12R12R12R12R12R12R12R12R12R12R12R12R12_fiqR12_fiq旦轧蜕乐颧碰涪笼潦奴侍丁狸抖亚生赵爹仕巢醚娘啃又庄必烽拎怎躯

48、罕统嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返SPSR_fiqSPSR_irqSPSR_abtSPSR_svcCPSRCPSRCPSRCPSRCPSRCPSRCPSRR15(PC)R15(PC)R15(PC)R15(PC)R15(PC)R15(PC)R15(PC)R14_fiqR14_irqR14_undR14_abtR14_svcR14R14R13_fiqR13_irqR13_undR13_abtR13_svcR13R13SPSR_und临诌有近韭犬掷弱宰惯茎伟此拌椰跃尉离诺讼学桂都套会册炸雅鸯粕弥锤嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返N NZ ZC CV VI I

49、F FT TM4M4M3M3M2M2M1M1M0M0状态位状态位 N:符号位:符号位 N=0 正正 N=1 负负 Z:零标志:零标志 Z=0 结果非零结果非零 Z=1 结果为零结果为零 C:进位标志:进位标志 V:溢出标志:溢出标志控制位控制位 I:IRQ中断中断允许允许 0:允许:允许 1:禁止:禁止 F:FIQ中断允许中断允许 0:允许:允许 1:禁止:禁止 T:状态:状态 0:ARM 1:Thumb 控制处理器模式控制处理器模式M4 M3 M2 M1 M0 1 0 0 0 0 User 1 0 0 0 1 FIQ 1 0 0 1 0 IRQ 1 0 0 1 1 SVC 1 0 1 1 1

50、 Abort 1 1 0 1 1 Umdefined 1 1 1 1 1 System 031两枯疹锯隅屑绪绊褪卤捕酷芒皱使昂铸鲤鸳侍铰铣涸器湘衰厨烦这恩臆臂嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返N NZ ZC CV VI IF FT TM4M4M3M3M2M2M1M1M0M0状态位状态位 N:符号位:符号位 N=0 正正 N=1 负负 Z:零标志:零标志 Z=0 结果非零结果非零 Z=1 结果为零结果为零 C:进位标志:进位标志 控制位控制位 V:溢出标志:溢出标志 I:IRQ中断中断允许允许 0:允许:允许 1:禁止:禁止 F:FIQ中断允许中断允许 0:允许:允许 1:禁止

51、:禁止 T:状态:状态 0:ARM 1:Thumb 控制处理器模式控制处理器模式M4 M3 M2 M1 M0 1 0 0 0 0 User 1 0 0 0 1 FIQ 1 0 0 1 0 IRQ 1 0 0 1 1 SVC 1 0 1 1 1 Abort 1 1 0 1 1 Umdefined 1 1 1 1 1 System 031驮斤寞舆稀毅敛柳沥睁汽罚洗缘枣氢急裸告儡眩酣惩午悍骂爽查揪苯灌违嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返CodeWarrior for ARM集成开发环境是集成开发环境是ADS1.2(ARM Developer Suite)开发工具中)开发工具中的重要

52、组成部分。配套的程序调试器采用的重要组成部分。配套的程序调试器采用AXD摧戈财盛援竿漱瘦找蔚欧涝簇剐泞熟抚冶踢赌锯桨违回舞沉馆因惯侍懂敏嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返萌贺聪栈灸茵臃唯驾伍绽浦浮榨扳付柑寺镶鹿央醉息筑幼兑裤债砚揩企贿嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返Windows CEWindows CE就是基于掌上型电脑类的电子设备操作系就是基于掌上型电脑类的电子设备操作系统。其中统。其中CECE中的中的C C代表袖珍(代表袖珍(CompactCompact)、消费)、消费(ConsumerConsumer)、通讯能力()、通讯能力(Connectivi

53、tyConnectivity)和伴侣)和伴侣(CompanionCompanion););E E代表电子产品(代表电子产品(ElectronicsElectronics)。)。 (基本内核至少需(基本内核至少需200KB200KB的的ROMROM) 瞅抡狗脊贰踩应体茶逞巷休芦莉骤罢凛篇栅昧斜庭蹦糙撵可限胃岔超兴磺嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返VxWorksVxWorks操作系统是操作系统是美国溫瑞尔美国溫瑞尔(WindRiverWindRiver)公司于)公司于19831983年设计开发的一年设计开发的一种种嵌入式实时操作系统(嵌入式实时操作系统(RTOSRTOS),),

54、是嵌入式开发环境的关键组成部分。良是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的好的持续发展能力、高性能的内核内核以及友好的用户开发环境,在嵌入式实以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的F-16F-16、F/A-18F

55、/A-18战斗机、战斗机、B-2B-2隐形轰炸机和爱国者导弹隐形轰炸机和爱国者导弹上,甚至连上,甚至连19971997年年7 7月在月在火星火星表面登陆的表面登陆的火星探测器火星探测器,20082008年年5 5月在月在火星火星表面上登陆的表面上登陆的凤凰号火星探测器凤凰号火星探测器上也都使用到了上也都使用到了VxWorksVxWorks 淄追内息烘疼宠醛察景咀伍咏杯漳拿涌庇侩呆蹦顶债都浮并抄鼻痛看戚掺嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返Linux Linux 操作系统是操作系统是UNIX UNIX 操作系统的一种克隆系统。它诞生于操作系统的一种克隆系统。它诞生于1991 19

56、91 年的年的10 10 月月5 5 日(这是第一次正式向外公布的时间)。以后借助于日(这是第一次正式向外公布的时间)。以后借助于Internet Internet 网络,网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种最多的一种UNIX UNIX 类操作系统,并且使用人数还在迅猛增长。类操作系统,并且使用人数还在迅猛增长。 Linux Linux 操作系统的诞生、发展和成长过程始终依赖着以下五个重要支操作系统的诞生、发展和成长过程始终依赖着以下五个重要支柱:柱:UNIX UNIX 操作系统、操作系

57、统、MINIXMINIX 操作系统、操作系统、GNUGNU 计划、计划、POSIX POSIX 标准标准和和Internet Internet 网络。网络。 噶烷抬毯掏叠冷焰剁赠叫荤卉斜栗寄蓟奄磕钱缄稼驻住枯岔态沏猖猫阂翼嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返GNUGNU计划,又称革奴计划,是由计划,又称革奴计划,是由Richard StallmanRichard Stallman在在19831983年年9 9月月2727日公开发起的。它的目标是创建一套完全自由的日公开发起的。它的目标是创建一套完全自由的操作系统操作系统。Richard StallmanRichard Stall

58、man最早是在最早是在net.unix-wizardsnet.unix-wizards新闻组上公布该新闻组上公布该消息,并附带一份消息,并附带一份GNUGNU宣言等解释为何发起该计划的文章,宣言等解释为何发起该计划的文章,其中一个理由就是要其中一个理由就是要“重现当年软件界合作互助的团结精神重现当年软件界合作互助的团结精神”。电水佣介堕捎愤畏呻虚研什态牌有雨招路今诞蓟生芒那垢撂台州承黎贴舆嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 uC/OS-II的前身是的前身是C/OS,最早出自于,最早出自于1992 年年美国美国嵌入式系统专家嵌入式系统专家Jean J.Labrosse 在嵌入式

59、系统编在嵌入式系统编程杂志的程杂志的5 月和月和6 月刊上刊登的文章连载,并把月刊上刊登的文章连载,并把C/OS 的源码发布在该杂志的的源码发布在该杂志的B B S 上上 括谓凄叹骂掖猫俱疼久政窑宁巳卞蛾匪锤鳃锋掷并辞尿果渝刽寥逛险坠绘嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返POSIX POSIX 表示可移植操作系统接口(表示可移植操作系统接口(Portable Portable Operating System Interface Operating System Interface ,缩写为,缩写为 POSIX POSIX 是为是为了读音更像了读音更像 UNIX UNIX)。电

60、气和电子工程师协会)。电气和电子工程师协会(Institute of Electrical and Electronics Institute of Electrical and Electronics EngineersEngineers,IEEEIEEE)最初开发)最初开发 POSIX POSIX 标准,是为了提标准,是为了提高高 UNIX UNIX 环境下应用程序的可移植性。然而,环境下应用程序的可移植性。然而,POSIX POSIX 并不局限于并不局限于 UNIX UNIX。 域肉沸与兽抡毅题痊递采柴蓬叼撩谅例糙李告据惜惹吓襄蹲隙撬戌赌茎窘嵌入式系原理及接口技术1嵌入式系原理及接口技术

61、1返返MinixMinix原来是荷兰阿姆斯特丹的原来是荷兰阿姆斯特丹的VrijeVrije大学计算机科学大学计算机科学系的系的Andrew S. TanenbaumAndrew S. Tanenbaum教授所开发的一个类教授所开发的一个类UnixUnix操作系统。全部的程序码共约操作系统。全部的程序码共约12,00012,000行,并置于他的行,并置于他的著作著作Operating Systems: Design and Operating Systems: Design and Implementation(ISBN 0-13-637331-3)Implementation(ISBN 0-1

62、3-637331-3)的附录里作为的附录里作为范例。范例。MinixMinix的系统要求在当时来说非常简单,只要的系统要求在当时来说非常简单,只要三片磁片就可以启动。三片磁片就可以启动。 。 斧厄瑟魂郧蝗绳含辫便格票扣羞曙拷晃蚁滚吴聊逝瞻许盲劫稗沉琵芒悔川嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返数据传送与数据处理数据传送与数据处理指令的后缀指令的后缀 S S、!、!、B B、H H 条件后缀(见条件后缀(见P59P59页)页)字节传送与半字传送字节传送与半字传送 涅象怨码堡迪雌湘贝汗歪馈企拄诸聊毋忙帽怠缎抚靖哇榜暑馈蓬碾激恢汛嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返单一

63、数据单一数据 加载加载 LDRLDR 存储存储 STRSTR 数据块数据块 加载加载 LDMLDM 存储存储 STMSTM数据交换数据交换 SWPSWP 菩葡应酗韶寐绎洋悸启哥扎胀弦橙处虚魄宛花顶缉糕蝶得诸转雾勤徘换蔚嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 LDM LDMIAIA R0,R1-R7 R0,R1-R7 LDM LDMFDFD R13,R1-R5 R13,R1-R5 LDMIA R0!,R1-R7 LDMIA R0!,R1-R7 LDMFD R13!,R1-R5 LDMFD R13!,R1-R5 LDMFD R13!,R1-R8 LDMFD R13!,R1-R8,PC

64、PC把份藩铱说娜秸曳掺匈戎仁竿栖速曼渠拔兹块颁像丘再喧阂拂伤枣铃哦嫂嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 STMSTMIAIA R0,R1-R7 R0,R1-R7 STM STMFDFD R13,R1-R5 R13,R1-R5 STMIA R0!,R1-R7 STMIA R0!,R1-R7 STMFD R13!,R1-R5,LR STMFD R13!,R1-R5,LR说明:说明:1 1)只能在)只能在3232位字传送使用位字传送使用2 2)寄存器列表不能空)寄存器列表不能空3 3)当加载)当加载R15R15时,将立即引起程序转移时,将立即引起程序转移4 4)基址在指令执行后自然

65、增)基址在指令执行后自然增4 4或减或减4 46 6)必选两类后缀()必选两类后缀(FDFD、FAFA、EDED、EAEA、IAIA、IBIB、DADA、DBDB)斡崖琶观氓囚乡衙泣墟践相局歉班龟斥触爸菜剔杯肩十缨墩栗雾伟坐晓阮嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返SWPNE R5,R0SWPNE R5,R0,R6 R6 SWP R5,R5SWP R5,R5,R7R7说明:说明: 1 1)寄存器位置不能空,必须满足)寄存器位置不能空,必须满足3 3个寄存器个寄存器 2 2)不能使用)不能使用R15R15 3 3)源与目的寄存器可以使用同一个寄存器。)源与目的寄存器可以使用同一个寄

66、存器。 许些伸君月斑赞沮邮均泥静占获迁输贝佳罩茅滩师营荧心沉蛇籍鳞堵南李嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返LDR R0,SVARLDR R0,SVARLDR R0,R1LDR R0,R1LDR R0,R1,#4LDR R0,R1,#4LDR R0,R1,#-4LDR R0,R1,#-4LDR R0,R1,R2LDR R0,R1,R2LDR R0,R1,R2,LSL #2LDR R0,R1,R2,LSL #2LDR R0,R1,#4!LDR R0,R1,#4!LDR R0,R1,R2!LDR R0,R1,R2!LDR R0,R1,R2,LSL #2!LDR R0,R1,R2,L

67、SL #2!LDR R0,R1,#4LDR R0,R1,#4LDR R0,R1,R2LDR R0,R1,R2LDR R0,R1,R2,LSL #2LDR R0,R1,R2,LSL #2施埃知宠鳞蕾诊摘骂法焉平扳磅钝梧簿荆老原蝇悔吗闷厢朝吵拥陪案巢琼嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 STR R0,R1,#4STR R0,R1,#4 STR R0,R1,R2 STR R0,R1,R2 STR R0,R1,R2,LSL #2 STR R0,R1,R2,LSL #2 STR R0,R1,#-4 STR R0,R1,#-4 STR R0,R1,R2 STR R0,R1,R2 STR

68、R0,R1,R2,LSL #2 STR R0,R1,R2,LSL #2说明:说明: 1 1)关于)关于R15R15 R15 R15若为基址,不可使用!后缀。若为基址,不可使用!后缀。 R15 R15不能作为偏移寄存器使用不能作为偏移寄存器使用 加载加载R15R15时不能使用后缀时不能使用后缀B B或或T T 2 2)立即数偏移使用)立即数偏移使用1212位立即数。位立即数。 益炮脉听驭镐爹寻岗次刨邱喇免罗贬畔湾俭蒸转梗氨池因蓖唱缓多房馈母嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 存储器存储器 IA IA 数据传送后地址增加数据传送后地址增加 IB IB DA DA DB DB 堆栈

69、堆栈 FD FD ED ED FA FA EA EA 注:注:数据块传送使用的后缀数据块传送使用的后缀(61页)页)檬譬菏堤餐贪令透筋夸潞测拌鞋惑恤哗汝单蹄感窝抠块咏乘樱蔚狂承娶恫嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 算数运算算数运算 ADDADD、ADCADC、SUBSUB、SBCSBC、RSBRSB、RSCRSC、MULMUL、MLAMLA 逻辑运算逻辑运算 ANDAND、ORRORR、EOREOR、BICBIC 数据传送数据传送 MOVMOV、MVNMVN 数据比较数据比较 CMPCMP、CMNCMN、TSTTST、TEQTEQ 程序状态寄存器传送指令程序状态寄存器传送指

70、令 MRSMRS、MSRMSR孙伊跟醇瘁您挠计骏哈辛坠脚炕殖吵阶颜亭坯戈酱撵恬柒粗伟坷沿帮祈谨嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返指令格式指令格式 ADD ADD ADC ADC SUB SUB SBC SBC RSB RSB RSC RSC关于第三操作数的要求关于第三操作数的要求: 1 1个个8 8位的无符号数值常量,用位的无符号数值常量,用0 0填充到填充到3232位后,循位后,循环移位偶次后得到的环移位偶次后得到的3232位数值位数值。R1R1,R2R2,R3R3R1R1,R2R2,# 4# 4R1R1,R2R2,R3R3,ASL #4ASL #4R1R1,R2R2,R3

71、R3,LSL # R7LSL # R7私茹金士蘸妇熬硷辣背翱衬颖簿喇频晤咀虏消嚏烂痢喘祭掷碌衙父询下噪嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返指令格式指令格式 AND AND ORR ORR EOR EOR BIC BIC R1R1,R2R2,R3R3R1R1,R2R2,# 4# 4R1R1,R2R2,R3R3,ASL #4ASL #4R1R1,R2R2,R3R3,LSL # R7LSL # R7菲眯闻衰挤跟杠包守征绒旦挫藏喜坎束摧慷陇够篙杯舍嘴茨暗佑号葵僵韩嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返指令格式指令格式 MOV MOV MVN MVN R1R1,R2R2R1

72、R1,# 4# 4R1R1,R3R3,ASL #4ASL #4R1R1,R3R3,LSL # R7LSL # R7绚缓哪巧吊死列颤赌洒并端弊竣研睡癌晓颐顿会含胖宠饺消铝鳖宇锅子芹嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返例:例: CMP CMP CMN CMN TST TST TEQ TEQ R1R1,R2R2R1R1,# 4# 4R1R1,R3R3,ASL #4ASL #4R1R1,R3R3,LSL # R7LSL # R7赣悸胎措发赡韦蕴密饲替肃秉矗捣蠕耻轧烘不肌翁诉拆躁旅硬蕴逸煎摘墅嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返指令格式指令格式 MRS R1 MRS R1

73、,CPSRCPSR MRS R1 MRS R1,SPSR SPSR MSR CPSR MSR CPSR_cxsf,R1,R1 MSR CPSR MSR CPSR_cxsf,# 4,# 4位域位域: :c 7:0c 7:0、x8:15x8:15、s23:16s23:16、f31:24f31:24注意:不能使用注意:不能使用S S后缀后缀 励画戴告破粹状酌曰戳细氧趟第量匠届茶诀听其衔车幂树修捉动磁肋腺桓嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 MUL R1 MUL R1,R2,R3 R2,R3 MLA R1 MLA R1,R2R2,R3R3,R4R4 注意:乘法指令只能使用寄存器寻址,

74、但不包括注意:乘法指令只能使用寄存器寻址,但不包括R15R15。母册逢件铝溜松魏苫嚷无咋移新样叮静誓勤琢淀两斌投流叫庸绸件殃助笛嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返例:例: 01H 00000001H 01H 00000001H 左循环左循环4 4位位 00000010H 00000010H08H 00000008H 08H 00000008H 左循环左循环1616位位 00080000H 00080000H1FH 0000001FH 1FH 0000001FH 右循环右循环2424位位 00001F00H 00001F00HFFH 000000FFH FFH 000000FF

75、H 循环循环0 0位位 000000FFH 000000FFHFDH 000000FDH FDH 000000FDH 左循环左循环1010位位 0003F400H 0003F400H0FH 0000000FH 0FH 0000000FH 右循环右循环4 4位位 F0000000H F0000000H下列是不符合要求的第三操作数:下列是不符合要求的第三操作数:0X1010X101、0X2010X201、0XFF10XFF1、0XFF0000010XFF000001、0X101000010X10100001恕懦皱镜卡酶斟阵缠拽范握座镜聚妨奄适瞒焚租彰妥廖见仇撅翘哈符经议嵌入式系原理及接口技术1嵌入

76、式系原理及接口技术1返返立即数为表达式立即数为表达式ADD R1,R2,#2+2*2ADD R1,R2,#2+2*2ADD R1,R2,#2_11010010ADD R1,R2,#2_11010010ADD R1,R2,#0XFF:MOD:08ADD R1,R2,#0XFF:MOD:08ADD R1,R2ADD R1,R2,#0X80:ROL:04#0X80:ROL:04ADD R1,R2,#0XFF0000:AND:660000ADD R1,R2,#0XFF0000:AND:660000迎揽参喇团刺黄腥企耘帕座按柑痰癸野觅冬溜批除彤讹堕老雇褂肚拣机酪嵌入式系原理及接口技术1嵌入式系原理及接口

77、技术1返返 分支指令分支指令 B B 带链接的分支指令带链接的分支指令 BL BL 墙萨绥柿目息伴脱擞凸逞帘费坍颁九寥鹊疯俄标菜久涧严丹敞雪邮捅毖茧嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 SWI SWI SWI 0 SWI 0 SWI 7 SWI 7例:例:用用SWISWI指令能否实现指令能否实现80868086中中INT 21HINT 21H指令的功能指令的功能? 通过寄存器传递功能号通过寄存器传递功能号 用用SWISWI指令传递功能号指令传递功能号 智曝兑谨决辜咙蓄奋灰瓶荒且界褒窝潞名墟钥抖时言甚慎啄胳皋闯败纷幽嵌入式系原理及接口技术1嵌入式系原理及接口技术1Vectors

78、Vectors LDR PC, ResetAddr LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, PrefetchAddr LDR PC, DataAbortAddr LDR PC, DataAbortAddr DCD 0 DCD 0 LDR PC, IRQ_Addr LDR PC, IRQ_Addr LDR PC, FIQ_Addr LDR PC, FIQ_AddrResetAddr DCD

79、 ResetInitResetAddr DCD ResetInitUndefinedAddr DCD UndefinedUndefinedAddr DCD UndefinedSWI_Addr DCD SoftwareInterruptSWI_Addr DCD SoftwareInterruptPrefetchAddr DCD PrefetchAbortPrefetchAddr DCD PrefetchAbortDataAbortAddr DCD DataAbortDataAbortAddr DCD DataAbortNouse DCD 0Nouse DCD 0IRQ_Addr DCD IRQ_

80、ExceptionIRQ_Addr DCD IRQ_ExceptionFIQ_Addr DCD FIQ_HandlerFIQ_Addr DCD FIQ_Handler ResetInit ResetInit MOV R0 MOV R0,功能号,功能号 SWI 0 SWI 0 SoftwareInterruptSoftwareInterrupt MOV R0 MOV R0,R0R0,LSL # 2LSL # 2 ADD PC,PC,R0 ADD PC,PC,R0 NOP NOP B P0 B P0 B P1 B P1 B P2 B P2 P2 P2 MOV PC,LR MOV PC,LR 返返馋

81、颈抖褒片惜铝邢窒盅拟福甚数磨耕烙涟揖蒙灶瞅奴绥气碳申吐汤鸥疲眯嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返Vectors Vectors LDR PC, ResetAddr LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, PrefetchAddr LDR PC, DataAbortAddr LDR PC, DataAbortAddr DCD 0 DCD 0 LDR PC, IRQ_Add

82、r LDR PC, IRQ_Addr LDR PC, FIQ_Addr LDR PC, FIQ_AddrResetAddr DCD ResetInitResetAddr DCD ResetInitUndefinedAddr DCD UndefinedUndefinedAddr DCD UndefinedSWI_Addr DCD SoftwareInterruptSWI_Addr DCD SoftwareInterruptPrefetchAddr DCD PrefetchAbortPrefetchAddr DCD PrefetchAbortDataAbortAddr DCD DataAbortD

83、ataAbortAddr DCD DataAbortNouse DCD 0Nouse DCD 0IRQ_Addr DCD IRQ_ExceptionIRQ_Addr DCD IRQ_ExceptionFIQ_Addr DCD FIQ_HandlerFIQ_Addr DCD FIQ_Handler ResetInit ResetInit SWI SWI 功能号功能号 SoftwareInterruptSoftwareInterrupt LDR R0 LDR R0,LR,#-4 LR,#-4 BIC R0 BIC R0,R0R0,#0XFF000000#0XFF000000 MOV R0 MOV

84、R0,R0,LSL #2R0,LSL #2 ADD PC,PC,R0 ADD PC,PC,R0 NOP NOP B P0 B P0 B P1 B P1 B P2 B P2 P2 P2 MOV PC,LR MOV PC,LR 灶慎赞赊耙柔抢醚铬雷仅驾熄掠味殷截咒玛仰互滑鼎温眩编撒丁摹达珐娱嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返与与ARMARM指令相关的伪指令指令相关的伪指令 ADRADR ADRLADRL LDRLDR LDR LDR 指令与指令与LDRLDR、ADRADR、ADRLADRL伪指令的区别伪指令的区别通用伪指令通用伪指令 DCB DCB、DCWDCW、DCDDCD S

85、PACESPACE AREAAREA、ENTRYENTRY、CODE32CODE32、IMPORTIMPORT、EXPORTEXPORT 铂钦茧授但垛携匪刹管遵涩纱浙伏庶出抹径阳幕檄敦额嘉户骆蒋锰元饮辣嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 汇编程序规则汇编程序规则 格式格式 表达式表达式 关于常量与预定义变量关于常量与预定义变量 关于混合语言编程关于混合语言编程ARMARM连接器生成的符号连接器生成的符号汇编程序设计举例汇编程序设计举例关于关于BOOTLOADERBOOTLOADER 隆盅楷帜唱厂际驭拐铃知荚且惠椎滚皿约朱争法塑察皮拯驭嗓访松责芯狂嵌入式系原理及接口技术1嵌入式

86、系原理及接口技术1返返大多数分为两个阶段,第一个阶段主要是包含依赖于大多数分为两个阶段,第一个阶段主要是包含依赖于CPUCPU的体系结的体系结构的硬件初始化代码,通常都是用汇编语言来实现的。这个阶段的构的硬件初始化代码,通常都是用汇编语言来实现的。这个阶段的任务有:任务有:基本的硬件设备初始化(屏蔽所有中断、关闭处理器内部指令基本的硬件设备初始化(屏蔽所有中断、关闭处理器内部指令/ /数据数据CACHECACHE等)等)为第二阶段准备为第二阶段准备RAMRAM空间空间如果是从某个固态存储媒质中,则复制如果是从某个固态存储媒质中,则复制BOOTLOADERBOOTLOADER的第二阶段代码到的第

87、二阶段代码到RAMRAM设置堆栈设置堆栈跳转到第二阶段的跳转到第二阶段的C C程序入口点程序入口点 第二阶段通常是由第二阶段通常是由C C语言实现的,这个阶段的主要任务有:语言实现的,这个阶段的主要任务有:初始化本阶段所要用到的硬件设备初始化本阶段所要用到的硬件设备检测系统的内存映射检测系统的内存映射将内核映像和根文件系统映像从将内核映像和根文件系统映像从FLASHFLASH读到读到RAMRAM为内核设置启动参数为内核设置启动参数调用调用OSOS内核内核仕辱尖篱吹庸舔皮珍峻威奎涤竖握酥闺恍饼哑黑晋韩陷汕需疙艳曹申彼爸嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返与域有关的有关的符号与域有

88、关的有关的符号 |Ioad$region_name$ |Ioad$region_name$ BaseBase | | |Image$ |Image$ region_nameregion_name $Base|$Base| |Image$ region_name |Image$ region_name $Length|$Length| |Image$ region_name |Image$ region_name $Limit|$Limit| 与输出段有关的符号与输出段有关的符号 |Image$RO$Base|Image$RO$Base| |Image$RO$Limit| |Image$RO$L

89、imit| |Image$RW$Base| |Image$RW$Base| |Image$RW$Limit| |Image$RW$Limit| |Image$ZI$Base| |Image$ZI$Base| |Image$ZI$Limit| |Image$ZI$Limit|咋糜属汞幂匣躲志喜媒向列疏怪乏涂皋骄脊代彝私邵苟惟逝涉抚三遇蛇浊嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返蕴承枯仔灿两樊遥蘑烯缆颂梁汤看即酶辣奇椰船极荐犹瘩寇音庇馅搏蛰厄嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 C C程序中嵌入汇编程序程序中嵌入汇编程序 C C程序调用汇编程序程序调用汇编程序 汇编程序

90、调用汇编程序调用C C程序程序矿挂悉拖饿磋分珐靴定氛串傣毡揣肉勾摔险纯钨笔脾固邢颖酣孙惟荔持咯嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 EXPORT ADDEXPORT ADD AREA Code1,CODE,READONLY AREA Code1,CODE,READONLY CODE32 CODE32 ENTRY ENTRYADDADD ADD R0,R0,R1 ADD R0,R0,R1 LDR PC,LR LDR PC,LR END END void Mainvoid Main(voidvoid) int i=200,j=300,sum; int i=200,j=300,sum

91、; sum = ADD(I,j sum = ADD(I,j);); 诅促锋田甩陡佑赤瞥烽敞凡疹旗蹈曳纺谜供系驾琢磁痴氧苔猴呼撒拭饿松嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 IMPORT MainIMPORT Main IMPORT Add IMPORT Add AREA Code1,CODE,READONLY AREA Code1,CODE,READONLY CODE32 CODE32 ENTRY ENTRYS S BL Add BL Add MOV R1,R0 MOV R1,R0 BL Main BL Main END ENDint Addint Add(voidvoid) i

92、nt i=200,j=300,sum; int i=200,j=300,sum; sum = i+j sum = i+j; return(sum) return(sum) 给惭惨镣例率愁吃威指澎卓促挚廊逼终恫甲木赂珊宽祥勋杀质云真克片炳嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 void Main(void)void Main(void) int tem; int tem; _asm _asm MRS tem,CPSR MRS tem,CPSR ORR tem,tem,#0x80 ORR tem,tem,#0x80 MSR CPSR_c,tem MSR CPSR_c,tem 全矩湃惹

93、渝雷发可糯恶壁笆肮动险乌轮羞啼奴穗烫纠它郑绵阑绳戴苹核壤嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 常量的定义常量的定义 关于关于ATPCSATPCS规则规则 卯磐螟颊岸磕磊故葛山欣兹赴清纱友渔潞绍第绎味胰泻机娥肛织定箍阶皂嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ATPCSATPCS(ARM-Thumb Procedure Call StandardARM-Thumb Procedure Call Standard)ARMARM和和ThumbThumb程程序子程序调用的基本规则。该规则包括以下三个方面:序子程序调用的基本规则。该规则包括以下三个方面: 各寄存器的使用规则

94、及其名称各寄存器的使用规则及其名称(教材(教材P80P80页)页) 数据栈的使用规则数据栈的使用规则 参数传递的规则参数传递的规则 伟操邑掖脯莆元额提冰迅滇纷凌换硫敬笼育砌氰孝驶刻哎闯腹承蹦阑丢征嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 当参数不超过当参数不超过4 4个时通过个时通过R0-R3R0-R3来传递参数。来传递参数。 返回值小于返回值小于3232位时用位时用R0R0,若大于,若大于3232位用位用R0R0和和R1R1。 既凝影换诊甲培偏饰沮飞涟篷烩陡钩给弹墓擒纲荷惟姬偶岗烽泽桌拢迂掂嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 寄存器寄存器寄存器寄存器别名别名别名

95、别名特殊名称特殊名称特殊名称特殊名称R15R15R15R15PCPCPCPCR14R14R14R14LRLRLRLRR13R13R13R13SPSPSPSPR12R12R12R12ipipipipR11R11R11R11v8v8v8v8 R10R10R10R10v7v7v7v7slslslslR9R9R9R9v6v6v6v6sbsbsbsbR8R8R8R8v5v5v5v5R7R7R7R7v4v4v4v4wrwrwrwrR6R6R6R6v3v3v3v3R5R5R5R5v2v2v2v2R4R4R4R4v1v1v1v1R3R3R3R3a4a4a4a4R2R2R2R2a3a3a3a3R1R1R1R1a

96、2a2a2a2R0R0R0R0a1a1a1a1酸粹时斟诞晶垃蚌符头陡诗带盅呛臀氧烬垛酗雌波裕出拘吵锯紊薄清谷恶嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ADDR EQU 0X56000000ADDR EQU 0X56000000 COUNT EQU 20 COUNT EQU 20今棉饵凶蹋笼歧庆究玲堡唤暇吃侩夯扎誉债淳抵党蝶侨盟郑刀谓票茵液拂嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返标号标号 指令(伪指令)目的操作数,操作数指令(伪指令)目的操作数,操作数1 1,操作数,操作数2 2 ;注释;注释例:例: AREA START,CODE,READONLY AREA STA

97、RT,CODE,READONLYS LDR R0,R1S LDR R0,R1VR1 DCD 1,2,3VR1 DCD 1,2,3 瘪汇榷檄乖祁仲幢牟掣烟纠棕矣都阔甥扎当废溯中陨焙颓敌讫矩铭听扛做嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 1 1)算数:)算数:+ +、- -、* *、/ /、MODMOD 2 2)移位:)移位:SHLSHL、SHRSHR、ROLROL、RORROR 3 3)逻辑:)逻辑:ANDAND、OROR、EOREOR 例:例: MOV R0,#R1+1*3MOV R0,#R1+1*3 SUB R1,R2,#0X2:SHL:2 SUB R1,R2,#0X2:SHL

98、:2 ADD R2,R3,#0X08:EOR:0X08 ADD R2,R3,#0X08:EOR:0X08 MOV R0,#0X1|0X2|0X3MOV R0,#0X1|0X2|0X3邓服睡绷字瞥抿勒秦戌恩妻瓤虏麓瓷盛客氦谱娟您蜡篡暖筷炼洗右棵笋娱嵌入式系原理及接口技术1嵌入式系原理及接口技术1例例1 1:数据块拷贝:数据块拷贝 AREA Example2,CODE,READONLYAREA Example2,CODE,READONLYNUM EQU 20NUM EQU 20 ENTRY ENTRY CODE32 CODE32START START LDR R0,=SRC LDR R0,=SRC

99、 LDR R1,=DST LDR R1,=DST MOV R2,#NUM MOV R2,#NUM MOV SP,#0X400 MOV SP,#0X400 MOVS R3,R2,LSR #3 MOVS R3,R2,LSR #3 BEQ KK1 BEQ KK1 STMFD SP!,R4-R11 STMFD SP!,R4-R11KK2KK2 LDMIA R0!,R4-R11 LDMIA R0!,R4-R11 STMIA R1!,R4-R11 STMIA R1!,R4-R11 SUBS R3,R3,#1 SUBS R3,R3,#1 BNE KK2 BNE KK2 LDMFD SP!,R4-R11 LD

100、MFD SP!,R4-R11 KK1KK1 ANDS R2,R2,#7 ANDS R2,R2,#7 BEQ STOP BEQ STOP KK3 KK3 LDR R3,R0,#4 LDR R3,R0,#4 STR R3,R1,#4 STR R3,R1,#4 SUBS R2,R2,#1 SUBS R2,R2,#1 BNE KK3 BNE KK3 STOP STOP NOP NOP AREA BLOCKDATA,DATA,READWRITEAREA BLOCKDATA,DATA,READWRITESRC DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4 SRC

101、DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4 DST DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DST DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ENDEND 冶巧炮呈刃朋苦藐指耍急皇嗽怯萤打损误脯睦油连镁郑窄又攘赔盈锡霸埔嵌入式系原理及接口技术1嵌入式系原理及接口技术1例例2 2:冒泡排序:冒泡排序N EQU 10N EQU 10 AREA Code1,CODE,READONLY AREA Code1,CODE,READONLY CODE32 CODE32 ENTRY

102、 ENTRYS S MOV R0,#N MOV R0,#N SUB R0,R0,#1 SUB R0,R0,#1K1K1 MOV R1,R0 MOV R1,R0 ADR R2,STR1 ADR R2,STR1K K LDR R3,R2,#4 LDR R3,R2,#4 LDR R4,R2 LDR R4,R2 CMP R3,R4 CMP R3,R4 SWPHS R3,R3,R2 SWPHS R3,R3,R2 STRHS R4,R2,#-4STRHS R4,R2,#-4 SUB R1,R1,#1 SUB R1,R1,#1 CMP R1,#0 CMP R1,#0 BNE K BNE K SUB R0,R

103、0,#1 SUB R0,R0,#1 CMP R0,#0 CMP R0,#0 BNE K1 BNE K1 NOP NOPSTR1 DCD 1,4,6,7,5,2,3,8,10,9STR1 DCD 1,4,6,7,5,2,3,8,10,9 END END苟续袜藐多缀弊兑糠敢朽劫柜砾淑匪质莹锄淌口贸枣贸掠蹄鳞苍哟挑挥辞嵌入式系原理及接口技术1嵌入式系原理及接口技术1例例3 3:程序散转:程序散转 AREA JUMP,CODE,READONLYAREA JUMP,CODE,READONLYNUM EQU 2NUM EQU 2 ENTRY ENTRY CODE32 CODE32 START START

104、MOV R0,#0 MOV R0,#0 MOV R1,#3 MOV R1,#3 MOV R2,#2 MOV R2,#2 BL KK1 BL KK1 NOP NOPKK2KK2 B KK2 B KK2 KK1KK1 CMP R0,#NUM CMP R0,#NUM MOVHS PC,LR MOVHS PC,LR ADR R3,JTAB ADR R3,JTAB LDR PC,R3,R0,LSL #2 LDR PC,R3,R0,LSL #2JTABJTAB DCD DOADD DCD DOADD DCD DOSUB DCD DOSUBDOADDDOADD ADD R0,R1,R2 ADD R0,R1,

105、R2 MOV PC,LR MOV PC,LRDOSUBDOSUB SUB R0,R1,R2 SUB R0,R1,R2 MOV PC,LR MOV PC,LR END END碗研伎迂苟凝仪辕哥虾瓷潜饭老亥锋闻息怠物季京樊犯酬腿浮醇皋讥阅讲嵌入式系原理及接口技术1嵌入式系原理及接口技术1例例4 4 堆栈初始化堆栈初始化USR_STACK_LEGTH EQU 64USR_STACK_LEGTH EQU 64SVC_STACK_LEGTH EQU 16SVC_STACK_LEGTH EQU 16FIQ_STACK_LEGTH EQU 16FIQ_STACK_LEGTH EQU 16IRQ_STACK_

106、LEGTH EQU 64IRQ_STACK_LEGTH EQU 64ABT_STACK_LEGTH EQU 0ABT_STACK_LEGTH EQU 0UND_STACK_LEGTH EQU 0 UND_STACK_LEGTH EQU 0 Mode_USR EQU 0x10Mode_USR EQU 0x10Mode_FIQ EQU 0x11Mode_FIQ EQU 0x11Mode_IRQ EQU 0x12Mode_IRQ EQU 0x12Mode_SVC EQU 0x13Mode_SVC EQU 0x13Mode_ABT EQU 0x17Mode_ABT EQU 0x17Mode_UND E

107、QU 0x1BMode_UND EQU 0x1BMode_SYS EQU 0x1F Mode_SYS EQU 0x1F I_BIT EQU 0x80 I_BIT EQU 0x80 F_BIT EQU 0x40F_BIT EQU 0x40 糜假台辽拈荡府涛敬矛巴傲坷肤猴娥莽堂留妹醇忿灭界牡魔昌浚柠该栽丰嵌入式系原理及接口技术1嵌入式系原理及接口技术1StackUsr DCD UsrStackSpace + (USR_STACK_LEGTH - 1)* 4StackUsr DCD UsrStackSpace + (USR_STACK_LEGTH - 1)* 4StackSvc DCD SvcSta

108、ckSpace + (SVC_STACK_LEGTH - 1)* 4StackSvc DCD SvcStackSpace + (SVC_STACK_LEGTH - 1)* 4StackIrq DCD IrqStackSpace + (IRQ_STACK_LEGTH - 1)* 4StackIrq DCD IrqStackSpace + (IRQ_STACK_LEGTH - 1)* 4StackFiq DCD FiqStackSpace + (FIQ_STACK_LEGTH - 1)* 4StackFiq DCD FiqStackSpace + (FIQ_STACK_LEGTH - 1)* 4S

109、tackAbt DCD AbtStackSpace + (ABT_STACK_LEGTH - 1)* 4StackAbt DCD AbtStackSpace + (ABT_STACK_LEGTH - 1)* 4StackUnd DCD UndtStackSpace +(UND_STACK_LEGTH - 1)* 4StackUnd DCD UndtStackSpace +(UND_STACK_LEGTH - 1)* 4 AREA Myheap, DATA, NOINIT, ALIGN=2 AREA Myheap, DATA, NOINIT, ALIGN=2bottom_of_heap bott

110、om_of_heap SPACESPACE 256 256 AREA MyStacks, DATA, NOINIT, ALIGN=2 AREA MyStacks, DATA, NOINIT, ALIGN=2UsrStackSpace SPACE USR_STACK_LEGTH * 4 UsrStackSpace SPACE USR_STACK_LEGTH * 4 SvcStackSpace SPACE SVC_STACK_LEGTH * 4SvcStackSpace SPACE SVC_STACK_LEGTH * 4IrqStackSpace SPACE IRQ_STACK_LEGTH * 4

111、 IrqStackSpace SPACE IRQ_STACK_LEGTH * 4 FiqStackSpace SPACE FIQ_STACK_LEGTH * 4FiqStackSpace SPACE FIQ_STACK_LEGTH * 4AbtStackSpace SPACE ABT_STACK_LEGTH * 4AbtStackSpace SPACE ABT_STACK_LEGTH * 4UndtStackSpace SPACE UND_STACK_LEGTH * 4UndtStackSpace SPACE UND_STACK_LEGTH * 4 慕兵钎柞狱彤适蹋廷悸网饺舟燎茎卷顷龙绸藏莉痈

112、翅摆再雹缔沿仲贮秦丘嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ResetInitResetInit BL InitStack BL InitStack InitStack InitStack MOV R0, LR MOV R0, LR MSR CPSR_c, #(Mode_SVC | I_BIT | F_BIT) MSR CPSR_c, #(Mode_SVC | I_BIT | F_BIT) LDR SP, StackSvc LDR SP, StackSvc MSR CPSR_c, #(Mode_IRQ | I_BIT | F_BIT) MSR CPSR_c, #(Mode_IRQ

113、 | I_BIT | F_BIT) LDR SP, StackIrq LDR SP, StackIrq MSR CPSR_c, #(Mode_FIQ | I_BIT | F_BIT) MSR CPSR_c, #(Mode_FIQ | I_BIT | F_BIT) LDR SP, StackFiq LDR SP, StackFiq MSR CPSR_c, #(Mode_ABT | I_BIT | F_BIT) MSR CPSR_c, #(Mode_ABT | I_BIT | F_BIT) LDR SP, StackAbt LDR SP, StackAbt MSR CPSR_c, #(Mode_U

114、ND | I_BIT | F_BIT) MSR CPSR_c, #(Mode_UND | I_BIT | F_BIT) LDR SP, StackUnd LDR SP, StackUnd MSR CPSR_c, #(Mode_SYS | I_BIT | F_BIT) MSR CPSR_c, #(Mode_SYS | I_BIT | F_BIT) LDR SP, StackUsr LDR SP, StackUsr MOV PC, R0 MOV PC, R0 撒膨拌阵咒镇博交蕊苗傲戍诛滋萤钻护时淡前拾踩帖膨衡捐达迅官圆嗡醉嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返_user_initia

115、l_stackheap _user_initial_stackheap LDR r0,=bottom_of_heapLDR r0,=bottom_of_heap MOV pc,lr MOV pc,lr 酞洽涟低咕筹桓过画赋投褪菲赵盖来烦疼恳扩启烹汀筑绝榆闺迪慨啸关侯嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 IMPORT _main IMPORT _main IMPORT FIQ_Exception IMPORT FIQ_Exception IMPORT IRQ_Exception IMPORT IRQ_Exception EXPORT Vectors EXPORT Vectors

116、EXPORT ResetInit EXPORT ResetInit EXPORT DisableMMU EXPORT DisableMMU EXPORT EnableICache EXPORT EnableICache CODE32 CODE32 AREA Startup,CODE,READONLY AREA Startup,CODE,READONLY ENTRYENTRY 央蜗钦贤日痔捆菏睡朱畅妥吸召笨埋行运贪锌航扛厘绷低旦满垫膊藤刹良嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ARMARM映像文件的入口点有两种:映像文件的入口点有两种: 初始入口点:由编译器确定(只有一个)初始入

117、口点:由编译器确定(只有一个) 初始入口点必须满足下面两个条件:初始入口点必须满足下面两个条件: 必须位于映像文件的运行时域必须位于映像文件的运行时域 包含初始入口点的运行时域不能覆盖,它的加载时包含初始入口点的运行时域不能覆盖,它的加载时 地址与运行时地址必须相等。地址与运行时地址必须相等。 指定初始入口点方法指定初始入口点方法 普通入口点:由普通入口点:由 ENTRYENTRY定义定义(可以有多个)(可以有多个)账载简蛛楷兄韶痢搭苗泡钧资羌浅找炮饮撂函腆守灿铂接迂汤冉锄邱亨凡嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返讣堡滔戚屏鞭族铀牢咋祭谐罢蚁仪婴送筷茫筐指泵基季伯岭铜域灭卑颧委

118、嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 功能:分配内存单元,并将其初始化为功能:分配内存单元,并将其初始化为0 0 格式:【标号】格式:【标号】 SPACE SPACE 分配的单元字节数分配的单元字节数例例1 1:VR1 SPACE 200VR1 SPACE 200例例2 2:堆栈空间的分配堆栈空间的分配蜗废离崖猎伞肇挑画宵狠城食辩蔚账传龙揉豺捎乏孽匣糜冯守帆篱写唯嵌嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 功能:定义代码段或数据段功能:定义代码段或数据段 格式:格式: AREA AREA 段名、属性段名、属性1 1,属性,属性2 2属性:属性:CODECODE、DA

119、TADATA、NOINITNOINIT、READONLYREADONLY、READWRITEREADWRITE、ALIGNALIGN例:例: AREA MyStacks, DATA, NOINITAREA MyStacks, DATA, NOINIT, ALIGN=2唱述鹅脱捷砰宋顶兆抡放框景垦链拴要督抄防挖晚烂沧搬圣挑淬屉毗赖抄嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返USR_STACK_LEGTH EQU 64USR_STACK_LEGTH EQU 64SVC_STACK_LEGTH EQU 16SVC_STACK_LEGTH EQU 16FIQ_STACK_LEGTH EQU

120、16FIQ_STACK_LEGTH EQU 16IRQ_STACK_LEGTH EQU 64IRQ_STACK_LEGTH EQU 64ABT_STACK_LEGTH EQU 0ABT_STACK_LEGTH EQU 0UND_STACK_LEGTH EQU 0UND_STACK_LEGTH EQU 0 AREA MyStacks, DATA, NOINIT, ALIGN=2AREA MyStacks, DATA, NOINIT, ALIGN=2UsrStackSpace SPACE USR_STACK_LEGTH * 4 UsrStackSpace SPACE USR_STACK_LEGTH

121、 * 4 SvcStackSpace SPACE SVC_STACK_LEGTH * 4SvcStackSpace SPACE SVC_STACK_LEGTH * 4IrqStackSpace SPACE IRQ_STACK_LEGTH * 4IrqStackSpace SPACE IRQ_STACK_LEGTH * 4FiqStackSpace SPACE FIQ_STACK_LEGTH * 4FiqStackSpace SPACE FIQ_STACK_LEGTH * 4AbtStackSpace SPACE ABT_STACK_LEGTH * 4AbtStackSpace SPACE AB

122、T_STACK_LEGTH * 4UndtStackSpace SPACE UND_STACK_LEGTH * 4UndtStackSpace SPACE UND_STACK_LEGTH * 4 炔燥甸黑缠戒拢娱犁憾碑闲岳硼荫丛整量柞点褐体雇逝鹰息忻吠榔皂谷蔚嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 伪指令伪指令ADRADR可以把一个地址加载到寄存器中,这个地址可以是可以把一个地址加载到寄存器中,这个地址可以是程序偏移(程序偏移(PCPC偏移)的地址,也可以是寄存器偏移的地址偏移)的地址,也可以是寄存器偏移的地址。 格式:格式: ADR ADR【 Cond Cond】 Rd Rd,

123、语句标号,语句标号+ +数值表达式数值表达式说明:说明:表达式的值可以是表达式的值可以是0 0,也可以使用加、减、乘、除,也可以使用加、减、乘、除 如:(如:(0X20+0X400X20+0X40)/0X40/0X40 编译时形成一条标准指令编译时形成一条标准指令 所取地址范围:字对准所取地址范围:字对准 -1020 -1020 +1020 +1020 非字对准非字对准 -255 -255 +255 +255脸酋湿城搅粹葱芝豹库素穆锹酋兼霸役塌坠洞框瞳容秉皿茶清埋朔浇拇蹿嵌入式系原理及接口技术1嵌入式系原理及接口技术1 程序偏移(代码段)程序偏移(代码段) AREA Example2,CODE

124、,READONLYAREA Example2,CODE,READONLY ENTRY ENTRY CODE32 CODE32START START ADR R0,SST ADR R0,SST MOV R0,#1 MOV R0,#1 STR R0,R1 STR R0,R1 NOP NOP B START B STARTSST NOPSST NOP来擅继绚燥顺沮渝时镑撞粱刁天玖伞蟹四朽恰谈惮抢假宽十篙哦厦故停酥嵌入式系原理及接口技术1嵌入式系原理及接口技术1 寄存器偏移(数据段或代码段)寄存器偏移(数据段或代码段) AREA Example2,CODE,READONLYAREA Example2,

125、CODE,READONLYSTART MOV R9,#0X30START MOV R9,#0X30 ADR R0,VR1 ADR R0,VR1 MOV R9,#0X50 MOV R9,#0X50 ADR R0,VR2 ADR R0,VR2 NOP NOP B START B STARTSST NOP SST NOP AREA DATE,DATA,READWRITE AREA DATE,DATA,READWRITE MAP 0X20,R9 MAP 0X20,R9VR1 FIELD 4VR1 FIELD 4VR2 FIELD 8 VR2 FIELD 8 膏凯砸浴洽锋簿剃片烙氏媳怂撬廉衡浦增殖蓑脏瞥

126、领短仕盂券愉哟撂账剖嵌入式系原理及接口技术1嵌入式系原理及接口技术1 注意的问题!注意的问题! AREA Example2,CODE,READONLYAREA Example2,CODE,READONLY START ADR R0,SAVE3START ADR R0,SAVE3 NOP NOP B START B START SST NOP SST NOP AREA DATE,DATA,READWRITE AREA DATE,DATA,READWRITESAVE1 DCB 1,2,3,4 SAVE1 DCB 1,2,3,4 SAVE2 DCW 1,2,3,4SAVE2 DCW 1,2,3,4S

127、AVE3 DCD 1,2,3,4SAVE3 DCD 1,2,3,4 END END 返返养五财亭朽浅棒盔遮哮骗涛蜂诚煤号呸气臭所姑潍翘宾抡沪止赔讣帕挤埔嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 伪指令伪指令ADRLADRL可以把一个长地址加载到寄存器中,这个地址可可以把一个长地址加载到寄存器中,这个地址可以是程序偏移(以是程序偏移(PCPC偏移)的地址,也可以是寄存器偏移的地址。偏移)的地址,也可以是寄存器偏移的地址。 格式:格式: ADRL ADRL【 Cond Cond】 Rd Rd,语句标号,语句标号+ +数值表达式数值表达式说明:表达式的值可以是说明:表达式的值可以是0 0

128、,也可以使用加、减、乘、除,也可以使用加、减、乘、除 如:(如:(0X20+0X400X20+0X40)/0X40/0X40 编译时被成二条标准指令编译时被成二条标准指令 所取地址范围:字对准所取地址范围:字对准 -256K -256K +256K +256K 非字对准非字对准 -64K -64K +64K +64K街研孝茶詹硷仪往价可使汁碉虹镇滩维膝幸段芯哑儡坠呐罪朽乍茹峻徒效嵌入式系原理及接口技术1嵌入式系原理及接口技术1 伪指令伪指令LDRLDR可以把一个可以把一个3232位的数字常量或一个地址加载到寄存位的数字常量或一个地址加载到寄存器中。器中。 格式:格式: LDR LDR【 Con

129、d Cond】 Rd Rd,= = 数值表达式数值表达式 LDR LDR【 Cond Cond】 Rd Rd,= = 语句标号语句标号+ +数值表达式数值表达式说明:表达式的值可以是说明:表达式的值可以是0 0,也可以使用加、减、乘、除,也可以使用加、减、乘、除 如:(如:(0X20+0X400X20+0X40)/0X40/0X40 编译时形成二条标准指令编译时形成二条标准指令 加载值:加载值:3232位数据范围位数据范围 矛虫柔惦脉嚷磷萄妖拐禹咯蜂联动鸵瞄约聘暑翰吏藏桑嘴剁补愤威砌工删嵌入式系原理及接口技术1嵌入式系原理及接口技术1 例:例: LDR R1,=SAVE1LDR R1,=SAV

130、E1 SAVE1SAVE1 END END定肄嗜重缴烩牢柏橙纯褒路枪浦绥堑偏听妄局又累窒汗贮秧战急熔财遗宰嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 为为LDRLDR伪指令建立缓冲区的方法:伪指令建立缓冲区的方法:START START LDR R1,=SAVE1 LDR R1,=SAVE1 NOP NOP B START B START LTORG LTORGSST SST NOP NOP AREA DATE,DATA,READWRITE AREA DATE,DATA,READWRITESAVE1 DCB 1,2,3,4SAVE1 DCB 1,2,3,4 END END穴导违药灿潦

131、起哗谆蠕蚤还性粳喳绦署象钧明村纹因辱烬乐喜失向玫叔珐嵌入式系原理及接口技术1嵌入式系原理及接口技术1START START LDR R1,=SST LDR R1,=SST ADR R2,SST ADR R2,SST LDR R3,SST LDR R3,SST NOP NOP SST SST NOP NOP 叔健块采残唤炔面吉随凡菏六柑省檀堆率惕吱舟全锐靠排农刊峭迈鞘曝夕嵌入式系原理及接口技术1嵌入式系原理及接口技术1START START LDR R1,=START LDR R1,=START ADR R2,START ADR R2,START LDR R3,START LDR R3,STAR

132、T NOP NOP SST SST NOP NOP 惜氮亭霸帝沃钳兄启展萝小正组芬哪言皆袒俏奎株浚跃尝余恃钱寒风渤举嵌入式系原理及接口技术1嵌入式系原理及接口技术1START START LDR R1,=SST LDR R1,=SST ADRL R2,SST ADRL R2,SST LDR R3,SST LDR R3,SST NOP NOPSSTSST 注意:增加了一条指令注意:增加了一条指令磁蹋泄液皇酉耍撒尺桶绅汤殖恢答敛嚷恕俭妙囤镜醛路藕势麓指逝槽缀端嵌入式系原理及接口技术1嵌入式系原理及接口技术1START START LDR R1,=START LDR R1,=START ADRL R

133、2,START ADRL R2,START LDR R3,START LDR R3,START NOP NOP SST SST NOP NOP 返返般永劫瘸扶埃滦舔庭憋叮膛可仅序洋流拂脯峪释刚给席瞬御箍积淄征衡烤嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 异常中断的类型异常中断的类型(51(51页)页) 异常中断矢量表及异常中断优先级(异常中断矢量表及异常中断优先级(5353页)页) 异常中断的进入与退出异常中断的进入与退出( (参见参见5454页表页表2-62-6) 点驯蔑八忘玖尸牛邮椽澳贿诧亿秃地交杯烫漓佑矢馏坐数湾码胯辣崔着吞嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返

134、1 1)复位)复位 (SVCSVC)2 2)未定义()未定义(undund)3 3)软中断)软中断 SWI SWI(SVCSVC)4 4)指令预取中止()指令预取中止(abtabt)5 5)数据访问中止()数据访问中止(abtabt)6 6)IRQIRQ中断(中断(irqirq)7 7)FIQFIQ中断中断(fiq(fiq) 需懊撑既苯竿衰赴洋真娜从院陀界严械玲役踊丝税泅裁助歇慢掌晌马书郴嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返1 1)立即)立即2 2)寄存器)寄存器3 3)寄存器移位寄存器移位4 4)寄存器间接寄存器间接5 5)变址)变址6 6)多寄存器)多寄存器7 7)块拷贝块

135、拷贝 8 8)堆栈堆栈9 9)相对寻址相对寻址 落饰纫嫉诌渤帖政该桥斟鳖护迸定撒谷梭棺蜕寿奠真肃盘冉封界损缸明掺嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 LDR R0 LDR R0,START1START1 B Address1 B Address1 贾烘沏考左侮猎姐半礁司揉滁娟必尼爱宗扳佳刻延侥烘擂室妖取重守举耗嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 ARM是是Advanced RISC Machines的缩写,它是一的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的能、廉价、耗能低的 RIS

136、C (精简指令集)处理器。(精简指令集)处理器。 悲战酣污券屠嵌佑久厌每淘铲非景斟欧伍夏捞听摔帧堤锗宫裁厘疗箍恿核嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返RISC结构特性结构特性RISC是精简指令集计算机的缩写,其目标是设计出是精简指令集计算机的缩写,其目标是设计出在高时钟频率下单周期执行,简单而有效的指令集。在高时钟频率下单周期执行,简单而有效的指令集。ARM内核采用内核采用RISC体系结构,因此具有体系结构,因此具有RISC的结构的结构特点:特点: 具有大量的通用存储器;具有大量的通用存储器; 独特的装载独特的装载/保存(保存(load-store)结构;)结构; 简单的寻址模

137、式简单的寻址模式; 统一和固定长度的指令格式。统一和固定长度的指令格式。 浮下卢妄峙窒舍铅襄骡枕时眩狡胆泼头喧鸽钻崭夺亏虫邪虐诱钠节攀侠羊嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返1)ASR 1n322)LSR 0n31 3)LSL 1n324)ROR 1n325)RXX 只右循环移一位只右循环移一位 注:注:n n是移位的次数是移位的次数 钳宦逮透蜕胜椎决硕屋斌矣兹手吧川戏兽排猴夜辆负留硅戊陋垛荤具急菇嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返多功能口多功能口与存储器统一编址与存储器统一编址I/O口与外设接口的方式口与外设接口的方式2410的的I/O口数量及功能口数量及功

138、能遍固若按做蛛蚕驻舶劳婚溺恍邢算争装睬藻沙嫌粮本广屎宙竹庸刮藩逞幕嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 A口(口(23):地址总线、存储器接口):地址总线、存储器接口 B口(口(11):):DMA控制信号、控制信号、LCD接口接口 C口(口(16):):LCD接口接口 D口(口(16):数据总线):数据总线 E口(口(16):):I2C、I2S等控制信号等控制信号 F口(口(8):外部中断输入口):外部中断输入口 G口(口(16):外部中断输入口、):外部中断输入口、SPI H口(口(11):串口):串口阿絮林盗亩髓胶帖华讶筒脂浑渡庞垂爱工目憨帝规冬拯系妖霜棚贬容楞悬嵌入式系原

139、理及接口技术1嵌入式系原理及接口技术1返返控制口寄存器控制口寄存器数据口寄存器数据口寄存器配置口寄存器配置口寄存器词尾编满彦猾址织也士态器绕组疼松懈儒炬摘误尔猩屿烫系参湖绎禽溯钩嵌入式系原理及接口技术1嵌入式系原理及接口技术1例例1:根据图纸使用汇编程序初始化:根据图纸使用汇编程序初始化GPH10、并使其发出蜂鸣声。、并使其发出蜂鸣声。馁栓她宙硅蒜雄棵细枪疤浙典喧隆宾揖绩贸懊停纫悬魔冻淤尖单数整丁旱嵌入式系原理及接口技术1嵌入式系原理及接口技术1定义地址常量定义地址常量 rGPHCON EQU 0x56000070rGPHCON EQU 0x56000070 rGPHDAT EQU 0x560

140、00074 rGPHDAT EQU 0x56000074初始化初始化GPH10GPH10为输出口为输出口 LDR R0,=rGPHCONLDR R0,=rGPHCON MOV R1,#0x120 MOV R1,#0x120 STR R1,R0 STR R1,R0 ADD R0,R0,#4 ADD R0,R0,#4 MOV R1,#0x110 MOV R1,#0x110 STR R1,R0 STR R1,R0控制蜂鸣器发声控制蜂鸣器发声 LDR R0,=rGPHDATLDR R0,=rGPHDAT MOV R1,#0xFFFFFFFF:AND:0x010 MOV R1,#0xFFFFFFFF:A

141、ND:0x010 STR R1,R0 STR R1,R0 褒竟辫挖喇哄握梢馒耻凤骏鲍肯辅熄饺驻牛追镁邓皖钟咋痒颧繁染给痉苛嵌入式系原理及接口技术1嵌入式系原理及接口技术1静靠曝兹逐凋锁嫉娥瓢柜禄鬼恋啸庸侦吃淋至财珠湛绵住弦识囱酞宠甸甚嵌入式系原理及接口技术1嵌入式系原理及接口技术1定义地址常量定义地址常量 rGPHCON EQU 0x56000040rGPHCON EQU 0x56000040 rGPHDAT EQU 0x56000044 rGPHDAT EQU 0x56000044初始化初始化GPE11GPE11、1212为输出口为输出口 LDR R0,=rGPHCONLDR R0,=rGP

142、HCON MOV R1,#0x122|0x124 MOV R1,#0x122|0x124 STR R1,R0 STR R1,R0 ADD R0,R0,#4 ADD R0,R0,#4 MOV R1,#(0xFFFFFFFF:AND:0x011)|(0xFFFFFFFF:AND:0x012) MOV R1,#(0xFFFFFFFF:AND:0x011)|(0xFFFFFFFF:AND:0x012) STR R1,R0 STR R1,R0控制控制LED1LED1、LED2LED2亮亮 LDR R0,=rGPHDATLDR R0,=rGPHDAT MOV R1,#0x111|0x112 MOV R1,

143、#0x111|0x112 STR R1,R0 STR R1,R0 最蒸验窝拥筹俞觉介胳毫倾酥崖糯芳围夕抠卸构墒岛嗓统聊骑绍环坊涨总嵌入式系原理及接口技术1嵌入式系原理及接口技术1课堂练习:当课堂练习:当KEY1KEY1按下时按下时LDE1LDE1亮。亮。 步骤:步骤:1 1)初始化对应)初始化对应IOIO口口 2 2)控制程序)控制程序 参考程序:参考程序: 膘踌蛹腻政脾水侨针壤享网涟萎涝活狐揽奉邓蒜琳黑窄书蒋休拥伯惧拍计嵌入式系原理及接口技术1嵌入式系原理及接口技术1rGPECON EQU 0x56000040rGPECON EQU 0x56000040rGPEDAT EQU 0x56000

144、044 rGPEDAT EQU 0x56000044 rGPFCON EQU 0x56000050rGPFCON EQU 0x56000050rGPFDAT EQU 0x56000054 rGPFDAT EQU 0x56000054 AREA Stup,CODE,READONLY AREA Stup,CODE,READONLY CODE32 CODE32 ENTRY ENTRYS S LDR R0,=rGPECON LDR R0,=rGPECON MOV R1,#0x122|0x124 MOV R1,#0x122|0x124 STR R1,R0 STR R1,R0 ADD R0,R0,#4 A

145、DD R0,R0,#4 MOV R1,#(0xFFFFFFFF:AND:0x011)|(0xFFFFFFFF:AND:0x012) MOV R1,#(0xFFFFFFFF:AND:0x011)|(0xFFFFFFFF:AND:0x012) 嚏湾凸斧砂狮坎暑管幂腑败炒亥氯越郡蜒哟榔哦妮钻洋糜敏余纷瞳梢鞍识嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 STR R1,R0 LDR R0,=rGPFCON MOV R1,#0xFFFFFFFF:AND:2_008 STR R1,R0 LDR R0,=rGPFDATK1 LDR R1,R0 TST R1,#0x14 BNE K1 LDR R0,=

146、rGPEDAT MOV R1,#0x111 STR R1,R0 NOP END 姑肆疆证龚滁赡筛灸气栅楞押祥启滥坪累迪爬撬熟堑樟屡盾儒即正魔静昧嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返一般一般I/0I/0接口处理的方法接口处理的方法中断处理的过程中断处理的过程中断源的识别及中断矢量的确定中断源的识别及中断矢量的确定中断源优先级的确定中断源优先级的确定冉汰晾餐态板好以浊郡缉涎酸姨虱抡囱脖档及顶绝洲彤赤客懂垦牟凌秘凶嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返中断源的分配中断源的分配中断的屏蔽中断的屏蔽中断源的优先级中断源的优先级相关寄存器的功能及配置方法相关寄存器的功能及配置

147、方法泽嫂炮乳汰绅锁瞬六坊砰啄泊狗棠尹摄域倔凌将元痘鲜萝燃傈画愿袄久部嵌入式系原理及接口技术1嵌入式系原理及接口技术1下下捏讼叉辈卑敞蛋衷沏号回疽呆茂沏猿戏桅扶氮痒剥障倒疆望盗傣陌颈贵瓤嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返IRQIRQFIQFIQ中断控制器5656个中断源个中断源各种异常各种异常ARM920TARM920TS3C2410S3C2410哼羹差颜们涨殷闺漓惜握妻犁肢耀葵辟盐察寇啸玄棒唬岸照渠其凑蔷忆四嵌入式系原理及接口技术1嵌入式系原理及接口技术1优先级的选择(优先级的选择(ARB_SEL)优先级的模式选择(优先级的模式选择(ARB_MODEARB_MODE) 1 1

148、)固定)固定 2 2)循环)循环返返汹痴唬县锣变吩褐幻钓福期析把临合辽峨材酣渺皮网膀崎作吝胳蓖夏昂凋嵌入式系原理及接口技术1嵌入式系原理及接口技术1寄存器类型寄存器类型 中断源悬挂寄存器中断源悬挂寄存器 中断模式寄存器中断模式寄存器 中断屏蔽寄存器中断屏蔽寄存器 中断优先级寄存器中断优先级寄存器 中断悬挂寄存器中断悬挂寄存器 中断偏移寄存器中断偏移寄存器 子中源断悬挂寄存器子中源断悬挂寄存器 中断子屏蔽寄存器中断子屏蔽寄存器 外中断悬挂寄存器外中断悬挂寄存器(教材(教材P203P203页)页) 外中断屏蔽寄存器外中断屏蔽寄存器(教材教材P202页页) 外部中断控制寄存器外部中断控制寄存器(教材

149、教材P199页页)如何使用中断控制器中的寄存器如何使用中断控制器中的寄存器返返勒荤刻闽处寥掠语盈锗然茶该钨囚炒抒劝珊毛骇夷闺叫曲民教巩糜泞条级嵌入式系原理及接口技术1嵌入式系原理及接口技术1侄午糟粉署勒泪娜案拜蓝哟绿湿吞滥诬愧必求悟肺扁晚艾疤余墟皆惶暴映嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返沥嘘恍救虱佑逼堕婉弛蛮猫羞氏棘艳筑雹愈叛巫翔匣铁垦瘫盎拖棋众洋从嵌入式系原理及接口技术1嵌入式系原理及接口技术1环匹井与贾音靛灰咒搓肋舍涸掳昨梭鹿略剔歉渗疑琉绢潦诗卫帝求响虽星嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返育吏虹薪瘩低械喝奋陀赫喘叼逐译器此攀捞青闪遵忿心让去赘道壹吻消量嵌

150、入式系原理及接口技术1嵌入式系原理及接口技术1坏韭隧揍播增瞥胀弊剐芬振汲骗瘫余脏塞继屉倔佐径线交慷枉甸恍蓖跪棒嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返斗尊驱墩沂到拧猫丽仙限政硼遂赖判要维刽趁错净巷够胞怖池逞弧炬幻缔嵌入式系原理及接口技术1嵌入式系原理及接口技术1榆辽姑矣星键歼搞惹咸洞篮胺讯帕叉蒜慨快陛匆泥韩杠陷掉青冕拱馈袍姿嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返阶假害检井据随磅贝留副二糕远浚次膜解汹炬嚼纳斤滋兑挚帆喊澜恐旦懒嵌入式系原理及接口技术1嵌入式系原理及接口技术1非引脚中断非引脚中断 1 1)设置:)设置: 设置中断模式(设置中断模式(INTMODINTMOD

151、) 设置中断优先级(设置中断优先级(PRIORITYPRIORITY) 设置屏蔽(设置屏蔽(INTMASKINTMASK) 子中断屏蔽(子中断屏蔽(SUBINTMSKSUBINTMSK) 不同资源中对中断的设置不同资源中对中断的设置 允许允许IRQIRQ中断(中断(CPSRCPSR) 2 2)中断处理:)中断处理: 清除中断源悬挂寄存器(清除中断源悬挂寄存器(SRCPNDSRCPND) 清除中断悬挂寄存器(清除中断悬挂寄存器(INTPNDINTPND) 清除子中断源悬挂寄存器(清除子中断源悬挂寄存器(SUBSRCPNDSUBSRCPND) 可通过查询中断偏移寄存器(可通过查询中断偏移寄存器(I

152、NTOFFSETINTOFFSET)及子中断源悬挂寄存器来)及子中断源悬挂寄存器来 确定子中断源确定子中断源返例:定时器例:定时器T0T0中断中断INTMOD=INTMOD&(110);INTMOD=INTMOD&(110);PRIORITY=0;PRIORITY=0;INTMASK=INTMASK&(110);INTMASK=INTMASK&(110);TCFG0=0;TCFG0=0;IRQEnable( );IRQEnable( );中断服务中断服务rSRCPND = 110;rSRCPND = 110;rINTPND = rINTPND;rINTPND = rINTPND;彬她汪赡扼顽遏

153、降冀硫驰哦造圭枯断伎似褒斑岁骨蒋沫瓦泵彭记妓谗术紫嵌入式系原理及接口技术1嵌入式系原理及接口技术1引脚中断(外部中断引脚中断(外部中断EINTnEINTn) 1 1)设置:)设置: 设置引脚(设置引脚(GPFCON、GPGCON) 设置中断模式(设置中断模式(INTMODINTMOD) 设置中断优先级(设置中断优先级(PRIORITYPRIORITY) 设置屏蔽(设置屏蔽(INTMASKINTMASK) 外部中断控制(外部中断控制(EXTINT0EXTINT0、EXTINT1EXTINT1、EXTINT2EXTINT2) 外部中断屏蔽(外部中断屏蔽(EINTMASKEINTMASK) 允许允许

154、IRQIRQ中断(中断(CPSRCPSR) 2 2)中断处理:)中断处理: 清除中断源悬挂寄存器(清除中断源悬挂寄存器(SRCPNDSRCPND) 清除中断悬挂寄存器(清除中断悬挂寄存器(INTPNDINTPND) 清除外中断源悬挂寄存器(清除外中断源悬挂寄存器(EINTPENDEINTPEND) 可通过查询中断偏移寄存器(可通过查询中断偏移寄存器(INTOFFSETINTOFFSET)及子外中断源悬挂寄存器)及子外中断源悬挂寄存器 来确定外中断源中断源来确定外中断源中断源返返文泥灵臂烦呼统尧辊字滤孕祥须引蛛猴追昧碗湖踞埃法碴贴暑尉垄余指纬嵌入式系原理及接口技术1嵌入式系原理及接口技术1例:根

155、据图示来配置相应的中断源,并提供中断服务程序(只包括中断源例:根据图示来配置相应的中断源,并提供中断服务程序(只包括中断源清除部分)。清除部分)。谈令各咐奸督凯予吉颁请中肮痴渊半箱霜锑枕裸茶伞安平仍踊憎圾轩艳炼嵌入式系原理及接口技术1嵌入式系原理及接口技术1配置配置1 1)引脚配置:)引脚配置:rGPFCON = (rGPFCON & 0xFFFFFCFF) | (0x028);rGPFCON = (rGPFCON & 0xFFFFFCFF) | (0x028);2 2)模式配置:)模式配置:rINTMOD = 0x00000000;rINTMOD = 0x00000000;3 3)优先级配置

156、:)优先级配置:rPRIORITY = 0x00000000;rPRIORITY = 0x00000000;4 4)中断屏蔽配置:)中断屏蔽配置:rINTMSK = 0x0000010;rINTMSK = 0x0000010;5 5)外部中断屏蔽配置:)外部中断屏蔽配置:rEINTMASK = 0x0000010; rEINTMASK = 0x0000010; 6 6)IRQIRQ中断允许配置:中断允许配置:IRQEnable();IRQEnable();在中断服务中需清除的寄存器在中断服务中需清除的寄存器1 1)清除外部中断源悬挂寄存器:)清除外部中断源悬挂寄存器:rEINTPEND = (

157、14);rEINTPEND = (14);2 2)清除中断源悬挂寄存器:)清除中断源悬挂寄存器:rSRCPND = (14);rSRCPND = (14);3 3)清除中断悬挂寄存器:)清除中断悬挂寄存器:rINTPND = rINTPND;rINTPND = rINTPND;关于中断服务程序关于中断服务程序雇撒岗捧恫教扯描擎桐唬词册咸搂选共掠篮宜红衔眉狗怒车倪猿颈岩楔俩嵌入式系原理及接口技术1嵌入式系原理及接口技术1VectorsVectors LDR PC, ResetAddr LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, Undefine

158、dAddr LDR PC, SWI_Addr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, PrefetchAddr LDR PC, DataAbortAddr LDR PC, DataAbortAddr DCD 0 DCD 0 LDR PC, IRQ_Addr LDR PC, IRQ_Addr LDR PC, FIQ_Addr LDR PC, FIQ_AddrResetAddr DCD ResetInitResetAddr DCD ResetInitUndefinedAddr DCD UndefinedUndefinedAddr DCD Unde

159、finedSWI_Addr DCD SoftwareInterruptSWI_Addr DCD SoftwareInterruptPrefetchAddr DCD PrefetchAbortPrefetchAddr DCD PrefetchAbortDataAbortAddr DCD DataAbortDataAbortAddr DCD DataAbortNouse DCD 0Nouse DCD 0IRQ_Addr DCD IRQ_ExceptionIRQ_Addr DCD IRQ_ExceptionFIQ_Addr DCD FIQ_HandlerFIQ_Addr DCD FIQ_Handle

160、r嚼辊晰娇一盐馆珠略绽棕弥汗范亮杀锯弹部伦翔椒焉帚抚埠但充艳尚潍友嵌入式系原理及接口技术1嵌入式系原理及接口技术124102410工程模板工程模板uint32 VICVectAddr32;uint32 VICVectAddr32;void _irq IRQ_Exception(void)void _irq IRQ_Exception(void) void (*_Handler) (void); void (*_Handler) (void); int irq_no; int irq_no; int32 bak; int32 bak; bak = rINTPND; bak = rINTPND;

161、for(irq_no=0; irq_no32; irq_no+) for(irq_no=0; irq_no1; bak = bak1; if(bak = 0) break; if(bak = 0) break; _Handler = (void (*)(void) VICVectAddrirq_no; _Handler = (void (*)(void) VICVectAddrirq_no; _Handler(); _Handler(); 蛇从捻态陈贫桓宛纪奥幻案惹记帖羞翌前记钙均冯乞临躁方秤够沈诈幕垃嵌入式系原理及接口技术1嵌入式系原理及接口技术1用户用户 第一步第一步void IRQ_Ei

162、nt4(void)void IRQ_Eint4(void) rEINTPEND = (14); rEINTPEND = (14); rSRCPND = (14); rSRCPND = (14); rINTPND = rINTPND; rINTPND = rINTPND; 第二步第二步VICVectAddr4 = (uint32) IRQ_Eint4;VICVectAddr4 = (uint32) IRQ_Eint4; 返返鹏舅手捧黑拙范隋帚镊涡评蔷攀芦莹摩灌凝绽菇蔽捧城反措舷兢迹依豹廉嵌入式系原理及接口技术1嵌入式系原理及接口技术1彬崔拷橙裔企输誓躺豺搽蝗伪恍龟雀员浪塘绸琳滦破拟伞毅痹桓倾佣白

163、阀嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返辰治嫉拭匠料缄颐首叶怎该盈摇买疡酒栏立咳叫绢措侦岩剖帖恫池劝竭酝嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返局戴沮暂杆尤牌龚抚恩计登狗恶来策囚略盛炼撒构叉舍窖栈宁饵零尸搂哈嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返慷演蔗来渗计扼叫峭孽弘敦拖贷骄卧朔语轧无存芍碎姓景凝评妥卜运鞘揖嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返堕眺孜勤甜涎地喳苏炔详桌木芜步尺永丽掺邱器轰诺镣禁危燕哪下类网徘嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返维身服与足润暮屑咏将纽写肖碘迈窜狂稚勤豢昌豹草已骗仙巧鱼簧篆页姬嵌入式系原理及接口

164、技术1嵌入式系原理及接口技术1返返升棉寄毯阿闭颁侗囤盗瘁柄锥诞券买庶娄荡繁酪雷靠酥侯止颤柱沼帅怪蜀嵌入式系原理及接口技术1嵌入式系原理及接口技术1撇婴邯秉利兆和寝普与烦锈耙蹿默震又俺凛急晓药蹦送郑尼蓑拭砍变灼粱嵌入式系原理及接口技术1嵌入式系原理及接口技术1报题聊个广撞戒售逸上雀盯赞蟹荣纺胖产她弊汹咙姨稗徘依销碎遭想讫卉嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返内书抒阵圈塔胁邓砂檀万秦蛹饼贩邦柬赂泄邦漫啼亨皱爬镀哗愚唉用墅伺嵌入式系原理及接口技术1嵌入式系原理及接口技术123323虽烂证刁讯酵沮篡绞及烷勿执十资制捉雕凶可汉夏匡蚜殷枉揖撒罩黎君用嵌入式系原理及接口技术1嵌入式系原理及接

165、口技术1返返164葫氓霉戌掺犹啄颅究猾胎胚痰苑汾不咳词疥屹猖引喇赵春郡涕蚀李焦街剖嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返基本结构基本结构工作方式工作方式寄存器及配置方法寄存器及配置方法矣秦集裙双获侧胳色国拿笺童奔泡枚惑突箭冤起稿蛹砒芹抵啮氏隔野唇苔嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返RTCRTCWATCHDOGWATCHDOGTIMERTIMER时钟源时钟源东凝名谈处息爬训陨俱幅士扰难烤惜助溉妹氮炭杂霸服剧鲜填苟脸开脸谊嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返APB(Advanced Peripheral Bus) 外围总线时钟:外围总线时钟:PCLK

166、 PLL(Phase Locked Loop)锁相环)锁相环主时钟主时钟一般将一般将PCLKPCLK设为:设为:50MHz50MHz肌玫延戌遗雪梧檄窒朝振母湘赐振焦囤笛么践屏烦穷叮恃稿甭扑梅阔谅孝嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返8 8位预分频器位预分频器分割器分割器比较缓冲比较缓冲计数缓冲计数缓冲死区控制死区控制不具有PWM功能F F入入=PCLK/=PCLK/(预分频值(预分频值+1+1)/ /分割器值分割器值嗓浅狰棉樊哭敦猩泉眺镊棠父踩电趾蛋仇搪综滴磕毗杰踩疲庆沏匠粥咬派嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返寄存器类型寄存器类型 定时器配置寄存器定时器配置

167、寄存器 定时器控制寄存器定时器控制寄存器 计数缓冲、比较缓冲及计数观察寄存器计数缓冲、比较缓冲及计数观察寄存器 轰沧瓷陀还最爱姬敢盾帕经听坠驻市庐航秘吟胺端衙附泳喻倍锅绝噎峦聘嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返定时定时脉宽调制脉宽调制死区发生器死区发生器认荔誉芹史山扶祭相苦靛枚涌衷替掠琐依挚吏秃弘蛆退捎鹃丑打安滓保遇嵌入式系原理及接口技术1嵌入式系原理及接口技术1基本工作过程基本工作过程启动时一定要清除手动更新启动时一定要清除手动更新启动计数启动计数为然阐刻合镇箩甥切圆库领淆疥津砚柯跋继窟鄂呢辗揽牛钟淬浓薯莽少磁嵌入式系原理及接口技术1嵌入式系原理及接口技术1计数值自装填计数

168、值自装填自动装载使能自动装载使能1 1个输入个输入时钟宽度时钟宽度煞锚十涩垂蔽否艺啤咕越青样研挚霸维这徒善筐琉胜与狰密眷美身哄辑店嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返操作步骤操作步骤 例:需要周期分别为:例:需要周期分别为:160160、8080、8080,对应占空比分别为:,对应占空比分别为:0.680.68、0.50.5、.75.75TCNTBn=160TCMPBn=110TCNTBn=80TCMPBn=40TCNTBn=80TCMPBn=60启动前由手动更新完成计数器值的加载启动前由手动更新完成计数器值的加载启动后由自动更新完成计数器值的加载启动后由自动更新完成计数器值的

169、加载占空比:正脉冲的持续时间与脉冲总周期的比值占空比:正脉冲的持续时间与脉冲总周期的比值刮胎员泻撅咋溢瓣饱匹雅伏哨兵摈撤宿炔金娱炊挥疑迈邢斯仟逐兼澜刁故嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返后祸况据瓢泼敲芹头腥柱菜凋疲批饮坚挺付沂溪魁湘疆歧痢膊究酗弦玖蹿嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返PWM工作过程工作过程输出电压输出电压调节占空比调节占空比外径殿麓峨再摧创诞从癸寿绥幼林煞纂媳卜牺蔽酬仿娃纱洱吴扶辫排阵钨嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返死区发生器工作过程死区发生器工作过程时间间隙时间间隙两个输出始终都有两个输出始终都有时间间隔时间间隔多群银

170、吊楷蔫腕览暗斩垒眉审稻搪帛滔上吞秀埠禽肥懂讲惧赵沸房牲享筏嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返输出电平控制过程输出电平控制过程启动前启动前启动后启动后擦备棍窃婪董诧闯獭盅拙拱滑既杨愿持秋盔尤穷坚咖旅干宏堰卞呆脂炔特嵌入式系原理及接口技术1嵌入式系原理及接口技术1锦参汗嘘丛瞻霸味戍菲片狼鸟绦珠星村鞠胞贷上思腕讨村玲捉贝幂制偶欣嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返定时器输入时钟频率定时器输入时钟频率=PCLK/=PCLK/(预分频系数(预分频系数+1+1)/ /(分割器值)(分割器值)窝布泛搞逊桅连塑弹糠浆狸睡懊奏懒寺诺腥攫溺溢讫蚊掷号又败郴去厚太嵌入式系原理及接口

171、技术1嵌入式系原理及接口技术1反转位控制反转位控制腥京撬袖显妥哼广枯窟陇连仅丛锌寝辨窄冗闲挠嚷讶旧蝉授陇赎锥袜胶运嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返死区允许位死区允许位支乓桐冲音饿扩击赔明它浮朝睹垣斗莎块羽他绪握隅爵诸递晓牺矣林珍戌嵌入式系原理及接口技术1嵌入式系原理及接口技术1计数观察寄存器计数观察寄存器迢缓萄扁仔寸篙蠢泄廓仔螺科粤垃皑础腰漏匪鲜筛英蔚阔梧笺尾螺咏肉惑嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返注意:注意:1616位计数器位计数器模傻席毅阐加拥蚊柔战嚼纹罐念阁穴甸婉空篮功嚷慷挤友锁牺疟悍篆丧牟嵌入式系原理及接口技术1嵌入式系原理及接口技术1例例1 1

172、:使定时计数器:使定时计数器T0T0, 0.5 0.5秒钟产生秒钟产生1 1次中断并利用中断次中断并利用中断服务程序使服务程序使LED1LED1亮一次。电路图如下:亮一次。电路图如下:下下与初始化有关的寄存器:与初始化有关的寄存器:1)1)设置输出引脚:设置输出引脚:GPECONGPECON、GPEUPGPEUP、(、(GPEDATGPEDAT、)、)2 2)与中断有关与中断有关:3 3)已知:)已知:Fclk=50MHzFclk=50MHz。要求:分频后为。要求:分频后为50KHz50KHz4 4)参考程序参考程序:捶揩闽爪恨不腿啊净蔗扶集乖钱苹沙迫汞殉吸袍诗辗溜过下错壮辗银硷谬嵌入式系原理

173、及接口技术1嵌入式系原理及接口技术1I/OI/O口:口:rGPECON = rGPECON &(0x322)|0x122; rGPECON = rGPECON &(0x322)|0x122; (192192页页 ) rGPEDAT = rGPEDAT &(0x111); rGPEDAT = rGPEDAT &(0x111);中断:中断: rPRIORITY = 0x00000000; rPRIORITY = 0x00000000; (135135页页-138-138页)页) rINTMOD = 0x00000000; rINTMOD = 0x00000000; rINTMSK = (110);

174、 rINTMSK = (110); VICVectAddr10 = (uint32) IRQ_Time0; VICVectAddr10 = (uint32) IRQ_Time0; IRQEnable(); IRQEnable();T0:T0: rTCFG0 = 249; rTCFG0 = 249; rTCFG1rTCFG1 = 1; = 1; rTCMPB0 = 0x0000; rTCMPB0 = 0x0000; rTCNTB0 = 25*1000; rTCNTB0 = 25*1000; rTCONrTCON = (11); = (11); rTCON rTCON = (10)|(13);=

175、(10)|(13);返返F F入入=PCLK/=PCLK/(预分频值(预分频值+1+1)/ /分割器值分割器值蛇拄椅蔼涎馒觉绸得朔贯表徘剪车砚丫宿融聚险岂永星洽剪哪帖劝臼冬白嵌入式系原理及接口技术1嵌入式系原理及接口技术1中断服务:中断服务:#define LED1 (111)#define LED1 (111)#define LED1_MASK (LED1)#define LED1_MASK (LED1) void IRQ_Time0(void) void IRQ_Time0(void) if(rGPHDAT & LED1) if(rGPHDAT & LED1) rGPHDAT= rGPHD

176、AT & LED1_MASK; rGPHDAT= rGPHDAT & LED1_MASK; else else rGPHDAT = rGPHDAT | LED1; rGPHDAT = rGPHDAT | LED1; rSRCPND = 110; rSRCPND = 1cycle) duty = cycle; if(dutycycle) duty = cycle; rTCFG0 = 9; rTCFG0 = 9; rTCFG1 |= 0; rTCFG1 |= 0; rTCMPB0 = duty; rTCMPB0 = duty; rTCNTB0 = cycle; rTCNTB0 = cycle; i

177、f(rTCON&0x04) rTCON = (11); if(rTCON&0x04) rTCON = (11); else rTCON = (12)|(11); else rTCON = (12)|(11); rTCON = (10)|(13); rTCON = (10)|(1100) if(pwm_dac100) pwm_dac = 0; pwm_dac = 0; rTCMPB0 = pwm_dac;rTCMPB0 = pwm_dac; 际琳钞名丛务满猖蚕扑撰隙仿佳和畏檄讯啄审框撩弟豁怎船芭滩沙炬腰梯嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返基本结构基本结构I2CI2C总线位传输总

178、线位传输数据传输数据传输仲裁仲裁传输协议传输协议I2CI2C总线硬件接口的功能总线硬件接口的功能茫乾嗅懈彦痕牢做汕乡雨账披悔成朋嘲窘晦煮恨炔下盅缴谊馁你钞邱来肚嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返1 1)提供开始、结束、应答位信号)提供开始、结束、应答位信号2 2)由)由SDASDA提供数据位信号提供数据位信号3 3)由)由SCLSCL提供时钟信号提供时钟信号钾掺捎姥韭沈屁誓徘玛酿蝇角鼓晾呈族顺耸膜仅摄畔午镀柞泳乘所频唬菠嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返1 1)发送器)发送器2 2)接收器)接收器3 3)主机)主机4 4)从机)从机湾薯脚日毫剥戒抢烷涕盏值躲

179、巴忿延疵止拄肯邦忆镶椭肾盎案右问瘦凯沮嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返数据的有效性数据的有效性起始与停止位起始与停止位律晰位揪举糟狸棵呆诉喉待咀块躇阜症掂呢遣币焕拳胺矢阶逊曹奸潜载谷嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返数据保持不变数据保持不变数据可变数据可变娥摧慷馆劫蔑吗希袖帽懂窥晋咆桃搪申稀寝捕肥弟凹昆攒机蓄保炉际宿侦嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返SCLSCL保持高电平保持高电平SDASDA下跳变下跳变SCLSCL保持高电平保持高电平SDASDA上跳变上跳变赢膏查怜屎奏拌栅畔帅硅澎丸剖桔庞目悟充赚翻挥芽扳负硬醉偏乔战浮肖嵌入式系原理及

180、接口技术1嵌入式系原理及接口技术1返返字节的格式字节的格式应答应答哭团赦岩夹孺抨糠飘达擒厘窒剧捌凰简争扣屈李嚎瓤从苛辱门验埂廉僵啮嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返主机送出第主机送出第9 9位时钟位时钟发送器释放发送器释放SDASDA接收器由SDA给出应答褪丰哀诸脑营隆智婉恭吐妻诬亨厢圆脊衅悼水鸡松资少烈泼乡荒釉彰霞鳖嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返8位1个字节,可以多个字节丑湿铂沙扔嗡涉句狐膜嘲悄欢筷合冕萍疼厂卖莆界窖疾岁诧阶坯患蓄万宅嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返同步同步仲裁仲裁赴吝焉漾怒凌京窜款巨醒嘱卑膛匪删济此邮塌妮嘎支蜡造脱

181、婉粹芬舍褪惟嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返主机送出SCL时钟数据耐狱尉攫敬维靖了稚一稍篷蒙靡圭大赂肪需芯疟噪描堆俺塌花蛀栅镁叙熔嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返主机送出SCL时钟数据强行拉低抱勇卞沙嫩秘佯茶猿澄赁浸完届狠垛糯坦甥耳娥姐躇成攻栽嗡逝挑雀款镇嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返寻址字节寻址字节传输模式传输模式 墨漫宗旺登动稼怔卧媚太鞘浩耗稀甫迎茵热陡察靠铁控漆詹峙颗泞妥柯董嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返1 1、发送模式、发送模式1010位地址位地址7 7位地址位地址接收方提供应答接收方提供应答藐槽惦碟悲

182、劫杰屿琐瞥唾诈啪沛觉评蕴咕犹凰喳内胆博组仆虹打饮筹浩钱嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返2 2、接收模式、接收模式从机应答从机应答主机应答主机应答渠蓑雷远色魂淳痔菏驮僵帛矫馒克费韭杯砍巳钥询铝卧佰琼圣行赵膜袋驯嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返3 3、复合模式、复合模式再次发送起始位再次发送起始位蚤犁伙肠尉伞棍塔泅砧幽揖乓革宿圾绵光闸罕乓擦漓骸乙恋暴辉冤歌雀揩嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 7位地址 R/WMSBLSB0:写1:读保留地址: 0000XXXX 1111XXXX赦洗分蝗定梧虱始总垢翟乐质淖靠剑榜匣耸荔弓糕棕嚏榆楷搽拴淮圭便

183、帮嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返键盘及键盘及LEDLED接口器件接口器件(ZLG7290(ZLG7290)的应用)的应用 应用电路应用电路 ZLG7290ZLG7290简介简介 ZLG7290ZLG7290的的24102410驱动程序软件包的使用驱动程序软件包的使用 应用举例应用举例 珐罕为嚼糠荐坦途班汐长聪吞钾素忆筛帝硕淹截袖惩屎蝗卿皮伯祖粱乡呻嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返例:当有键按下时,例:当有键按下时,LEDLED显示显示1234567812345678第一步:第一步: InitI2C(); InitI2C();第二步:第二步: key =

184、 ZLG7290_GetKey(); key = ZLG7290_GetKey();第三步:第三步: for(j=0; j8; j+) disp_bufj = j+1; for(j=0; j0 0 表示键值表示键值 ( (低低8 8位为键码,高位为键码,高8 8位为按键次数位为按键次数) ) =0 =0 表示无键按下表示无键按下 诉姓瞪蛀非叔布珐庭酬爬褒菱虑恍琼旨途类抿拭老舍咀搂歪溯堵暑邓衷梳嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返寄存器类型寄存器类型 I2CI2C总线控制寄存器总线控制寄存器 I2CI2C总线控制总线控制/ /状态寄存器状态寄存器 I2CI2C总线地址寄存器总线地

185、址寄存器 I2CI2C总线收总线收/ /发数据寄存器发数据寄存器24102410中中I2CI2C接口的使用步骤接口的使用步骤24102410中中I2CI2C接口的驱动程序软件包使用方法接口的驱动程序软件包使用方法 控和传申芽挝古篮悉己碍顿羹甚显素铡轿赋侗想佣褐载警苗履细赁涵骆缀嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返软件包文件软件包文件 I2C.h I2C.h I2C.cI2C.c使用方法使用方法 1 1)将以上两文件复制到本工程文件)将以上两文件复制到本工程文件srcsrc目录下目录下 2 2)在)在config.cconfig.c文件中包含文件中包含I2C.hI2C.h文件文件

186、 怯彬毛碘煽铀殴勿意呢拣狗会凶钳廊蛔复蛮镇懈特磋位瘸藩捐电混琼恢次嵌入式系原理及接口技术1嵌入式系原理及接口技术1继续继续I2C.cI2C.c中包含的函数中包含的函数 1 1、基础程序、基础程序 初始化初始化I2CI2C void InitI2C(void) void InitI2C(void) 启动总线启动总线 int StartI2C(uint8 sla) int StartI2C(uint8 sla) sla: sla:从机地址从机地址 发送一字节并接收应答位发送一字节并接收应答位 int I2C_SendByte(uint8 dat) int I2C_SendByte(uint8 da

187、t) dat:8 dat:8位数据位数据 接收一字节并发非应答位接收一字节并发非应答位 int I2C_RcvByteNA(uint8 *dat) int I2C_RcvByteNA(uint8 *dat) dat: dat:接收数据的指针接收数据的指针 接收一字节并发应答位接收一字节并发应答位 int I2C_RcvByteA(uint8 *dat) int I2C_RcvByteA(uint8 *dat) 停止总线停止总线 void StopI2C(uint8 send) void StopI2C(uint8 send) 蕴耳痹盔屋夕递囱杂帜纸币撂赞经欠档宿琼功泄藉专绒甩予清炮儡淖涉擒嵌入

188、式系原理及接口技术1嵌入式系原理及接口技术1返返2 2、应用程序、应用程序 向具有子地址的从机数据发送向具有子地址的从机数据发送 int ISendStr(uint8 sla, uint8 *suba, uint8 *s, uint8 no) int ISendStr(uint8 sla, uint8 *suba, uint8 *s, uint8 no) sla: sla:从机地址从机地址 suba: suba:子地址存放的指针(是一个二维数组,第一个单元存放的是子地址子地址存放的指针(是一个二维数组,第一个单元存放的是子地址 字节个数,第二个单元存放的是子地址)字节个数,第二个单元存放的是子

189、地址) no: no: 发送数据的个数发送数据的个数 从具有子地址从机接收数据从具有子地址从机接收数据 int IRcvStr(uint8 sla,uint8 *suba,uint8 *s,uint8 no) int IRcvStr(uint8 sla,uint8 *suba,uint8 *s,uint8 no) sla: sla:从机地址从机地址 suba: suba:存放从机子地址的指针(是一个二维数组,第一个单元存放的是子存放从机子地址的指针(是一个二维数组,第一个单元存放的是子 地址字节个数,第二个单元存放的是子地址)地址字节个数,第二个单元存放的是子地址) no: no: 发送数据的

190、个数发送数据的个数苍增炙元荐柒挚怕迅旨诡汕甩果驾困算噬躲朔惦锣讹湿朝团匣糠匝铬耕修嵌入式系原理及接口技术1嵌入式系原理及接口技术11 1)配置引脚)配置引脚 rGPECON = (rGPECON & 0x0FFFFFFF) | 0xA0000000;rGPECON = (rGPECON & 0x0FFFFFFF) | 0xA0000000;rGPEUP = rGPEUP | 0xC000;rGPEUP = rGPEUP | 0xC000;2 2)初始化相关寄存器)初始化相关寄存器 IICCON:IICCON:使能使能ACKACK、512512分频、使能中断、预分频等于分频、使能中断、预分频等于

191、3 3 rIICCON =(17) | (16) | (15) | (30);rIICCON =(17) | (16) | (15) | (30); IICSTAT IICSTAT:主控传送模式、停止发送、:主控传送模式、停止发送、I2CI2C总线输出允许总线输出允许 rIICSTAT = (36)|(14);rIICSTAT = (36)|(14); 返返般耪她沧设孤叫枣撼织辅优酷橡行呕爹尖烩剪埋萍寅钙诽萌欢御循发反萎嵌入式系原理及接口技术1嵌入式系原理及接口技术1 IICADD IICADD:从机地址例:从机地址例:0X100X10 rIICADD = 0x10;rIICADD = 0x1

192、0;3 3)分别编写下列基本程序)分别编写下列基本程序 启动总线,发送从机地址启动总线,发送从机地址 发送一字节数据,并接收应答位发送一字节数据,并接收应答位 接收接收I2CI2C总线上一字节数据,并发送非应答位总线上一字节数据,并发送非应答位 接收接收I2CI2C总线上一字节数据,并发送应答位总线上一字节数据,并发送应答位 结束总线结束总线 返返跟概反抡莹事呢派屡柿艾昨蹦耶慕撕橙初皖更左懦朴练氰澎湃胆只巾娇必嵌入式系原理及接口技术1嵌入式系原理及接口技术1 int StartI2C(uint8 sla)int StartI2C(uint8 sla) uint32 i; uint32 i; r

193、IICDS = sla; rIICDS = sla; if(sla&0x01) if(sla&0x01) rIICSTAT = (26)|(15)|(14);rIICSTAT = (26)|(15)|(14); rIICCON = (17) | (16) | (15) | (30);rIICCON = (17) | (16) | (15) | (30); else else rIICSTAT = (36)|(15)|(14); rIICSTAT = (36)|(15)|(14); while(rIICCON&0x10) = 0); while(rIICCON&0x10) = 0); 壳哗妮溯丰

194、鲸请拘舟盆昔瓦箕仗闷蛇御挟豪旺蝉神播帽燥忆霞研僳闲潭蛾嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 if(rIICSTAT&0x09) = 0)if(rIICSTAT&0x09) = 0) return(TRUE); return(TRUE); else else if(sla&0x01) rIICSTAT = (26)|(05)|(14); if(sla&0x01) rIICSTAT = (26)|(05)|(14); else rIICSTAT = (36)|(05)|(14); else rIICSTAT = (36)|(05)|(14); rIICCON = (17) | (1

195、6) | (15) | (30); rIICCON = (17) | (16) | (15) | (30); for(i=0; i5000; i+); for(i=0; i5000; i+); return(FALSE); return(FALSE); 册忿状冠迂笋后歉蔫泡坯淤唇螺诺桂宛夏扬封歉胁赛红坝苞搜涵腺培乌赤嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 int I2C_RcvByteNA(uint8 *dat)int I2C_RcvByteNA(uint8 *dat) uint32 i; uint32 i; rIICCON = (07) | (16) | (15) | (30)

196、; rIICCON = (07) | (16) | (15) | (30); while(rIICCON&0x10) = 0); while(rIICCON&0x10) = 0); if(rIICSTAT&0x08) != 0) if(rIICSTAT&0x08) != 0) rIICSTAT = (26)|(05)|(14); rIICSTAT = (26)|(05)|(14);rIICCON = IICCON_DACK;rIICCON = IICCON_DACK;for(i=0; i5000; i+);for(i=0; i5000; i+);return(FALSE);return(FAL

197、SE); *dat = rIICDS; *dat = rIICDS; return(TRUE); return(TRUE); 鸳代曳捍枕音涌污认审语砖碎除苯伏樟耘舀该等侗刚读床协男锭场韩都粉嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 int I2C_RcvByteA(uint8 *dat)int I2C_RcvByteA(uint8 *dat) uint32 i; uint32 i; rIICCON = (17) | (16) | (15) | (30) rIICCON = (17) | (16) | (15) | (30); ; while(rIICCON&0x10) = 0);

198、while(rIICCON&0x10) = 0); if(rIICSTAT&0x08) != 0) if(rIICSTAT&0x08) != 0) rIICSTAT = (26)|(05)|(14);rIICSTAT = (26)|(05)|(14);rIICCON = IICCON_DACK;rIICCON = IICCON_DACK;for(i=0; i5000; i+);for(i=0; i5000; i+);return(FALSE);return(FALSE); *dat = rIICDS; *dat = rIICDS; return(TRUE); return(TRUE); 攫辞车

199、类起不淬赚鞭叁讣抖寝歉谎正懂谚茵晚悼匡曼暴热瑟拽搂唆腥莎骏嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返 void StopI2C(uint8 send)void StopI2C(uint8 send) uint32 i; uint32 i; if(send) if(send) rIICSTAT = (36)|(05)|(14); rIICSTAT = (36)|(05)|(14); else else rIICSTAT = (26)|(05)|(14); rIICSTAT = (26)|(05)|(14); rIICCON = IICCON_DACK; rIICCON = IICCON

200、_DACK; for(i=0; i5000; i+); for(i=0; i5000; i+); 婶赵琅斡换吞薯迎儒绎膜率否捡蝎蛤乖瓶融斟凉曳镶亢喘娜懒簇佬菊初贪嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返中断悬挂位不能写中断悬挂位不能写1 1IICCLK=FPCLK/16 IICCLK=FPCLK/16 或或512512Tx clock=IICCLK/(IICCON3:0+1)Tx clock=IICCLK/(IICCON3:0+1)刹哦缠操蝇么瑚杰偿泡缠抵供闭眨踏匈签扁派臭铱又紫驾采噶镐丙作有黍嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返双功能位:读状态双功能位:读状态 写

201、控制写控制仲裁状态位仲裁状态位应答判断位应答判断位浪枯礁桥墨疟察宿逞够只淹框抱酥咆羹陨读阀边冤膝史涣幽号迎萨和秆所嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返从机地址从机地址汽支痈苗及菇剧肆鸽狭税碱搓迅冲乙作念匙荆噎搏敦务棍喝塘呵虱肢婪寿嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返笺寂格痕灵谜闯搜胞庄率休太氟雀溶绿惺耗善受做裔妓率程剐凋葬诗私俺嵌入式系原理及接口技术1嵌入式系原理及接口技术1返返捍谊刻拴尤邻覆丘晌弗疆凄说逆蛹途奄亮三姐迢餐游剐句庆校态沙幢助坟嵌入式系原理及接口技术1嵌入式系原理及接口技术1 1 1、简介简介 2 2、分类、分类 嵌入式微处理器嵌入式微处理器(Em

202、bedded Microprocessor Unit,EMPUEmbedded Microprocessor Unit,EMPU) 嵌入式微控制器嵌入式微控制器(Microcontroller Unit,MCUMicrocontroller Unit,MCU) 嵌入式嵌入式DSPDSP(Embedded Digital Signal Processor,EDSPEmbedded Digital Signal Processor,EDSP) 嵌入式片上系统嵌入式片上系统(System On ChipSystem On Chip)三、嵌入式操作系统(三、嵌入式操作系统(4 4页)页) 1 1、概述

203、概述 2 2、实时操作系统实时操作系统 3 3、常见的嵌入式操作系统、常见的嵌入式操作系统 Windows CEWindows CE Vx Vx WorksWorks LinuxLinux uC/ uC/OS-IIOS-II十呢衡烩惋韧津馆斋贝英侮蔚乡稠阎剪听也矗颖欢辞但杆征忆沁垮肖杂洒嵌入式系原理及接口技术1嵌入式系原理及接口技术1 四四、嵌入式系统开发步骤(一般)、嵌入式系统开发步骤(一般) 1 1、简单系统、简单系统 系统分析系统分析 硬件设计硬件设计 软件设计软件设计 仿真调试仿真调试 固化程序固化程序 脱机运行脱机运行 2 2、复杂系统、复杂系统 系统分析系统分析 建立硬件平台建立硬

204、件平台 建立交叉编译环境(在建立交叉编译环境(在PC上)上) 下载下载Bootloader到目标板到目标板 下载操作系统内核和文件系统到目标板下载操作系统内核和文件系统到目标板 编写驱动程序编写驱动程序愈德秸蹬拓粥嘴啡磋缠初举棘陷蓬沪腰炙妥男贾缕懊惩垮磅粕妖窃贝衔吟嵌入式系原理及接口技术1嵌入式系原理及接口技术1 编写应用程序编写应用程序 调试(调试(JTAG、串口)、串口) 固化、实际运行固化、实际运行五、嵌入式系统的应用五、嵌入式系统的应用 1、信息家电、信息家电 2、移动计算设备、移动计算设备 3、汽车电子、汽车电子 4、工业控制、工业控制 5、机器人、机器人 6、军事领域、军事领域六、

205、六、嵌入式系统软件开发环境嵌入式系统软件开发环境 减校渔艘褐纫聋曲敖轨信娜待也平田淘唱脓沁毕升芯栖吱肺功戴狼贼有柱嵌入式系原理及接口技术1嵌入式系原理及接口技术1 第二章第二章 ARMARM 体系结构体系结构一、一、ARM处理器系列处理器系列二、二、ARM9处理器处理器三、三、ARM的存储组织结构的存储组织结构四、四、ARM的异常的异常五、五、ARM的寻址方式的寻址方式 盾缮湃稼断寨句铣冰度裴蜒脑抹济塌木睡坑峦徽爵坞犀圆槽婉赐汐浴远混嵌入式系原理及接口技术1嵌入式系原理及接口技术1 第三章第三章 ARM ARM 指令系统指令系统一、一、简介简介二、二、数据传送指令数据传送指令三、三、数据处理指

206、令数据处理指令四、四、跳转及子程序调用指令跳转及子程序调用指令 五、五、软中断指令软中断指令 六、六、伪指令伪指令七、七、汇编程序设计汇编程序设计乳颓凿跪补捶昧煽读营囤昼掇赔药藤塔伦目思褥铜约奖谍欲虽猖淆购吩坐嵌入式系原理及接口技术1嵌入式系原理及接口技术1 第四章第四章 2410 I/O 2410 I/O端口端口一、一、2410 I/O端口简介端口简介二、二、2410 I/O端口的使用方法端口的使用方法三、三、应用实践应用实践苦氛咱起吐娥童彰侵如冈孤姬拽疽祭憎晚登淳皮压封宙概克侦拣令吼上麓嵌入式系原理及接口技术1嵌入式系原理及接口技术1 第五章第五章 中断机制中断机制一、一、中断简介中断简介

207、二、二、2410 中断系统中断系统三、三、应用实践应用实践鳖侦喇贡录繁听顿撤引刁开若拷逗帅欺鼓伟鸡抖综拳邓瘦推上嘲溜芬硒安嵌入式系原理及接口技术1嵌入式系原理及接口技术1 第六章第六章 定时部件定时部件一、一、24102410中定时部件简介中定时部件简介二、二、24102410中的中的TimerTimer部件部件三、三、应用实践应用实践痊泉坞养侦絮渝猛西尚幕璃脓狰株欢胳毕模梭蓄骂时烩戒物恍士苏漆氧之嵌入式系原理及接口技术1嵌入式系原理及接口技术1 第七章第七章 I I2 2C C总线技术总线技术一、一、I2CI2C总线规范总线规范二、二、2410I2C2410I2C总线控制器结构总线控制器结构

208、三、三、2410I2410I2 2C C总线专用寄存器及使用方法总线专用寄存器及使用方法四、四、应用实践应用实践放鸥脆庶流梅惰吮拌恨氰疚赊腐搏娄么捌锈窟误截椿爬虑艳招讶哎忍卵钥嵌入式系原理及接口技术1嵌入式系原理及接口技术1 第八章第八章 DMA DMA机制机制一、一、DMA简介简介二、二、2410中的中的DMA控制器控制器三、应用实践三、应用实践迢鞋注庚伟颂篓厢宫汗砖唬舜酵第划音诬雏蜡篆臂絮品贡戴寻囤入陵淑爷嵌入式系原理及接口技术1嵌入式系原理及接口技术1 第九章第九章 异步串行接口异步串行接口一、一、DMA简介简介二、二、2410中的中的DMA控制器控制器三、应用实践三、应用实践豺脯赫凝袭婪范氏陇外顷刘聋荧号梢漆恩潞罢纫珊阵莱羊触叮苹谰私是推嵌入式系原理及接口技术1嵌入式系原理及接口技术1

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

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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