




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.长沙师范专科学校电子信息工程 系 计算机应用 专业 级毕业论文(设计)题目: ARM启动过程分析及应用研究姓名:宋政艳 学号:2009540830139指导教师(签名): 年 月 日前 言自从电子技术发展起来之后,ARM因其体积小、低功耗、低成本高性能的优势,正以惊人的速度向前发展,在工业控制,浪费类电子产品和成像安全产品、无线网络与通讯等领域得到了广泛应用,极大地改进了这些行业的生产效率、提高了生产力、除此之外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用,ARM技术在许多不同领域的地位日益巩固。本文以嵌入式系统设计作为具体的研究对象,选取ARM微处理器作为嵌入
2、和式设计的核心,系统地介绍了ARM和嵌入式操作系统、工作原理和启动过程分析。目 录前 言第一章 ARM 概述11.1 ARM简介11.1.1 RISC结构特性21.1.2 常用ARM处理器系列31.2 ARM微处理器的应用领域及特点71.2.1 ARM 微处理器的应用领域71.2.2ARM处理器的特点8第二章 ARM9简述82.1 ARM9简介92.2 ARM9体系结构92.2.1 ARM工作状态92.2.2ARM9处理器的主要结构及其特点10第三章 ARM9分析启动113.1ARM9启动过程11第四章 总结15:第一章 ARM 概述1.1 ARM简介ARM(Advanced RISC Mac
3、hines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,它本身不直接从事芯片生产,靠转让设计许可,由合作公司生产各具特色的芯片,世
4、界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,从而使产品更容易进入市场被消费者所接受,更具有竞争力。1.1.1 RISC结构特性ARM内核采用精简指令集计算机(RISC)体系结构,它是一个小门数的计算机,其指令集和相关的译码机制比复杂指令集计算机(CISC)要简单得多,其目标就是设计出一套能在高时钟频率下单周期执行,简单而有效地的指令集。RISC的设计重点在
5、于降低处理器中指令执行部件的硬件复杂度,这是因为软件比硬件更容易提供更大的灵活性和更高的智能化,因此ARM具备了非常典型的RISC结构特性: (1)具有大量的通用寄存器; (2)通过装载/保存(load-store)结构使用独立的load和store指令完成数据在寄存器和外部存储器之间的传送,处理器只处理寄存器中的数据,从而可以避免多次访问存储器; (3)寻址方式非常简单,所有装载/保存的地址都只由寄存器内容和指令域决定; (4)使用统一和固定长度的指
6、令格式。 此外,ARM体系结构还提供: (1)每一条数据处理指令都可以同时包含算术逻辑单元(ALU)的运算和移位处理,以实现对ALU和移位器的最大利用; (2)使用地址自动增加和自动减少的寻址方式优化程序中的循环处理; (3)load/store指令可以批量传输数据,从而实现了最大数据吞吐量; (4)大多数ARM指令是可“条件执行”的,也就是说只有当某个特定条件满足时指令才会被执行。通过使用条件执行,可以
7、减少指令的数目,从而改善程序的执行效率和提高代码密度。 这些在基本RISC结构上增强的特性使ARM处理器在高性能、低代码规模、低功耗和小的硅片尺寸方面取得良好的平衡。 从1985年ARM1诞生至今,ARM指令集体系结构发生了巨大的改变,还在不断地完善和发展。为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了7种主要的ARM指令集体系结构版本,以版本号V1V7表示。1.1.2 常用ARM处理器系列ARM公司开发了很多系列的ARM
8、处理器核,应用比较多的是ARM7系列、ARM9系列、ARM10系列、ARM11系列、Intel的Xscale系列和MPCore系列,还有针对低端8位MCU市场最新推出的CortexM3系列,其具有32位CPU的性能、8位MCU的价格。1CortexTM-M3处理器 ARM CortexTM-M3处理器是一个面向低成本,小管脚数目以及低功耗应用,并且具有极高运算能力和中断响应能力的一个处理器内核。其问世于2006年,第一个推向市场的是美国LuminaryMicro半导体公司的LM3S系列ARM。 CortexTM-M3处理器采用了纯Thumb2指令的
9、执行方式,使得这个具有32位高性能的ARM内核能够实现8位和16位处理器级数的代码存储密度,非常适用于那些只需几K存储器的MCU市场。在增强代码密度的同时,该处理器内核是ARM所设计的内核中最小的一个,其核心的门数只有33K,在包含了必要的外设之后的门数也只为60K。这使它的封装更为小型,成本更加低廉。在实现这些的同时,它还提供性能优异的中断能力,通过其独特的寄存器管理并以硬件处理各种异常和中断的方式,最大程度的提高了中断响应和中断切换的速度。 2CortexTM-R4处理器 CortexTM-R4处理器是首款基于ARM v7架构的高级嵌入式处理器,其目标主要为产量巨大
10、的高级嵌入式应用方案,如硬盘,喷墨式打印机,以及汽车安全系统等等。 CortexTM-R4处理器在节省成本与功耗上为开发者们带来了关键性的突破,在与其他处理器相近的芯片面积上提供了更为优越的性。CortexTM-R4采用了90纳米生产工艺,最高运行频率可达400MHz,该内核整体设计的侧重点在于效率和可配置性。3CortexTM-R4F处理器 CortexTM-R4F处理器在CortexTM-R4处理器的基础上加入了代码错误校正(ECC)技术、浮点运算单元(FPU)以及DMA综合配置的能力,增强了处理器在存储器保护单元,缓存,紧密耦合存储器,DMA
11、访问以及调试方面的能力。4CortexTM-A8处理器 CortexTM-A8是ARM公司所开发的基于ARMv7架构的首款应用级处理器,同时也是ARM所开发的同类处理器中性能最好、能效最高的处理器。CortexTM-A8是ARM公司首个超量处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEONTM技术、以及能够支持JAVA和其他文字代码语言(byte-code language)的提前和即时编译的Jazelle® RCT(Run-time Compilation Target 运行时编译目标代码)技术。ARM最新的Artisan
12、74; Advantage-CE库以其先进的泄漏控制技术使CortexTM-A8处理器实现了优异的速度和能效。5ARM7系列 ARM7TDMI是ARM公司1995年推出的第一个处理器内核,是目前用量最多的一个内核。ARM7系列包括ARM7TDMI、ARM7TDMIS、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJS。该系列处理器提供Thumb 16位压缩指令集和EmbeddedICE JTAG软件调试方式,适合应用于更大规模的SoC设计中。其中ARM720T高速缓存处理宏单元还提供8KB缓存、读缓冲和具有内存管理功能的高性能处理器,支持Lin
13、ux和Windows CE 等操作系统。6ARM9系列 ARM9系列于1997年问世,ARM9系列有ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。所有的ARM9系列处理器都具有Thumb压缩指令集和基于EmbeddedICE JTAG 的软件调试方式。ARM9系列兼容ARM7系列,而且能够比ARM7进行更加灵活的设计。 7ARM10系列 ARM10发布于1999年,ARM10系列包括ARM1020E和ARM1022E微处理器核。其核心在于使用向量浮点(VFP)单元VFP10提供高性能
14、的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能,为用户界面的2D和3D图形引擎应用夯实基础,如视频游戏机和高性能打印机等。8ARM11系列 ARM1136JS发布于2003年,是针对高性能和高能效的应用而设计的。ARM1136JS是第一个执行ARMv6架构指令的处理器,它集成了一条具有独立的load-store和算术流水线的8级流水线。ARMv6指令包含了针对媒体处理的单指令多数据流(SIMD)扩展,采用特殊的设计以改善视频处理性能。 ARM1136JFS就是为了进行快速浮点运算,而在ARM1136JS增加了向量浮点单元。9Xscale
15、Xscale处理器将Intel处理器技术和ARM体系结构融为一体,致力于为手提式通信和消费电子类设备提供理想的解决方案。并提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令和集成数字信号处理(DSP)指令。1.2 ARM微处理器的应用领域及特点1.2.1 ARM 微处理器的应用领域到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域。(1)工业控制领域:作为32位的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。(2)无线通信领域
16、:目前已有85%以上的无线通信设备采用了ARM技术, ARM以其高性能和低成本的特点,在该领域的地位日益巩固。(3)网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上进行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。(4)消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。(5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。除此以外,ARM微处理器及技术还应用到许多其他领域,并会在将来取得更加广泛的应用。1.2.2 ARM处
17、理器的特点采用RISC架构的ARM微处理器一般具有如下特点。(1)体积小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件;(3)大量使用寄存器,指令执行速度更快;(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定。第二章 ARM9简述2.1 ARM9简介ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。以手机应用为例,2G手机只需提供语音及简单的文字短信功能,而目前的25G和未来的3G手机除了提供这两项功能外,还必须提供各种其他的应用
18、功能。主要包括:(1)无线网络设备:手机上网、电子邮件及其他定位服务等功能;(2)PDA功能:含有用户操作系统(Windows CE、Symbian OS、Linux等)及其他功能;(3)高性能功能:音频播放器、视频电话、手机游戏等。在25G和3G的应用中ARM9已经全面替代了ARM7。因为ARM9的新特性能够满足各种新需求的同时减少产品研发时间并降低研发费用新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。2.2 ARM9体系结构2.2.1 ARM工作状态 从编程者角度看ARM
19、9有两种工作状态,并且可相互切换 ARM状态 , 处理执行32位的ARM指令 字对齐 Thumb状态,处理执行16位的Thumb指令 半字对齐如果在1K的存储空间中,可以放32条ARM指令,就可以放64条Thumb指令,因此在存放Thunb指令时,代码密度高2.2.2 ARM9处理器的主要结构及其特点ARM9是哈佛结构(1)32 b定点RISC处理器,改进型ARMThumb代码交织,增强性乘法器设计,支持实时(real-time)调试; (2)片内指令和数据SRAM,而且指令和数据的存储器容量可调; (3)片内指令和数据高速缓冲器(Cache)容量从4 KBl MB: (4)设置保护单元(Pr
20、otoction Unit),非常适合嵌入式应用中对存储器进行分段和保护; (5)采用AMBA AHB总线接口,为外设提供统一的地址和数据总线; (6)支持外部协处理器,指令和数据总线有简单的握手信令支持; (7)支持标准基本逻辑单元扫描测试方法; (8)支持BIST(Built-in-self-test); (9)支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。第三章 ARM9分析启动3.1 ARM9启动过程在ARM设计开发中,启动代码的编写是一个极重要的过程。然而启动代码随具体的目标系统和开发系统有所区别,但通常包含以下部分: ·向量表定义
21、60; ·地址重映射及中断向量表的转移 ·堆栈初始化 ·设置系统时钟频率 ·中断寄存器的初始化 ·进入C应用程序下面就结合PHILIPS的LPC2119的启动代码来分析与说明ARM7处理器的启动代码的编写。1.1向量表定义ARM芯片上电或复位后,系统进入管理模式、ARM状态、PC(R15寄存器)指向0x00000000地址处。中断向量表为每一个中断设置1个字的
22、存储空间,存放一条跳转指令,通过这条指令使PC指针指向相应的中断服务程序入口,继而执行相应的中断处理程序。LPC2119的中断向量表和其它基于ARM核的芯片中断向量表较类似,只要注意LPC2119要使向量表所有数据32位累加和为零(0x000000000x0000001C的8个字的机器码累加), 才能使用户的程序脱机运行。LPC2119的中断向量表如图1所示。1.2 地址重映射及中断向量表的转移 ARM7处理器在复位后从地址0读取第一条指令并执行,因此系统上电后地址0必须是非易失的ROM/FLASH,这样才能保证处理器有正确可用的指令。为了加快对中断的处理以及实现在不同操作系统模式下
23、对中断的处理,这就需要重新映射中断向量表、Bootblock和SRAM空间的一小部分。ARM具有非常灵活的存储器地址分配特性。ARM处理器的地址重映射机制有两种情况:由专门的寄存器完成重映射(Remap),只需对相应的Remap寄存器相应位设置即可。没有专门的Remap控制寄存器需要重新改写用于控制存储器起始地址的块(Bank)寄存器来实现Remap。在LPC2119上的重映射,可以通过存储器映射控制器来实现。实现REMAP操作的程序实现如下: MOV R8,#0x40000000;
24、160; /设置新向量表起始地址/LDR R9,=Interrupt_Vector_Table; /读原向量表源地址/LDMIA R9!,(R0-R7); /复制中断向量表及中断处理程序的入口地址到RAM中(64字节)/STMIA R8!,(R0-R7)LDMIA R9!,(
25、R0-R7)STMIA R8!,(R0-R7)LDR R8,=MEMMAP ; /REMMAP操作/MOV R9,#0x02STR R9, R81.3 堆栈初始化启动代码中各模式堆栈空间的设置是为中断处理和程序跳转时服务的。当系统响应中断或程序跳转时,需要将当前处理器的状态和部分重要参数保存在一段存储空间中,所以对每个模式都要进行堆栈初始化工作,给每个模式的SP定义一个堆栈基地址和堆栈的容量。堆栈的初始化有两种方法:第一种方法是结合ADS开发套件中的分散加载文件来定义堆栈。第
26、二种方法是最简单也是最常用的一种就是直接进入对应的处理器模式,为SP寄存器指定相应的值。下面给出了用第二种方法初始化管理模式和中断模式堆栈的程序:MSR CPSR_c, #0xD3 ; /切换到管理模式,并初始化管理模式的堆栈/LDR SP, Stack_SvcMSR CPSR_c, #0xD2 ; /切换到IRQ模式,并初始化IRQ模式的堆栈/
27、LDR SP, Stack_Irq1.4 系统部分时钟初始化 时钟是芯片各部分正常工作的基础,应该在进入main()函数前设置。部分ARM7片子内部集成有PLL(锁相环)电路,用户可以用低频率的晶振通过PLL电路获得一个较高频率的时钟。LPC2119内部的PLL电路接受的输入时钟频率范围为1025MHz,输入频率通过一个电流控制振荡器(CCO)倍增到范围1060MHz。同时为了使高速的ARM处理器与低速的外设正常通讯和降低功耗(降低外设运行速度使功耗降低),LPC2119又集成了一个额外的分频器。PLL的激活是由PLLCON寄存器控制。PLL倍频器和分频器的值由PLLCF
28、G寄存器控制。对PLLCON或PLLCFG寄存器的更改必须遵循严格的顺序,否则所作更改是无法生效的(在连续的VPB周期内向PLLFEED寄存器写入0xAA、0x55,在此期间中断必须是被禁止的。)1.5 中断初始化 ARM7的向量中断控制器(Vectored Interrupt Controller)可以将中断编程为3类:FIQ、向量IRQ、非向量IRQ。FIQ中断请求的优先级最高,其次是IRQ中断请求,非向量IRQ的优先级最低。VIC具有32个中断请求输入,但在LPC2219中只占用了17个中断输入。对于这17个中断源的IRQ/FIQ选择,由VICIntSelect寄存器控制,当对应位设置位1时,则此中断为FIQ中断,否则为IRQ中断。若再将IRQ中断设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度河北省护师类之护士资格证题库附答案(典型题)
- 2025江苏扬州工业职业技术学院博士专项招聘16人笔试备考题库带答案详解
- 2024年河北邯郸成安县事业单位招聘工作人员255名笔试备考试题及参考答案详解一套
- 2025年东营市公务员考试行测真题及答案详解(易错题)
- 山东省济宁市嘉祥县2024-2025学年高二下学期3月月考物理试题(解析版)
- 江苏省宿迁市沭阳县2024-2025学年高一下学期期中物理试题
- 湖南省长沙市雅礼教育集团2024-2025学年高一下学期期中考试物理试题(解析版)
- 房地产行业的发展趋势与展望
- 肠梗手术演示 肠梗阻处理方法详述
- 德克士的创业历程
- 25春国家开放大学《马克思主义基本原理》专题测试1-8参考答案
- 2025年广州市越秀区五下数学期末综合测试模拟试题含答案
- 《新能源材料概论》 课件 第1章 光电转换新能源材料
- 《桥梁安全检测》课件
- 校园剧本杀创业计划书
- 《燃气安全隐患排查导则-天然气(试行)》知识培训
- 2025年中国国新基金管理有限公司招聘笔试参考题库含答案解析
- 中药调剂技术模块二 中药饮片调剂
- RoHS及REACH培训材料课件
- 新产品研发与实施进度表
- 高压电力知识培训课件
评论
0/150
提交评论