ARM简介及编程.doc

上传人:m**** 文档编号:543152986 上传时间:2022-12-13 格式:DOC 页数:10 大小:35KB
返回 下载 相关 举报
ARM简介及编程.doc_第1页
第1页 / 共10页
ARM简介及编程.doc_第2页
第2页 / 共10页
ARM简介及编程.doc_第3页
第3页 / 共10页
ARM简介及编程.doc_第4页
第4页 / 共10页
ARM简介及编程.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《ARM简介及编程.doc》由会员分享,可在线阅读,更多相关《ARM简介及编程.doc(10页珍藏版)》请在金锄头文库上搜索。

1、ARM简介及编程2007-01-02 嵌入式在线 收藏 | 打印 1.ARM简介(摘录) ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。 ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。 目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中

2、包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。 ARM架构是面向低预算市场设计的第一款RISC微处理器。 2.产品介绍 ARM提供一系列内核、体系扩展、微处理器和系统芯片方案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行(理论上如此)。典型的产品如下。 CPU内核 -ARM7:小型、快速、低能耗、集成式RISC内核,用于移动通信。 - ARM7TDMI(Thumb):这是公司授权用户最多的一项产品,将ARM7指令集同Thumb扩展组合在一起,以减少内存容量和系统成本

3、。同时,它还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。该产品的典型用途是数字蜂窝电话和硬盘驱动器。 -ARM9TDMI:采用5阶段管道化ARM9内核,同时配备Thumb扩展、调试和Harvard总线。在生产工艺相同的情况下,性能可达ARM7TDMI的两倍之多。常用于连网和顶置盒。 体系扩展 - Thumb:以16位系统的成本,提供32位RISC性能,特别注意的是它所需的内存容量非常小。 嵌入式ICE调试 由于集成了类似于ICE的CPU内核调试技术,所以原型设计和系统芯片的调试得到了极大的简化。 微处理器 -ARM710系列,包括ARM710、ARM710T、AR

4、M720T和ARM740T:低价、低能耗、封装式常规系统微型处理器,配有高速缓存(Cache)、内存管理、写缓冲和JTAG。广泛应用于手持式计算、数据通信和消费类多媒体。 -ARM940T、920T系列:低价、低能耗、高性能系统微处理器,配有Cache、内存管理和写缓冲。应用于高级引擎管理、保安系统、顶置盒、便携计算机和高档打印机。 -StrongARM:性能很高、同时满足常规应用需要的一种微处理器技术,与DEC联合研制,后来授权给Intel。SA110处理器、SA1100 PDA系统芯片和SA1500多媒体处理器芯片均采用了这一技术。 -ARM7500和ARM7500FE:高度集成的单芯片R

5、ISC计算机,基于一个缓存式ARM7 32位内核,拥有内存和I/O控制器、3个DMA通道、片上视频控制器和调色板以及立体声端口;ARM7500FE则增加了一个浮点运算单元以及对EDO DRAM的支持。特别适合电视顶置盒和网络计算机(NC)。 Windows CE的Pocket PC只支持ARMWindows CE可支持多种嵌入式处理器,但基于Windows CE的Pocket PC则只支持ARM一种。微软在对SH3、MIPS、ARM等嵌入式处理器做了评估后认为,ARM是一种性价比较好的选择。由于目前ARM在手持设备市场占有90%以上的份额,只支持ARM,可以有效地缩短应用程序开发与测试的时间,

6、也降低了研发费用。由于ARM开放其处理器授权,因此,用户在市场上可以在多家整机厂商中进行选择,从而保证了这一市场的竞争性。 3. ARM芯片CL-PS7111主要特点电平2.7v/3.3v.相对应CPU工作频率13MHz/18MHz. 13MHz位节电模式, 性能相当于33MHz Inter 486 PC ARM710A内核 ARM7 CPU 8K 4向缓存(cache) MMU 带有64入口TLB(Transition Look-aside Buffer) DRAM控制器 支持16位和32位DRAM ROM/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缓冲 支持MODEM控制信号 DC-to-DC转换器接口 提供两个96KHz时钟输出,通过编程duty ratio(1/16-15/16)操作 LCD控制器 直接信号扫描板接口,单色LCD 面板的大小可编程从16到1024个像素,16个像素为一个单位 视频帧大小可编程到128K byte 每个像素点的位数可编程1,2,4位 计时器和实时时钟 两个16位计时器(Timer counter)和一个32位实时时钟(RTC) 4. 调试工具及调试方法 ARM Project Manager (APM) include ARM Debuger: 这个工具由A

9、RM提供主要是开发程序, 编程调试ARM芯片, 有相当不错的开发环境和远端调试功能, 支持汇编和C. 它带有一个ARM自己的嵌入式操作系统ARM Angel, 用户可以在它的上面开发自己的嵌入式软件, 不过这个操作系统不是实时多任务的. 通过计算机串口与处理器UART相连,设置计算机的超级终端 ( Hyper Terminal ), 通过超级终端察看硬件情况(寄存器设置,数据等)和程序运行情况,当然程序重要加入向UART送出数据的指令, 用Beep报警也是经常用的. 这种调试方法是用于底层调试硬件,找出硬件存在的问题. VxWorks 在Shell 不能正常运行前,也是采取这种方法来调试程序,

10、不过一般不是硬件问题,而是BSP中存在的问题,需要根据硬件,修改BSP. 需要说明的是:上述方法是在没有硬件仿真器的情况下采用的,仿真器是底层调试硬件程序最好,最简便直观的办法。 5. ARM7 编程要点及示例 ARM编程可参考程序示例 ARM_Boot Flash ROM驱动 VxWorks image 装入ARM的过程: ARM7 有两种运行模式, Boot 模式和 Normal 模式, Boot模式主要是把程序装入(down load 或load )Flash ROM中用的, Normal模式是一般运行程序用的. ARM7 Boot 模式时, Flash 的地址是0x70000000片选

11、型号是CS0 (Normal模式下,Flash地址为0x00000000) ARM7内部有128byte的BootROM和2K的SRAM,当需要Download VxWorks image时,ARM启动采用Boot方式启动运行存在128byte BootROM中的程序初始化ARM内部的COM口,从COM口接受数据到2K的SRAM,这2K程序是用来真正Load VxWorks的,2K程序Load完毕后系统自动跳转到这2K程序执行,它的作用是再次初始化内部的COM口,通过COM口接受VxWorks到DRAM,然后由DRAM写入FLASH。在主板2K SRAM运行的Boot Load程序执行过程,可

12、参看程序示例中ARM Boot Load程序 写入完毕后,切换到Normal模式重新启动系统,系统自动跳到FLASH 0X00000000开始运行VXWORKS。 用PC机上的COM1与ARM内部的UART1(COM)通信来Download VxWorks。 主要管脚定义 32条数据线: D0-D31 28条地址线: A0-A27 little endian 定义, 相对应数据排列 0 1 2 3 4 5 6-27 6条片选信号脚: CS0-CS5, 其实作用相当于地址线 A28-A31 4个8位的PORT口: PORT A, PORT B , PORT D主要用于外围芯片信号的控制. POR

13、T E有双作用. 例如 PORT A 控制键盘的行信号, PORT B 用于RS232, PORT D 用于控制MODEM, FPGA. 外部中断信号EINT, EXTFIQ. 编程时要根据主板原理图和硬件手册进行. 看硬件图纸, 该芯片和CPU的那些管脚连结. 特别是 PORT 口和片选线. 查CPU手册, 得到PORT 口和该片选的硬件地址. 编程: 用PORT口直接对芯片操作,如开,关,RESET等, 用片选地址和芯片内地址结合对该外围芯片操作. Exception vectors, 中断向量表及中断分配 Vector 地址ExceptionException ModePriority(

14、1=High) 0x0ResetSvc1 0x4Undefined InstructionUndef6 0x8Software InterruptSvc6 0xCPrefetch AbortAbort5 0x10Data AbortAbort2 0x14ReservedNot applicableNot applicable 0x18Interrupt (IRQ)irq4 0x1CFast Interrupt (FIQ)Fiq3 这个向量表必须要放置在系统地址0x00000000 (一般是逻辑地址, 即经过MMU映射后的地址)处. 一般是在这些地址上放跳转指令 BL, 跳到相应的地址空间执行相

15、应的程序. 如系统执行从0x00000000 Reset开始, Reset 跳转到某一地址开始运行操作系统. 程序示例,中断向量表 (ARM asm): _VectorStart ; Start of ARM processor vectors LDR pc,ResetV ; 00 - Reset LDR pc,UndefV ; 04 - Undefined instructions LDR pc,SWIV ; 08 - SWI instructions LDR pc,PAbortV ; 0C - Instruction fetch aborts LDR pc,DAbortV ; 10 - Data access aborts

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

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