第5章ARM及XScale介绍_08_2学期

Download Report

Transcript 第5章ARM及XScale介绍_08_2学期

第5章 ARM及XScale介绍
1
ARM
ARM微处理器概述
2
ARM
ARM(Advanced RISC Machines),既可以认为是
一个公司的名字,也可以认为是对一类微处理器的通称,
还可以认为是一种技术的名字。
1991年ARM公司成立于英国剑桥,主要出售芯片设
计技术的授权。目前,采用ARM 技术知识产权(IP)核的
微处理器,即我们通常所说的ARM微处理器,已遍及工
业控制、消费类电子产品、通信系统、网络系统、无线
系统等各类产品市场,基于ARM技术的微处理器应用约
占据了32位RISC微处理器75%以上的市场份额,ARM
技术正在逐步渗入到我们生活的各个方面。
3
ARM
ARM公司是专门从事基于RISC技术芯片设计开发
的公司,作为知识产权供应商,它本身不直接从事芯片
生产,靠转让设计许可,由合作公司生产各具特色的芯
片,世界各大半导体生产商从ARM公司购买其设计的
ARM微处理器核,根据各自不同的应用领域,加入适当
的外围电路,从而形成自己的ARM微处理器芯片进入市
场。
目前,全世界有几十家大的半导体公司都使用ARM
公司的授权,因此既使得ARM技术获得更多的第三方工
具、制造、软件的支持,又使整个系统成本降低,从而
使产品更容易进入市场被消费者所接受,更具有竞争力。
4
ARM
ARM处理器系列
下面所列的是ARM微处理器的几个系列,以
及其他厂商基于ARM体系结构的处理器,这些处
理器除了具有ARM体系结构的共同特点以外,每
一个系列的ARM微处理器都有各自的特点和应用
领域。
◆ ARM7系列
◆ ARM9系列
◆ ARM9E系列
◆ ARMl0E系列
◆ SecurCore系列 ◆ Intel的Xscale
◆ Intel的StrongARM
5
ARM
Xscale处理器
Xscale处理器是基于ARMv5TE体系结构的解决
方案,是一款性能全、性价比高、功耗低的处
理器。
它支持16位的Thumb指令和DSP指令集,已使用
在数字移动电话、个人数字助理和网络产品等
场合。
Xscale处理器是Intel目前主要推广的一款ARM
微处理器。
6
ARM
RISC体系结构
ARM处理器实现加载/存储(load/store)体
系结构是典型的RISC处理器。只有加载和存储指
令可以访问存储器。数据处理指令只对寄存器的
内容进行操作。
7
ARM
精简指令集计算机RISC (Reduced
Instruction Set Computer)结构的产生是相对于
传统的复杂指令集计算机CISC (Complex
Instruction Set Computer)结构而言的。
传统的CISC计算机的指令集随着计算机的发
展而引入了各种各样的复杂指令,使得指令集和为
此要实现这些指令的计算机体系结构越来越复杂,
已经不堪重负。
8
ARM
经过大量的研究和分析,发现在CISC的指令集
中,各种指令的使用频度相差悬殊。
大概有20%的指令被反复使用,使用量约占整
个程序的80%;而有80%左右的指令则很少使用,其
使用量约占整个程序的20%。这就是所谓的
20%—80%定律。
9
ARM
RISC特点如下:
指令规整、对称、简单。指令小于100条,基本寻址
方式有2~3种。
单周期指令。
指令字长度一致,单拍完成,便于流水操作;
ARM7 三级流水线:取指、译码、执行;
ARM9 五级流水线;
ARMl0 六级流水线。
大量的寄存器。寄存器不少于32个。数据处理器的
指令只对寄存器的内容操作。只有加载/存储指令可以
访问存储器。
10
ARM
几种常用的调试方法
指令集模拟器
一种利用PC机端的仿真开发软件模拟调试的方法。
驻留监控软件
驻留监控程序运行在目标板上,PC机端调试软件可通过
并口、串口、网口与之交互,以完成程序执行、存储器及
寄存器读写、断点设置等任务
JTAG仿真器
通过ARM芯片的JTAG边界扫描口与ARM核进行通信,不占用
目标板的资源,是目前使用最广泛的调试手段
在线仿真器
使用仿真头代替目标板上的CPU,可以完全仿真ARM芯片的
行为。但结构较复杂,价格昂贵,通常用于ARM硬件开发
中
11
ARM
什么是JTAG?
JTAG是Joint Test Action Group的缩写是
IEEE1149.1标准
JTAG的建立使得集成电路固定在PCB上,只通过边
界扫描便可以被测试
在ARM7TDMI处理器中,可以通过JTAG直接控制ARM
的内部总线,IO口等信息,从而达到调试的目的
12
ARM
13
ARM
ARM的JTAG调试结构
14
ARM
ARM的JTAG调试接口
1、ARM的JTAG调试结构
一个典型的ARM基于JTAG调试结构如图所示。
Debug主控端
运行ARM公司或第三方
提供的调试软件的PC机
协议转换器
负责转换Debug主控端发出的
高级ARM调试指令为
底层的和ARM内核通信的
调试目标机
处理器的开发系统
15
ARM
Debug主控(Host)通常是运行有ARM公司或者第
三方提供的调式软件的PC,通常用的调试软件有ARM
Debug for Window(ADW),Linux下的arm-elf-gdb等。
通过这些调试软件,可以发送高级的ARM指令,比如:
设置断点,读写存储器,单步跟踪,全速运行等。
16
ARM
协议转换器(Protocol converter)负责转换Debug
主控端发出的高级ARM调式命令为底层的和ARM内核通
信的JTAG命令。
Debug主控端和协议转换器之间的介质可以有很多
种,比如:以太网,USB,RS-232,并口等。主控端和
协议转换器之间的通信协议最典型的就是ARM公司提供
的Angle标准,也可以是第三方厂家自己定义的标准。
关于Angle的协议,请参考ARM SDT和ADS,ajj公
司的OpenICE32,EPI公司的Jeeni等。
Debug目标板就是指系统的调试对象。
17
ARM
JTAG的典型信号
TMS: 测试模式选择(Test Mode Select),通过TMS信号控
制JTAG状态机的状态
TCK :JTAG的时钟信号
TDI:数据输入信号
TDO :数据输出信号
nTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元
(Macrocell)
18
ARM
JTAG与Angel
JTAG调试:协议转换器解释上位机传送过来的命
令,通过JTAG控制ARM执行。
Angel调试:协议转换器可以直接做为目标板的
Firmware的一部分。直接执行从宿主机传送过来
的调试命令;并回送相应的数据。
Angel可以节省专门的JTAG仿真器,但是,它需要
软件,或者是嵌入式操作系统的支持,做不到完
全的实时仿真。而JTAG仿真是通过硬件和控制ARM
的EmbeddedICE实现的,可以做到实时仿真。
19
ARM
ARM微处理器的体系结构
20
ARM
数据和指令类型
ARM采用的是32位架构。
ARM约定:
Byte:
8 bit
Halfword: 16 bits(2 bytes)
Word:
32 bits(4 bytes)
大部分ARM core提供:
ARM指令集(32-bit)
Thumb指令集(16-bit)
21
ARM
数据类型
字(Word)
字的长度为32位,而在8位/16位处理器体系结
构中,字的长度一般为16位,请注意区分。
半字(Half-Word)
半字的长度为16位,与8位/16位处理器体系结
构中字的长度一致。
字节(Byte)
各种处理器体系结构中,字节的长度均为8位。
22
ARM
ARM微处理器的工作状态
从编程的角度看,ARM微处理器的工作状态一般
有两种,并可在两种状态之间切换:
ARM状态,此时处理器执行32位的字对齐的ARM
指令;
Thumb状态,此时处理器执行16位的、半字对齐
的Thumb指令。
23
ARM
ARM处理器在两种工作状态之间可以切换:
进入Thumb状态。
当操作数寄存器的状态位(地址的最低位,即位[0])
为1时,执行BX指令进入Thumb状态。如果处理器在
Thumb状态进入异常,则当异常处理(IRQ、FIQ、Undef、
Abort 和 SWI)返回时,自动转换到Thumb状态。
进入ARM状态。
当操作数寄存器的状态位(位[0])为0时,执行BX指令
进入ARM状态。处理器进行异常处理(IRQ、FIQ、Reset、
Undef、Abort 和 SWI ARM状态执行)。在此情况下,把
PC 放人异常模式链接寄存器中。从异常向量地址开始执
行也可以进入ARM状态。
24
ARM
处理器工作模式
ARM微处理器支持7个基本工作模式,分别为:
用户模式(User):非特权模式,大部分任务执行在这种
模式,ARM处理器正常的程序执行状态。
快速中断模式(FIQ):当一个高优先级(fast)中断产生时
将会进入这种模式,用于高速数据传输或通道处理。
外部中断模式(IRQ):当一个低优先级(normal)中断
产生时将会进入这种模式,用于通用的中断处理。
管理模式(Supervisor):当复位或软中断指令执行
时将会进入这种模式,操作系统使用的保护模式,系
统复位后的缺省模式。
25
ARM
中止模式(Abort):当存取异常时将会进入这种
模式。
1.指令中止模式:指令预取终止时进入该模式。
2.数据访问中止模式:当数据访问终止时进入该模
式,可用于虚拟存储及存储保护。
指令未定义模式(Undef):当执行未定义指令时会
进入这种模式,支持硬件协处理器指令的软件
仿真。
系统模式(System):使用和User模式相同寄存
器集的特权模式,运行具有特权的操作系统任
务。
26
ARM
ARM微处理器的运行模式可以通过软件改变,
也可以通过外部中断或异常处理改变。
大多数的应用程序运行在用户模式下,当处理
器运行在用户模式下时,某些被保护的系统资源是
不能被访问的。
除用户模式以外,其余的所有6种模式称为非用
户模式或特权模式(Privileged Modes);
其中除去用户模式和系统模式以外的5种又称为
异常模式(Exception Modes),常用于处理中断或
异常,以及需要访问受保护的系统资源等情况。
27
ARM
超级模式
(Supervisor)
复位后的缺省模式
处理器启动时的模式转换图
多种特权模式变化
用户程序的运行模式
主要完成各模式
的堆栈设置,注
意不要进入用户
模式
一般为用户模式
User
处理器模式
28
ARM
寄存器
ARM 的中央寄存器集是16 个用户
寄存器R0 – R15。这些寄存器均是32
位宽度,R0 – R12没有其他特殊功能,
寄存器R13 – R15在CPU中有特殊功能。
R13被用作堆栈指针(stack pointer,SP),
保存当前处理器模式的堆栈的栈顶。
R14被称为链接寄存器(link register,LR),
保存调用子函数的返回地址。
R15是程序计数器(program counter,
PC)。其内容是处理器要取的下一条指令的
地址。
29
ARM
ARM状态下的寄存器组织
程序状态寄存器:
• CPSR
(current program
status register)
当前的程序状态寄存器
• SPSR
(saved program
status register)
备份的程序状态寄存器
30
ARM
ARM微处理器共有37个32位寄存器。
1个用作PC
1个用作CPSR
6个状态寄存器
5个用作SPSR
30个为通用寄存器
当前处理器的模式决定着哪组寄存器可操作,任何模
式都可以存取:
相应的R0 – R12子集
相应的R13(SP),R14(LR)
相应的R15(PC)
相应的CPSR
特权模式(除system模式)还可存取:
相应的SPSR
31
ARM
ARM和Thumb寄存器组织图解
32
ARM
(1) Thumb状态下的寄存器组织与ARM状态下
的寄存器组织的关系
Thumb状态下和ARM状态下的R0~R7是相同的
Thumb状态下和ARM状态下的CPSR和所有的
SPSR是相同的
Thumb状态下的SP对应于ARM状态下的R13
Thumb状态下的LR对应于ARM状态下的R14
Thumb状态下的程序计数器对应于ARM状态下
的R15
33
ARM
(2) 访问THUMB状态下的高位寄存器(Hiregisters)
在Thumb状态下,高位寄存器R8~R15并不是标准寄
存器集的一部分,但可使用汇编语言程序有限制地访问这
些寄存器,将其用作快速的暂存器.
使用带特殊变量的 MOV指令,数据可以在低位寄存器
和高位寄存器之间进行传送,高位寄存器的值可以使用
CMP和ADD指令进行比较或加上低位寄存器中的值。
35
ARM
(3) 程序状态寄存器
ARM体系结构包含一个当前程序状态寄存器(CPSR)
和5个备份的程序状态寄存器 (SPSRs)。
备份的程序状态寄存器用来进行异常处理,其功能包括:
保存ALU中的当前操作信息。
控制允许和禁止中断。
设置处理器的运行模式。
程序状态寄存器每一位的安排如图所示.
36
ARM
程
序
状
态
寄
存
器
的
格
式
37
ARM
① 条件码标志(Condition Code Flags)
N、Z、C、V均为条件码标志位。它们的内容
可被算术或逻辑运算的结果所改变,并且可以决
定某条指令是否被执行。
在ARM状态下,绝大多数的指令都是有条件
执行的。在Thumb状态下.仅有分支指令是有条
件执行的。
38
ARM
运行模式位M[4:0]:M0、M1 、 M2、M3、M4是模
式位。这些位决定了处理器的运行模式。具体含义如下。
由表可知,并不是所有的运行模式位的组合都是有效的,其
他的组合结果会导致处理器进入一个不可恢复的状态。
40
ARM
异常
异常(exception)由内部或外部源产生以引起处理器
处理一个事件,即当正常的程序执行流程发生暂时的停止
时。例如,外部中断或试图执行未定义指令都会引起异常。
在处理异常之前,处理器状态必须保留,以便在异常处理
程序完成后,原来的程序能够重新执行。
处理器允许多个异常同时发生,它们将会按固定的优
先级进行处理。
ARM支持7种类型的异常。列出了异常的类型以及处
理这些异常的处理器模式。异常出现后,强制从异常类型
对应的固定存储器地址开始执行程序。这些固定的地址称
为异常向量(Exception Vectors)。
41
ARM
ARM体系结构所支持的异常类型
42
ARM
异常向量表(Exception Vectors)
43
ARM
异常优先级(Exception Priorities)
44
ARM
高端向量
一些ARM实现允许异常向量的定位由32位地
址空间低端的正常地址范围Ox00000000~
Ox000000lC,移到接近于地址空间高端的另一地
址范围0xFFFF0000~0xFFFF00lC。
这些改变后的地址位置称为高端向量。
45
ARM
异常的进入和退出
只要正常的程序流程被暂时停止,则异常发生,例如
服务外部的中断。
在异常被处理之前,必须保存当前的处理器状态,以
便当处理程序完成后,原来的程序能重新开始。
如果几种异常同时发生,则对它们按固定的次序处理,
可参考异常优先级。
46
ARM
当异常产生时,ARM core:
拷贝CPSR到SPSR_<mode>
设置适当的CPSR位:
改变处理器状态进入ARM态
改变处理器模式进入相应的异常模式
设置中断禁止位禁止相应中断(如果需要)
保存返回地址到LR_<mode>
设置PC为相应的异常向量
47
ARM
返回时,异常处理需要:
从SPSR_<mode>恢复CPSR
从LR_<mode>恢复PC
Note:这些操作只能在ARM态执行
48
ARM
Xscale系统结构
PXA255处理器结构与特性
XSBase255开发平台介绍
49
Xscale系统结构
ARM
50
Xscale系统结构---ARM
Xscale超级流水线
PXA255拥有7级超级流水线,主要由主流水线、
MAC流水线和内存访问流水线组成。
51
Xscale系统结构---ARM
Xscale超级流水线
主流水线
F1/F2指令读取(给下一级的指令译码级提交下一条要执行的指令。
是许多重要功能单元所处之地。)
ID指令译码 (接收IFU中的指令字节和发送到RF寄存器文件/移位
级的译码寄存器信息)
RF寄存器文件/移位级(主要对寄存器文件单元或者RFU进行读
写,为ALU操作、MAC操作、内存数据Cache的读取和协处理器接口
提供相关数据)
X1执行级 (执行ALU计算、条件指令执行和分支目标确定)
X2执行级 (包含程序状态寄存器PSRs 并选择哪些需要在XWB级
写入RFU中。)
XWB写回级(当 一条指令到达写回级时将写回寄存器文件单元
RFU)
52
Xscale系统结构---ARM
Xscale超级流水线
MAC流水线
执行所有的乘/累加指令。它执行40位累加寄存器acc0和能把指令值
转化成普通的ARM 寄存器值。MAC不是真正的一条流水线,指令的
类型和资源决定它所需的周期数。不会同时两条指令出现在MAC流水
线上。当MAC在处理一条指令的时候其他的指令不允许进出到M1中,
除非原来的指令在下一个周期中处理完成。MAC单元执行开始于M1,
接受2个32位操作数,N个周期后完成并返回寄存器文件。
53
Xscale系统结构---ARM
Xscale超级流水线
内存访问流水线
内存流水线有D1、D2和DWB3级构成,独立完成指令的
装载和存储。在执行完X1后开始执行D1级,计算有效的
存/取地址;在D2级数据cache和小型数据cache返回目
的数据;DWB级进行填入缓冲器和写入缓冲器操作。
54
Xscale系统结构---ARM
Xscale乘/累加MAC
Xscale为了多媒体的应用,支持SIMD.
比如MIAPH指令,它执行2个16x16位乘法,然后
与40位累加器相加,即2个32位寄存器可以看作为
2对16位寄存器,先高16位相乘并与累加器进行相
加;低16位也相乘后与累加器相加,这2个结果相
加后再送到寄存器文件中。
55
Xscale系统结构---ARM
内存管理
提供内存访问保护和虚拟地址到物理地址的转
换
支持指令TLB
支持数据TLB
(Translation Look-aside Buffer,TLB,转换
搜索缓存)
56
Xscale系统结构---ARM
指令Cache
容量为32K
32路组相联
每路由8个字(32字节)和一位有效位
(思考:有几组?)
循环替换算法
57
Xscale系统结构---ARM
指令Cache
58
Xscale系统结构---ARM
数据Cache
容量32KB
32路组相联
每路包含32字节和1个有效位,还包含2个dirty
位 ,分别对应低16位字节和高16位字节
采用循环替换法
59
Xscale系统结构---ARM
转移目标缓冲器BTB
BTB由有128入口的直接映像cache构成
每个入口由TAG分支地址、DATA数据目标地址和2位
历史位组成。
60
Xscale系统结构---ARM
性能监视
提供2个32位的性能计数器,可以分别对2个独立的事
件同时监视。
另外还有1个32位时钟计数器用来联合性能计数器记录
内核时钟数。
当计算突发事件时计数器将监测到一个特定事件的发生;
当测量持续事件时计数器将记录处理器时钟周期数当指定
条件为真时事件发生。
所有的这些计数器都有对应的IRQ和FIQ资源。
Xscale的性能监视模块可以通过协处理器CP14的寄存
器0-3进行控制。
61
Xscale系统结构---ARM
电源管理
Xscale核合并电源管理和时钟管理来控制时钟
和管理电源,它控制每一个运行模式的时钟频
率和管理不同电源管理模式下的性能与功耗间
的优化。
62
Xscale系统结构---ARM
调试
通讯控制模块
通过JTAG指令来建立目标机和宿主机的握手
硬件断点模块
有指令和数据断点寄存器,由协处理器控制
跟踪缓冲模块
对程序历史记录以实现恢复异常和跳转
代码下载模块
代码下载到I-Cache,调试代理程序实现读/写
63
PXA255处理器结构与特性
ARM
64
PXA255处理器结构与特性
ARM
PXA255除了采用Xscale内核,还具有以下特点:
内核工作频率:200MHz、300MHz和400MHz
系统存储器接口
时钟和电源控制器
DMA控制器
LCD控制器
系统集成模块
串行通信口
多媒体通信口
65
PXA255处理器结构与特性
ARM
时钟模块:控制系统每一个模块的时钟频率优化计算
处理和电源管理的功能。有三个寄存器:
核时钟设置寄存器CCCR
 L:晶振频率至存储器频率倍因子,可以设置成 27、32、36、40
或45。
 M:存储器频率至运行方式频率倍因子,可以设置成1或2。
 N:运行方式频率至快速方式频率因子,可以设置成 1.0、1.5、
2.0或3.0。
时钟允许寄存器CKEN
振荡器设置寄存器OSCC
66
PXA255处理器结构与特性
ARM
电源管理模块
运行模式
快速模式 (CCCR的N)
空闲模式
 空闲模式没有改变时钟的产生。应用程序选择PWRMODE寄存器
的M段来选择空闲方式。
睡眠模式
 许多处理器内部单元功能关闭,实时时钟和电源管理模块继续工
作 。通过使用PWRMODE寄存器来进入睡眠模式。
33MHz空闲模式
 在33MHz空闲模式下其他所有的外设单元都不能使用包括SDRAM、
LCD和DMA控制器。
67
PXA255处理器结构与特性
ARM
GPIO口
PXA255可以使用和控制的GPIO管脚有81个。
使用27个寄存器可以配置这些GPIO管脚的方向(进
或出)、管脚功能、管脚的状态(输出)、管脚的高低
电平检测(输入)和选择第二功能。
许多GPIO管脚的第二功能已经被处理器或外设配
置使用。
68
PXA255处理器结构与特性
ARM
中断控制器
69
PXA255处理器结构与特性
ARM
实时时钟RTC
使用实时时钟可以配置成频率很广的周期时钟信号,
通常RTC设置1Hz信号输出用来当作系统时间的基
准。
实时时钟芯片是RTC4513
70
PXA255处理器结构与特性
ARM
DMA控制器 (DMAC )
DMAC有16个通道,从通道0到通道15
在嵌入式Linux中DMA在设备驱动上常常要用到。DMA控
制器对内存的访问和CPU的运行完全互斥,因此在DMA控
制器访问内存时CPU不访问内存。DMA控制器在传输数据
上要比CPU快得多,它的操作完全由硬件驱动,只要一个
时钟周期就可以完成一个字节的传输。在DMA控制器暂时
占住了内存,CPU仍能取指令,而许多指令的执行是不要
求访问内存的,这样CPU和DMA控制器之间有了一定的并
行度,提高的综合效率。即使CPU要访问内存也可以在数
据cache中读取。
71
XSBase255的配件
ARM
72
XSBase255硬件介绍
ARM
73
XSBase255硬件介绍
ARM
74
XSBase255
Linux BSP介绍
ARM
75
XSBase255
Linux光盘内容
ARM
76
Xsbase255开发系统----硬件资源
ARM
项目
描述
处理器
Intel XScale PXA255 400MHz
SDRAM
Samsung 64Mbyte
Flash
Intel strata flash 32MByte
以太网
CS8900A 10BaseT
声卡
AC’97 Stereo audio
显示
LG TFT LCD 6.4”( 640 * 480)
触摸屏
ADS7843 touch screen
USB Host
2 Slot
USB Slave
1 Slot
PCMCIA
1 Slot
实时时钟
Real time clock RTC4513
红外
HDSL3600
CF
1 Slot
MMC
1 Slot
77
Xsbase255开发系统----硬件资源
ARM
存储器接口主要可以分成3类 :
SDRAM
 SDRAM有4块区域
静态FLASH
 静态存储器有6块
卡存储器
 卡存储器有2块。
78
Xsbase255开发系统----硬件资源
ARM
LCD接口
PXA255处理器内置的LCD控制器支持被动(DSTN)或主动
(TFT)模式的显示器,还支持单色或多种的彩色像点格式,
支持单屏或双屏显示;被动彩色方式有65536种颜色(使用
16位TMED抖动算法),主动彩色方式有65536种颜色(16位,
绕过调色板),显示可以达到1024x1024,推荐使用最大值
800x600;内置2个专用DMA通道。
Xsbase255系统使用的LCD是6.4’TFT 的彩色显示屏,分
辨率是640x480。
79
Xsbase255开发系统----硬件资源
ARM
以太网接口
Xsbase255开发系统采用Cirrus Logic公司
CS8900A以太网芯片,是符合IEEE802.3协议的工
业标准架构总线的一款低成本的以太网芯片。它高
度集成了一些常用的部件比如:片内的RAM、
10BASE-T传输和接受过滤器和ISA总线接口等 。
80
Xsbase255开发系统----硬件资源
ARM
音频接口
PXA255处理器包含AC’97控制单元,支持音频控
制器(AC-link),能通过串口传输数字音频、调制调
解器、音频输入、控制寄存器和状态信息等。因为
PXA255处理器内置了AC’97控制器,需要外扩一
个音频解码芯片。
Xsbase255外扩了Cirrus Logic CS4299用作音频
解码器。
81
Xsbase255开发系统----硬件资源
ARM
实时时钟RTC
当关闭Xsbase255系统电源,RTC4513可以通过
一个电池来保持当前的时间。系统外扩了实时时钟
芯片RTC4513和一个纽扣电池组成RTC电路 。
82
Xsbase255开发系统----硬件资源
ARM
串口
Xsbase开发系统提供1个全功能的(FF,Full
Function)串口,1个蓝牙串口(BT,Bluetooth)和1
个标准UART(红外接口)。它们使用PXA255中的第
二功能GPIO引脚。全功能串口支持Modem控制功
能,其最高波特率为230.4Kb/s;蓝牙串口是一个
高速UART,最高波特率为921.6Kb/s,可连接蓝
牙模块 。
83
Xsbase255开发系统----硬件资源
ARM
USB接口
Xsbase255开发系统有1个USB-Client接口和2个
USB-Host接口(其中一个是mini USB接口)。
 USB-Client接口作为USB的从设备,一般与主设备如
宿主机连接,用于下载数据和程序,也可以用作USB网
口来使用。USB-Client控制器UDC集成在PXA255处理
器内部。
 USB-Host接口作为USB的主设备,用于连接USB外设,
例如U盘、鼠标、键盘和摄像头等。
84
Xsbase255开发系统----硬件资源
ARM
扩展接口
1个PCMCIA接口
1个CF卡接口
1个MMC卡接口
120pin的扩展接口。
85
PCMCIA
ARM
通常,台式机和服务器等用的网卡均不支持PCMCIA标准,
PCMCIA是专门用在笔记本或PDA、数码相机等便携设备上的
一种接口规范(总线结构)。也就是笔记本网卡通常都支持
PCMCIA规范,而台式机网卡则不支持此规范。
PCMCIA是英文“PERSONAL COMPUTER MEMORY
CARD INTERNATIONAL ASSOCIATION”的缩写,PCMCIA定
义了三种不同型式的卡,它们的长宽都是85.6×54mm,只是
在厚度方面有所不同。Type I是最早的PC卡,厚3.3mm主要用
于RAM和ROM;Type II将厚度增至5.5mm适用范围也大大扩
展包括了大多数的modem(调制解调器)和faxmodem(传真
调制解调器),LAN适配器和其它电气设备;Type III则进一步
增大厚度到10.5mm这种PC卡主要用于旋转式的存储设备(例
如硬盘)。
PCMCIA总线分为两类,一类为16位的PCMCIA,另一类为
32位的CardBus。
86
CF卡
ARM
CF卡(Compact Flash)是1994年由SanDisk最先推出的。
CF卡重量只有14g,仅纸板火柴般大小(43mm x 36m x
m3.3mm),是一种固态产品,也就是工作时没有运动部件。
CF卡采用闪存(flash)技术,是一种稳定的存储解决方案,不
需要电池来维持其中存储的数据。对所保存的数据来说,CF卡
比传统的磁盘驱动器安全性和保护性都更高;比传统的磁盘驱
动器及Ⅲ型PC卡的可靠性高5到10倍,而且CF卡的用电量仅为
小型磁盘驱动器的5%。这些优异的条件使得大多数数码相机选
择CF卡作为其首选存储介质。
87
MMC
ARM
MMC(MultiMedia Card)卡由西门子公司和首推CF的
SanDisk于1997年推出。1998年1月十四家公司联合成立了
MMC协会(MultiMedia Card Association简称MMCA),现
在已经有超过84个成员。MMC的发展目标主要是针对数码影像、
音乐、手机、PDA、电子书、玩具等产品,是把存贮单元和控
制器一同做到了卡上,智能的控制器使得MMC保证兼容性和灵
活性。
MMC被设计作为一种低成本的数据平台和通讯介质,它的接口
设计非常简单:只有7针!接口成本低于0.5美元,相比之下
SmartMedia和Memory Stick的接口成本都要高于1美元。在接
口中,电源供应是3针,而数据操作只用3针的串行总线即可
(SPI模式再加上1针用于选择芯片)。
MMC的操作电压为2.7伏到3.6伏,写/读电流只有27mA和
23mA,功耗很低。
88
Xsbase255开发系统----软件资源
ARM
Linux(Linux2.4.18 )
FLASH (32M 32bit)
0x0200 0000
30 MByte
Root Filesystem
0x001C 0000
Kernel Image
1MByte
0x000C 0000
Reserved
Bootloader
512KByte
0x0004 0000
256KByte
0x0000 0000
89