付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、献给 ARM 初学者ARM 简介与编程ARM(Advanced RISC Machines )是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低 的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入 控制、消费/教育类多媒体、DSP和移动式应用等。ARM将其技术授权给世界上许多著名的半导体、软件和1.ARM 简介(摘录 )OEMT商,每个厂商得到的都是一套独一无二 的ARM相关技术及服务。利用这种合伙关系,ARM艮快成为许多全球性 RISC标准的缔造者。目前,总共有30家半导体公司与 ARM签订了硬件技术使用许可协议,其中包括Intel、I
2、BM、LG半导MRI等体、NEC SONY菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和 一系列知名公司。ARM架构是面向低预算市场设计的第一款RISC微处理器。2. 产品介绍ARM提供一系列内核、体系扩展、微处理器和系统芯片方案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行(理论上如此)。典型的产品如下。CPU内核-ARM7 :小型、快速、低能耗、集成式RISC内核,用于移动通信。-ARM7TDMI(Thumb):这是公司授权用户最多的一项产品,将ARM7旨令集同Thumb扩展组合在一起,以减少内存容量和系统成本。同时,它还利用嵌入式ICE
3、调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。该产品的典型用途是数字蜂窝电话和硬盘驱动器。-ARM9TDMI:采用5阶段管道化ARM9内核,同时配备 Thumb扩展、调试和Harvard总线。在生产工艺 相同的情况下,性能可达 ARM7TDM的两倍之多。常用于连网和顶置盒。体系扩展-Thumb:以16位系统的成本,提供 32位RISC性能,特别注意的是 它所需的内存容量非常小。 嵌入式 ICE 调试由于集成了类似于ICE的CPU内核调试技术,所以原型设计和系统芯片的调试得到了极大的简化。 微处理器-ARM710系列,包括 ARM710 ARM710T ARM720T和ARM740T
4、低价、低能耗、封装式常规系统微型处 理器,配有高速缓存(Cache)、内存管理、写缓冲和 JTAG广泛应用于手持式计算、数据通信和消费类 多媒体。-ARM940T、920T系列:低价、低能耗、高性能系统微处理器,配有Cache内存管理和写缓冲。应用于高级引擎管理、保安系统、顶置盒、便携计算机和高档打印机。-StrongARM:性能很高、同时满足常规应用需要的一种微处理器技术,与DEC联合研制,后来授权给Intel 。SA110处理器、SA1100 PDA系统芯片和SA1500多媒体处理器芯片均采用了这一技术。-ARM7500和ARM7500FE高度集成的单芯片 RISC计算机,基于一个缓存式A
5、RM7 32位内核,拥有内存 和I/O控制器、3个DMA通道、片上视频控制器和调色板以及立体声端口;ARM7500FE则增加了一个浮点运算单元以及对EDO DRAM的支持。特别适合电视顶置盒和网络计算机(NC。Windows CE的Pocket PC只支持ARM Windows CE可支持多种嵌入式处理器,但基于 Windows CE的Pocke t PC则只支持ARM一种。微软在对SH3 MIPS ARM等嵌入式处理器做了评估后认为,ARM是一种性价比较ARM可以有效地缩短应用程序开发用户在市场上可以在多家整机厂, 性能相当于 33MHz Inter 486 PC好的选择。由于目前ARM在手
6、持设备市场占有90%以上的份额,只支持 与测试的时间,也降低了研发费用。由于 ARM开放其处理器授权,因此, 商中进行选择,从而保证了这一市场的竞争性。2. ARM芯片CL-PS7111主要特点电平2.7V/3.3V .相对应CPU工作频率13MHZ/18MHz. 13MHz位节电模式ARM710A内核ARM7 CPU 8K 4 向缓存 (cache)MMU带有 64 入口 TLB(Transition Look-aside Buffer)DRAMS制器支持 16 位和 32 位 DRAMROM/SRAM/Flash Memory 控制 可译码4,5或6个独立的256M存储空间段 每个存储段支
7、持 8位,16 位和32位操作,并支持分页模式 可编程 ROM/SRAM/Flash Memory支持两个低功耗 CL-PS6700 PC卡(PCMCIA)控制器 2K片内SRAM用于程序快速执行片内 Boot ROM (128Byte)两个同步串行接口 支持 SPI, 或 Microwire2 兼容 音频解码器 (Audio Codec)27 位通用接口 GPIO(general-purpose I/O port) 3个8位和1个3位GPIO port支持键盘阵列扫描 (Scanning keyboard matrix) 两个异步串口 UARTs支持高达 115.2K 波特率内有两个接收发送
8、 (TX,RX) 16Bytes FIFOs 缓冲支持MODE控制信号DC-to-DC 转换器接口提供两个96KHZ时钟输出,通过编程duty ratio(1/16-15/16)LCD控制器操作直接信号扫描板接口 面板的大小可编程从 视频帧大小可编程到 每个像素点的位数可编程 1,2,4 位 计时器和实时时钟, 单色 LCD16到1024个像素,16 个像素为一个单位128K byte两个 16 位计时器 (Timer counter) 和一个 32 位实时时钟 (RTC)3. 调试工具及调试方法ARM Project Manager (APM) include ARM Debugger:M芯
9、片,有相当不错的开发环境和远端调试功能,支持汇编和C.它带有一个ARM自己的嵌入式操作系统 A RM Angel, 用户可以在它的上面开发自己的嵌入式软件 , 不过这个操作系统不是实时多任务的 .这个工具由ARM提供主要是开发程序,编程调试AR通过计算机串口与处理器 UART相连,设置计算机的超级终端 (Hyper Terminal ),件情况(寄存器设置,数据等)和程序运行情况,当然程序重要加入向 UART送出数据的指令,用Beep报警也 是经常用的 . 这种调试方法是用于底层调试硬件 , 找出硬件存在的问题 .通过超级终端察看硬VxWorks在Shell不能正常运行前,也是采取这种方法来调
10、试程序 ,不过一般不是硬件问题,而是BSP中存 在的问题 , 需要根据硬件 , 修改 BSP.需要说明的是:上述方法是在没有硬件仿真器的情况下采用的, 直观的办法。仿真器是底层调试硬件程序最好,最简便4. ARM7 编程要点及示例ARM编程可参考程序示例 ARM_Boot Flash ROM驱动VxWorks image 装入 ARM的过程:ARM7有两种运行模式,Boot 模式和Normal模式,Boot模式主要是把程序装入 (down load 或load )FI ash ROM中用的,Normal模式是一般运行程序用的.ARM7 Boot模式时,Flash 的地址是0x70000000片
11、选型号是 CS0 (Normal模式下,Flash 地址为0x00000000)ARM7内部有 128byte 的 BootROMW 2K的 SRAM 当需要 Download VxWorks image 时,ARM启动采用 Boot 方 式启动运行存在128byte BootROM中的程序初始化 ARM内部的COW,从COM口接受数据到2K的SRAM 这2K程序是用来真正Load VxWorks的,2K程序Load完毕后系统自动跳转到这 2K程序执行,它的作用是 再次初始化内部的 COM口 ,通过COM口接受VxWorks到DRAM然后由DRAMI入FLASH在主板2K SRAM运 行的 B
12、oot Load 程序执行过程 , 可参看程序示例中 ARM Boot Load 程序用 PC机上的 COM与 ARM内部的 UART1(COM 通信来 Download VxWorks。主要管脚定义32 条数据线 : D0D3128 条地址线 : A0A27 little endian定义, 相对应数据排列 0 1 2 3 4 5 6276 条片选信号脚 : CS0CS5, 其实作用相当于地址线 A28A31 4个8位的PORTH : PORT A, PORT B , PORT D 主要用于外围芯片信号的控制 .PORT E有双作用.例如PORT A控制键盘的行信号,PORT B用于RS23
13、2, PORT D用于控制 MODEM, FPGA.外部中断信号 EINT, EXTFIQ.编程时要根据主板原理图和硬件手册进行 看硬件图纸,该芯片和CPU的那些管脚连结.特别是PORT 口和片选线.查CPU手册,得到PORT 口和该片选的硬件地址.编程:用PORT口直接对芯片操作,如开,关,RESET等,用片选地址和芯片内地址结合对该外围芯片操作Exception vectors, 中断向量表及中断分配Vector 地址 ExceptionException Mode Priority(1=High)0x0 ResetSvc 1 0x4 Undefined InstructionUndef
14、6 0x8 Software InterruptSvc 6 0xC Prefetch AbortAbort 5 0x10 Data AbortAbort 2 0x14 ReservedNot applicable Not applicable 0x18 Interrupt (IRQ)irq 40x1C Fast Interrupt (FIQ)Fiq 3这个向量表必须要放置在系统地址0x00000000( 般是逻辑地址,即经过MMI映射后的地址)处.一般是在这些地址上放跳转指令BL, 跳到相应的地址空间执行相应的程序如系统执行从 0x00000000 Reset开始, Reset 跳转到某一地址
15、开始运行操作系统程序示例 ,中断向量表 (ARM asm):_VectorStart ; Start of ARM processor vectorsLDR pc,ResetV ; 00 - ResetLDR pc,UndefV ; 04 - Undefined instructionsLDR pc,SWIV ; 08 - SWI instructionsLDR pc,PAbortV ; 0C - Instruction fetch abortsLDR pc,DAbortV ; 10 - Data access abortsLDR pc,UnusedV ; 14 - Reserved (was
16、 address exception)LDR pc,IRQV ; 18 - IRQ interruptsLDR pc,FIQV ; 1C - FIQ interrupts中断号分配 (FIQ, IRQ)中断类型 中断号 Name说明FIQ 0 外部中断 EXTFIQ 管脚 NEXT FIQIRQ 5 外部中断 EINT1 管脚 NEINT1IRQ 6 外部中断 EINT2 管脚 NEINT2IRQ 7 外部中断 EINT3 管脚 NEINT3IRQ 12 内部中断 UTXINT1 UART1 TX FIFO 为空中断号也是寄存器INTMR和INTSR的位,所以在ARM中中断的编程要点是 看硬件
17、图纸,该外设和CPU的那一个管脚连结.查CPU手册,得到中断号及INTMR,INTSR的地址.编程 注: 如果不是写底层 driver, 只是在系统上层编程 ( 如 VxWorks, Linux) 知道中断号即可 .程序示例 (VxWorks): / 登记中断号 5, 和相应的中断例程 ComISR.intConnect ( ( VOIDFUNCPTR * ) 5, ComISR, 0 ) ;/ 使能这中断intEnable ( ( VOIDFUNCPTR * ) 5 );ARM Interrupts: ARM processors implement fast and normal leve
18、l of interrupt,signalled extern ally, synchronise interrupts before an exception is raised. A fast interrupt requst (FIQ) wi ll desable subsequent normal and fast interrupt by setting the I and F bit in CPSR,and a nor mal interrup request(IRQ) will disable subsequent normal interrupt by setting I bi
19、t in CPSR.计时器中断编程过程ARM7一般内部有两个16位计时器仃imer counter)和一个32位实时时钟(RTC),计时器中断属于IRQ中断,这里以计时器 1 为例叙述一下中断的编程过程 设置interrup mask INTMR1 寄存器0x80000240 第8位TC1OI计时器1为使能.在0x800000300计时器1的数据寄存器TC1D写入指定数据,这样数据开始从这个给定的数开始递减计数,计数递减至0后,会产生一个溢出underflow IRQ 中断请求,中断状态寄存器INTSR1 0x80000240第8位TC1OI置位.系统会跳到 中断向量表地址 0x0000001
20、8 处, 执行相应的中断程序 , 中断程序通过判断中断的类型 (判断中断状态寄存 器的位), 来执行相应的中断服务程序 ISR. 中断状态寄存器标志位复位 ,计时器开始重新开始计时 .存储空间管理单元 (MMU)物理地址映射 重点在于片选地址 CS的选取,另外MMI映射需要参考这个物理地址ARM7物理地址映射表地址 内容 大小 备注0xF000.0000 Unused 256Mbytes 0xE000.0000 Unused 256Mbytes0xD000.0000 DRAM Bank 1 256Mbytes0xC000.0000 DRAM Bank 0 256Mbytes 外接 DRAM 0
21、x8000.2000 Unused -1Gbytes0x8000.0000 内部寄存器地址 8Kbytes 主要的 I/O 和控制0x7000.0000 Boot ROM 128 bytes 片内,封有 Boot 程序0x6000.0000 On-chip SRAM 2 Kbytes片内,存放 Load 程序0x5000.0000 PCMCIA-1(NCS5) 4*64 Mbytes 0x4000.0000 PCMCIA-0(NCS4) 4*64 Mbytes0x3000.0000 外部扩展 (NCS3) 256Mbytes0x2000.0000 外部扩展 (NCS2) 256Mbytes0x1000.0000 ROM Bank 1(NCS1) 256Mbytes0x0000.0000 ROM Bank 0(NCS0) 256Mbytes 外接 Flash ROMMMU虚拟(逻辑)地址和物理地址的映射实例Vxworks支持的ARM架构的处理器,一般是RAM勺
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年学习防灾科普知识 平安抵御暴雨台风山洪塌方灾害
- 2026 年暴雨出行安全防范科普教育课件
- 人工智能银行客户服务创新
- 人工智能与市场微观结构
- 2026年宝鸡太白山技师学院单招综合素质考试模拟试卷(考点提分)附答案详解
- 2024年河南艺术职业学院高职单招职业技能考试题库附完整答案详解(名师系列)
- 2025年地图鱼增色粮配方升级研究
- 2026年办公用设备行业市场前景报告
- 2025年桥安职业学院单招职业技能考试模拟试卷附完整答案详解(名师系列)
- 2025年山东航空技师学院高职单招职业技能考试模拟试卷及参考答案详解【B卷】
- 2026四川成都市总工会东部新区办事处招聘工会社会工作者3人笔试备考题库及答案详解
- 2026年浙江省金华市辅警协警招聘考试备考题库及答案详解
- 2025 版心肺复苏(CPR)操作流程图(高清可打印)
- 2026年高考全国二卷数学试题真题及答案详解(精校打印)
- 2026广西桂林市招聘县级政府统计机构统计协管员(协统员)165人重点基础提升(共500题)附带答案详解
- 《 大学生军事理论教程》全套教学课件
- 私人房屋装修安全免责协议书
- 自动控制原理 第3版 课件全套 陶洪峰 第1-8章 概论、控制系统数学模型-线性离散系统分析
- 微生物工程课件
- 新生儿患者抗菌药物的应用课件
- 生物医学传感与检测原理 课件 第7、8章 生物医学中的化学传感与检测、生物标志物的传感检测新技术
评论
0/150
提交评论