2022年ARM学习培训资料.docx

上传人:C****o 文档编号:12782478 上传时间:2022-04-26 格式:DOCX 页数:12 大小:43.01KB
返回 下载 相关 举报
2022年ARM学习培训资料.docx_第1页
第1页 / 共12页
2022年ARM学习培训资料.docx_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《2022年ARM学习培训资料.docx》由会员分享,可在线阅读,更多相关《2022年ARM学习培训资料.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品学习资源ARM 简介及编程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 内核,用于移动通信;- ARM7TDMIThumb:这是公司授权用户最多的一项产品,将ARM7 指令集同 Thumb

3、扩展组合在一起,以削减内存容量和系统成本;同时,它仍利用嵌入式ICE 调试技术来简化系统设计,并用一个DSP 增强扩展来改进性能;该产品的典型用途是数字蜂窝电话和硬盘驱动器;-ARM9TDMI:接受 5 阶段管道化 ARM9 内核,同时配备 Thumb 扩展、调试和 Harvard总线;在生产工艺相同的情形下,性能可达 ARM7TDMI的两倍之多; 常用于连网和顶置盒;体系扩展- Thumb: 以 16 位系统的成本, 供应 32 位 RISC 性能,特殊留意的是它所需的内存容量特殊小;欢迎下载精品学习资源嵌入式 ICE 调试由于集成了类似于ICE 的 CPU 内核调试技术,所以原型设计和系统

4、芯片的调试得到了极大的简化;微处理器-ARM710系列,包括 ARM710 、ARM710T 、 ARM720T和 ARM740T: 低价、低能耗、封装式常规系统微型处理器,配有高速缓存(Cache)、内存治理、写缓冲和JTAG;广泛应用于手持式运算、数据通信和消费类多媒体;-ARM940T 、920T 系列 :低价、低能耗、高性能系统微处理器,配有Cache、内存治理和写缓冲;应用于高级引擎治理、保安系统、顶置盒、便携运算机和高档打印机;-StrongARM: 性能很高、同时中意常规应用需要的一种微处理器技术,与DEC 联合研制,后来授权给 Intel;SA110 处理器、 SA1100 P

5、DA 系统芯片和 SA1500 多媒体处理器芯片均接受了这一技术;-ARM7500和 ARM7500FE: 高度集成的单芯片RISC 运算机,基于一个缓存式 ARM7 32位内核,拥有内存和I/O 把握器、 3 个 DMA通道、片上视频把握器和调色板以及立体声端 口;ARM7500FE就增加了一个浮点运算单元以及对EDO DRAM的支持; 特殊适合电视顶置盒和网络运算机( NC);Windows CE 的 Pocket PC 只支持 ARMWindows CE可支持多种嵌入式处理器,但基于Windows CE 的 Pocket PC 就只支持 ARM 一种; 微软在对 SH3、MIPS 、AR

6、M 等嵌入式处理器做了评估后认为, ARM 是一种性价比较好的选择;由于目前ARM 在手持设备市场占有90%以上的份额,只支持ARM ,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用;由于 ARM 开放其处理器授权,因此,用户在市场上可以在多家整机厂商中进行选择,从而保证了这一市场的竞争性;2. ARM 芯片 CL-PS7111 主要特点 BLOCKQUOTEBLOCKQUOTE电平 2.7v/3.3v.相对应 CPU 工作频率 13MHz/18MHz. 13MHz位节电模式 , 性能相当于 33MHz Inter 486 PC欢迎下载精品学习资源ARM710A内核ARM7 CPU8

7、K 4 向缓存 cacheMMU带有 64 入口 TLBTransition Look-aside BufferDRAM把握器支持 16 位和 32 位 DRAMROM/SRAM/Flash Memory把握可译码 4,5 或 6 个独立的 256M 储备空间段每个储备段支持 8 位,16 位和 32 位操作 ,并支持分页模式可编程 ROM/SRAM/Flash Memory支持两个低功耗 CL-PS6700 PC 卡PCMCIA 把握器2K片内 SRAM 用于程序快速执行片内 Boot ROM 128Byte两个同步串行接口支持 SPI,或 Microwire2兼容音频解码器 Audio C

8、odec27 位通用接口 GPIOgeneral-purpose I/O port 3 个 8 位和 1 个 3 位 GPIO port支持键盘阵列扫描 Scanning keyboard matrix两个异步串口UARTs支持高达 115.2K波特率内有两个接收发送 TX,RX 16Bytes FIFOs缓冲支持 MODEM把握信号DC-to-DC 转换器接口欢迎下载精品学习资源供应两个 96KHz 时钟输出 ,通过编程 duty ratio1/16-15/16 操作LCD 把握器直接信号扫描板接口 ,单色 LCD面板的大小可编程从16 到 1024 个像素 ,16 个像素为一个单位视频帧大

9、小可编程到128K byte每个像素点的位数可编程1,2,4 位计时器和实时时钟两个 16 位计时器 Timer counter 和一个 32 位实时时钟 RTC /BLOCKQUOTE/BLOCKQUOTE3. 调试工具及调试方法 BLOCKQUOTEARM Project Manager APM include ARM Debuger:这个工具由 ARM 供应主要是开发程序 , 编程调试 ARM 芯片 , 有相当不错的开发环境和远端调试功能, 支持汇编和 C. 它带有一个ARM 自己的嵌入式操作系统ARM Angel,用户可以在它的上面开发自己的嵌入式软件, 不过这个操作系统不是实时多任务

10、的./BLOCKQUOTEBLOCKQUOTE通过运算机串口与处理器UART 相连,设置运算机的超级终端 Hyper Terminal ,通过超级终端观看硬件情形 寄存器设置 ,数据等 和程序运行情形 ,当然程序重要加入向UART 送出数据的指令 , 用 Beep 报警也是经常用的. 这种调试方法是用于底层调试硬件,找出硬件存在的问题 .VxWorks在 Shell不能正常运行前 ,也是实行这种方法来调试程序,不过一般不是硬件问题,而是 BSP 中存在的问题 ,需要依据硬件 ,修改 BSP./BLOCKQUOTE4. ARM7编程要点及示例ARM 编程可参考程序示例ARM_Boot Flash

11、 ROM驱动VxWorks image装入 ARM 的过程 : BLOCKQUOTE欢迎下载精品学习资源ARM7有两种运行模式 , Boot 模式和 Normal模式 , Boot 模式主要是把程序装入down load或 load Flash ROM 中用的 , Normal 模式是一般运行程序用的.ARM7 Boot模式时 , Flash 的地址是 0x70000000 片选型号是 CS0 Normal 模式下 ,Flash 地址为 0x00000000ARM7 内部有 128byte 的 BootROM 和 2K 的 SRAM ,当需要 Download VxWorks image时,A

12、RM 启动接受 Boot 方式启动运行存在 128byte BootROM中的程序初始化 ARM 内部的 COM 口, 从 COM 口接受数据到2K 的 SRAM ,这 2K 程序是用来真正 Load VxWorks 的,2K 程序 Load 完毕后系统自动跳转到这2K 程序执行 ,它的作用是再次初始化内部的COM 口,通过 COM 口接受 VxWorks 到 DRAM ,然后由 DRAM写入 FLASH ;在主板 2K SRAM运行的 Boot Load 程序执行过程 ,可参看程序示例中ARM Boot Load程序写入完毕后,切换到Normal 模式重新启动系统,系统自动跳到FLASH 0

13、X00000000开头运行 VXWORKS ;用 PC 机上的 COM1 与 ARM 内部的 UART1 ( COM )通信来 Download VxWorks ;/BLOCKQUOTE主要管脚定义BLOCKQUOTE32 条数据线 : D0D3128 条地址线 : A0-A27 little endian定义 , 相对应数据排列0 1 2 3 4 5 6276 条片选信号脚 : CS0-CS5,其实作用相当于地址线A28A314 个 8 位的 PORT 口: PORT A, PORT B , PORT D主要用于外围芯片信号的把握. PORT E 有双作用 .例如 PORT A 把握键盘的行

14、信号, PORT B用于 RS232, PORT D 用于把握 MODEM, FPGA.外部中断信号EINT, EXTFIQ.编程时要依据主板原理图和硬件手册进行. BLOCKQUOTE看硬件图纸 , 该芯片和 CPU 的那些管脚连结 . 特殊是 PORT 口和片选线 .查 CPU 手册 , 得到 PORT 口和该片选的硬件地址.编程 : 用 PORT 口直接对芯片操作,如开 ,关,RESET 等, 用片选地址和芯片内地址结合对该外欢迎下载精品学习资源围芯片操作 . /BLOCKQUOTE/BLOCKQUOTEException vectors,中断向量表及中断支配Vector 地址 BLOC

15、KQUOTEException/BLOCKQUOTE Exception Mode Priority1=High 0x0 BLOCKQUOTEReset/BLOCKQUOTE Svc 10x4 BLOCKQUOTEUndefined Instruction/BLOCKQUOTE Undef 6 0x8 BLOCKQUOTESoftware Interrupt/BLOCKQUOTE Svc 6 0xC BLOCKQUOTEPrefetch Abort/BLOCKQUOTE Abort 5 0x10 BLOCKQUOTEData Abort/BLOCKQUOTE Abort 2 0x14 BLOC

16、KQUOTEReserved/BLOCKQUOTE Not applicable Not applicable 0x18 BLOCKQUOTEInterrupt IRQ/BLOCKQUOTE irq 40x1C BLOCKQUOTEFast Interrupt FIQ/BLOCKQUOTE Fiq 3 BLOCKQUOTE/BLOCKQUOTEBLOCKQUOTE这个向量表必需要放置在系统地址0x00000000 一般是规律地址 , 即经过 MMU 映射后的地址 处./BLOCKQUOTEBLOCKQUOTE一般是在这些地址上放跳转指令BL,跳到相应的地址空间执行相应的程序./BLOCKQUO

17、TEBLOCKQUOTE如系统执行从0x00000000 Reset 开头 , Reset 跳转到某一地址开头运行操作系欢迎下载精品学习资源统./BLOCKQUOTEBLOCKQUOTE /BLOCKQUOTEBLOCKQUOTE程序示例 ,中断向量表 ARM asm: VectorStart ; Start of ARM processor vectors LDR pc,ResetV ; 00 - ResetLDR pc,UndefV ; 04 - Undefined instructions LDR pc,SWIV ; 08 - SWI instructionsLDR pc,PAbortV

18、 ; 0C - Instruction fetch abortsLDR pc,DAbortV ; 10 - Data access abortsLDR pc,UnusedV ; 14 - Reserved was address exception LDR pc,IRQV ; 18 - IRQ interruptsLDR pc,FIQV ; 1C - FIQ interrupts/BLOCKQUOTE中断号支配 FIQ, IRQ 中断类型 中断号Name说明FIQ 0外部中断EXTFIQ管脚 NEXT FIQ IRQ 5外部中断EINT1管脚 NEINT1IRQ 6外部中断EINT2管脚 NE

19、INT2IRQ 7外部中断EINT3管脚 NEINT3 IRQ 12内部中断UTXINT1 UART1 TX FIFO为空 BLOCKQUOTE /BLOCKQUOTEBLOCKQUOTE中断号也是寄存器INTMR和 INTSR 的位,所以在 ARM 中中断的编程要点是/BLOCKQUOTEBLOCKQUOTE欢迎下载精品学习资源看硬件图纸 , 该外设和 CPU 的那一个管脚连结.查 CPU 手册 , 得到中断号及 INTMR,INTSR的地址 .编程/BLOCKQUOTEBLOCKQUOTE注: 假如不是写底层 driver, 只是在系统上层编程 如 VxWorks, Linux知道中断号即

20、可./BLOCKQUOTEBLOCKQUOTE程序示例 VxWorks: /BLOCKQUOTEBLOCKQUOTE/登记中断号 5, 和相应的中断例程ComISR./BLOCKQUOTEBLOCKQUOTE intConnect VOIDFUNCPTR * 5, ComISR, 0 ; /BLOCKQUOTEBLOCKQUOTE/使能这中断 /BLOCKQUOTEBLOCKQUOTEintEnable VOIDFUNCPTR * 5 ;/BLOCKQUOTEBLOCKQUOTE /BLOCKQUOTEBLOCKQUOTEARM Interrupts: ARM processors imple

21、ment fast and normal level of interrupt,signalled externally, synchronise interrupts before an exception is raised. A fast interrupt requst FIQ will desable subsequent normal and fast interrupt by setting the I and F bit in CPSR,and a normal interrup requestIRQ will disable subsequent normal interru

22、pt by setting I bit in CPSR.计时器中断编程过程 BLOCKQUOTEARM7 一般内部有两个 16 位计时器 Timer counter 和一个 32 位实时时钟 RTC, 计时器中断属于 IRQ 中断 ,这里以计时器1 为例表达一下中断的编程过程设置 interrup mask INTMR1寄存器 0x80000240 第 8 位 TC1OI 计时器 1 为使能 . 在0x800000300 计时器 1 的数据寄存器 TC1D 写入指定数据 ,这样数据开头从这个给定的数开头递减计数 ,计数递减至0 后,会产生一个溢出underflow IRQ 中断请求 ,中断状态

23、寄存器INTSR1 0x80000240第 8 位 TC1OI 置位.系统会跳到中断向量表地址0x00000018处,执行相应的中断程序 ,中断程序通过判定中断的类型判定中断状态寄存器的位, 来执行相应的中断服务程序 ISR. 中断状态寄存器标志位复位,计时器开头重新开头计时./BLOCKQUOTE /BLOCKQUOTE储备空间治理单元 MMU欢迎下载精品学习资源物理地址映射重点在于片选地址CS 的选取 ,另外 MMU 映射需要参考这个物理地址BLOCKQUOTE /BLOCKQUOTEBLOCKQUOTEARM7物理地址映射表 /BLOCKQUOTE地址内容大小备注0xF000.0000

24、Unused 256Mbytes 0xE000.0000 Unused 256Mbytes 0xD000.0000 DRAM Bank 1 256Mbytes0xC000.0000 DRAM Bank 0 256Mbytes外接 DRAM 0x8000.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-1NCS5

25、 4*64 Mbytes0x4000.0000 PCMCIA-0NCS4 4*64 Mbytes0x3000.0000 外部扩展 NCS3 256Mbytes0x2000.0000 外部扩展 NCS2 256Mbytes0x1000.0000 ROM Bank 1NCS1 256Mbytes0x0000.0000 ROM Bank 0NCS0 256Mbytes外接 Flash ROMMMU虚拟 规律 地址和物理地址的映射实例BLOCKQUOTEVxworks 支持的 ARM 架构的处理器 ,一般是 RAM 的起始位置为 0x0, 而实际上 ARM 的物理地址 0x0 是 ROM 的起始地址

26、,RAM 在高位地址 .这就需要系统在 Boot 过程中 ,执行 MMU 程序,重新映射 RAM 和 ROM 的地址 .即 RAM 起始地址为 0x0./BLOCKQUOTEMMU 主要有 ARM7 中协处理器 coprocessor 15 把握 ,coporocessor主要把握 :BLOCKQUOTE片内的 MMU欢迎下载精品学习资源指令和数据缓存 IDC Write BufferWBMMU 有两层页表 two-level page table 用来进行虚拟地址向物理地址转换,CP15 定义 16 个寄存器 ,只有 MRC 和 MCR 指令才能对它们操作 .在 VxWorks 系统中 ,M

27、MU 表分成两部分 :boot up table 和 final table. 在文件 ramAtHigh.h中定义.该表在文件 romInit.s 中初始化 ,语句为 :BL _ramAtHigh_12/BLOCKQUOTEMMU 映射实例虚拟 规律 地址 VxWorks 系统 硬件物理地址 RAM首地址 0x0000.0000 Low Address 0x0000.1000High Address 0x0060.0000 ROM0x0100.0000其他的地址规律地址和物理地址映射地址不变0x8000.0000 内部寄存器.相同的颜色映射对应的地址ROM 0x0000.0000 VxWorks image和文件系统RAM首地址 0xC000.0000 存放 LCD,MMU表等欢迎下载精品学习资源0xC004.0000中断向量表等0xC004.1000 VxWorks运行位置0xC064.0000 VxWorks从 ROM 解压后 Copy 的位置其他的地址映射地址不变0x8000.0000 内部寄存器.其中 ,Low Address,High Address 在系统配置文件 config.h 和 Makefile 中设置 ,参见 BSP 文件示例欢迎下载

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁