首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

写给ARM新手[转帖]

写给ARM新手[转帖]

写给ARM新手
ARM处理器简介
ARM的特点1
•ARM的含义:英文缩写为Advanced RISC Machine
•ARM是一种通用的32位RISC处理器
–32位是指处理器的外部地址和数据总线是32位的,相比16位的同频处理器性能更强大。
–RISC是一种指令集,也指采用该指令集的处理器,英文缩写:Reduced Instruction Set Computer,相比CISC代码效率更高。•ARM是一种功耗很低的高性能处理器
–例如:ARM7TDMI具有每瓦产生690MIPS的能力,已被证明在工业界处于领先水平
ARM的特点2
•ARM公司并不生产芯片,而是将ARM的技术授权其它公司生产。
–ARM本质上并不是一种芯片,而是一种芯片结构技术,不涉及到芯片生产工艺。
–授权生产ARM结构芯片的公司采用不同的半导体技术,面对不同的应用进行扩展和集成,标有不同系列号。
•ARM是一种可扩展,可移植、可集成的处理器。
–ARM内核有四个功能模块可供生产厂商根据不同用户的要求来配置生产。
–ARM7TDMI-S给用户预留出功能扩展接口。
ARM的产品系列1
•ARM7的特点:
–ARM7采用ARMV4T(Newman)结构,三级流水,平均功耗0.6mW/MHz,时钟速度66MHz,
•ARM内核的四个功能模块:
–T:Thumb,即32位模式下的16位指令集,可以在兼顾性能的同时减少代码尺寸。
–D:Debug,在内核中放置了用于调试的结构,接口形式为JTAG(Joint Test Action Group)。
–M:Multiplier,指8位乘法器。
–I:EmbeddedICE Logic,指用于实现断点观测及变量观测的逻辑电路部分。
ARM的产品系列2
•ARM7的产品线。
–ARM7TDMI:同时具备四个模块,当然用户也可选择其中的几个或一个。
–ARM7TDMI-S:软件与ARM7TDMI完全兼容,硬件预六留功能扩展口。
–ARM710T:ARM7TDMI+8K Cache+MMU,Cache:片内缓存,提高CPU性能,MMU:内存管理单元。
–ARM740T: ARM7TDMI+8K Cache+Protection Unit。
–ARM720T: ARM7TDMI+8K Cache+WinCE Support。
ARM的产品系列3
•ARM9的特点:
–ARMV4T(Harvard)结构,五级流水,指令与数据分离的Cache,平均功耗0.7mW/MHz,时钟为120MHz-200MHz
•ARM9的产品线:
–ARM9TDMI
–ARM940T:ARM9TDMI+4K Cache+ Protection Unit。
–ARM920T: ARM9TDMI+16K Cache+MMU+ WinCE Support。
–ARM9E:ARM9TDMI+Enhanced+DSP Instruction。
•ARM10:
–采用ARMV5T结构,六级流水处理,时钟速度300MHz,性能约为ARM9的两倍。
ARM的应用范围
•嵌入式控制
–汽车、电子设备、保安设备、大容量存储器、调制解调器、打印机。
•数字消费产品
–数码相机、数字式电视机、游戏机、GPS、机顶盒
•便携式产品
–手提式计算机、移动电话、PDA、灵巧电话
关于THUMB指令集
•ARM7TDMI可以使用两套指令集
–标准32位ARM指令集
–16位的THUMB指令集
–两套指令集可以交叉编译和连接
•THUMB的特点
–THUMB是对32位寄存器操作的16位指令集
–与32位ARM指令集相比代码尺寸更小,更适合嵌入式应用。
–因为是对32位结构的CPU操作,所以比纯16位的指令集效率更高。
–与其它32位下的16位指令集相比,它还可以切换到32位ARM指令集并全速执行。
ARM的七种运行状态
•User:通常的ARM的运行状态
•FIQ:快中断,用于数据传输或通道处理
•IRQ:普通中断请求
•Supervisor:操作系统保护模式
•Abort mode:数据或指令预取失败
•System:特权用户模式
•Undefined:未定义指令执行
•状态切换由软件控制或由外部中断和异常来触发。
ARM状态下的寄存器
•ARM7TDMI总共有37个寄存器,32个通用寄存器,和6个状态寄存器,但是不是同时都可见。
•关于banked registers,在FIQ下从R8-R14,其它状态下为R13,R14。
•R14:subroutine link register,copy of R15。
•R15:Program Counter
•R16:CPSR(Current Program Status Register)
关于PSR寄存器
SR分为CPSR和SPSR
SR位描述
–NZVC
–IFT
–Mode bits
²User:10000
²FIQ:10001
²IRQ:10010
²Supervisor:10011
²Abort:10111
²Undefined:11011
²System:11111
ARM的异常(Exception)处理
•进入异常的处理
–保存PC值到LR
–保存CPSR到SPSR
–强制改变Mode bits
–强制PC值,从中断矢量表中预取下一条指令
•脱离异常的处理
–恢复PC值从LR
–恢复CPSR从SPSR
–清除中断屏蔽位
ARM的外部接口
•存储器接口
•协处理器接口
•调试接口
ARM公司提供的开发环境
•硬件环境
–评估板Integrator/CM ARM7TDMI等等
–Multi-ICE interface unit
²通过并口与主机连接
²通过JTAG与目标板连接
•软件环境
–ARM Developer Suite
²编译、汇编、连接环境
²调试器
²函数库
开发模式
•ARMulater
–无需目标板,在主机上调试软件。
•JTAG模式
–利用ICE与目标板的JTAG相连。
•Angel模式
–在没有D模块的情况下,利用串口与目标板相连,通过目标板Flash上的monitor调试程序
SHARP公司的LH77790A芯片
•ARM7TDMI内核
•CACHE
•控制部分
–LCD 控制器
–总线控制器
–PWM
–82C54计数器/定时器
–16C450 UARTs
–82C55外围控制接口
–其它控制接口
•应用:液晶显示
SAMSUNG公司KS32C6200芯片
•ARM7TDMI内核
•2K Cache
•控制部分
–并口
–2路DMA
–存储器管理控制
–15路中断控制
–方波发生器
–其它控制电路
•应用:打印机
ATMEL公司的AT91芯片
•ARM7TDMI内核
•控制电路
–16位外围总线接口
–通用外围控制电路
–外围数据控制(DMA)
–片内存储器
•应用:工业控制
CIRRUS公司的EP系列芯片
•ARM720T内核
•控制电路
–DAI:数字音频接口
–LCD控制器
–存储器控制器
–DC-DC变换器(PWM)
–27位通用I/O
–动态可编程时钟
–其它控制电路
•应用:数字音频设备
在ARM下的方案
•目标板:ARM的Evaluator-7T。
–采用ARM7TDMI芯片
–支持JTAG和Angel的调试方式
•仿真器:BDI
–通过JTAG与目标板相连
–通过以太网与主机相连
•RTOS:Microtec的VRTXoc。
–VRTXmc的源码方案
–支持THUMB指令集
–实时多任务操作系统内核
–BSP支持:PIE、PID7T、EBSA110
在ARM下的方案续1
•开发软件包:Microtec的Software Development Kit。
–C,C++ Compiler,ARM/THUMB Assembler
–Linker
–函数库,包含浮点库
–Xray Debugger
²支持JTEG、Angel、ARMulater方式
²支持VRTXoc的调试
²多窗体界面
在ARM下的方案续2
•开发模式
–JTAG方式(推荐使用)
–Angel方式
very good!
返回列表