回顾
第五章 ARM及Xscale体系结构 5.1 RISC 与 CISC 5.2 处理器总线结构与ARM总线 5.3 ARM处理器的存储器层次 5.4 ARM的I/O与中断处理 5.5 ARM处理器的寄存器组织 5.6 ARM处理器CPU组织结构 5.7 基于JTAG的ARM调试系统 5.8 ARM系列综述
5.7 基于JTAG的ARM调试系统 JTAG标准 ARM的JTAG 调试结构
片上调试技术的代表-----JTAG调试接口 1. 传统调试工具遇到的挑战 SOC高度集成,很多动作无法在外部管脚体现 深度嵌入,软件越来越复杂 无法实时跟踪、硬件断点无法设置 片上调试技术的代表-----JTAG调试接口
2. JTAG边界扫描测试接口 IEEE1149标准,由联合测试活动组(Joint Test Action Group)开发的针对PCB 标准测试访问接口和边界扫描结构的标准。 该标准被扩展到了面向用户对芯片上 电路进行测试的接口,因此在VLSI测试中有所应用。 边界扫描: 应用处理器上的JTAG接口提供驱动与采样设备外部管脚的方法,并且JTAG驱动与处理器核状态无关。
3. JTAG边界扫描测试接口结构 JTAG接口标准描述了5引脚串行协议,用于数字电路引脚信号电平访问和控制; JTAG结构在系统中的链接。
4. JTAG接口结构说明 TAP(测试访问端口)管脚 TAP控制器 指令寄存器 测试数据寄存器组 五个输入输出管脚 用一个同步状态机来控制和访问嵌入在ARM处理器核内部的测试功能电路; 同步状态机实现IEEE 1149.1 规定的测试逻辑电路的工作时序。 指令寄存器 串行移位寄存器,通过串行输入执行各种操作的指令。 测试数据寄存器组 一组串行移位寄存器,操作指令被串行装入由当前指令所选择的数据寄存器。
5. Embedded-ICE模块 观察点单元 该模块用来监控指令存储器接口和数据存储接口 模块结构 包含2个硬件断点/观察点单元寄存器和控制状态寄存器。 模块结构 Embedded-ICE逻辑中的寄存器地址为5位,通过扫描链2实现对其读写。 当观察点寄存器值与地址、数据和控制信号匹时,观察点寄存器能终止ARM处理器的运行。 观察点单元 由数据、指令和控制寄存器组 组成; 每组包含一个数据寄存器和一个屏蔽寄存器。 可允许/禁止断点、设置数据/指令断点 配置观察点地址寄存器,当运行程序的指令/数据地址与其匹配时,停止程序的运行,进入调试; 配置观察点数据寄存器,当运行程序数据/指令的值与其匹配时,停止程序的运行,进入调试;
6. ARM内核调试通道 包含有Embedded ICE模块的基于ARM的SOC芯片通过JTAG调试端口与宿主PC相连。通过配置,支持正常的断点、观察点以及处理器和系统状态访问,完成调试。 为实时跟踪代码运行过程,ARM提供跟踪宏单元ETM(Embedded Trace Microcell),通过嵌入式实时跟踪系统,实时观察其操作过程,对应用程序调试更全面、客观。 Embedded ICE 和ETM构成ARM完整的调试、实时跟踪方案,有效降低了开发成本。
7. ARM实时调试系统组织 SOC Embedded JTAG EmbeddedICE 控制器 JTAG TAP 端口 主控 系统 嵌入式 核 嵌入式 跟踪宏单元 EmbeddedICE JTAG TAP JTAG 端口 Embedded 控制器 跟踪端口 分析器 跟踪 SOC 主控 系统 数据 地址 控制
8. ARM调试系统特点 Embedded ICE模块通过JTAG端口和协议转换器与宿主机连接,可以小的硬件代价得到完全的源代码级调试功能。 ETM对实时操作进行调试。在运行时,ETM产生对处理器地址、数据及控制总线的跟踪,来获得CPU的全速操作情况。 实时调试将产生大量信息,ETM用数据压缩技术将Trace信息压缩,然后送到片外。
9. ARM处理器状态间转换 状态转换的硬件支持 判断系统状态 工作时钟或存储器时钟MCLK/GCLK; TCK 产生的调试时钟DCLK; Embedded-ICE中的调试状态寄存器; 判断系统状态 Embedded-ICE或外部调试逻辑发出调试中断请求DBGACK是,系统将停止程序正常运行,将时钟切换到调试时钟,进入调试状态。 扫描链的第33位置高,其后指令以系统速度运行。将RESTART指令装入TAP控制器,当TAP进入Run-Test/Idle状态时,ARM自动返回到存储器时钟,以系统速度执行指令。
10. ARM的JTAG仿真器 即ARM的基于JTAG接口的OCD,是通过ARM芯片的JTAG边界扫描口进行调试的设备。 通过JTAG口与ARM的CPU进行通信,不使用片上资源,不占用目标系统的I/O端口。仿真更加接近于目标硬件。 可通过并口、串口、USB口等于宿主PC通信。 JTAG仿真器的连接
LPC2210芯片的ARM调试结构
5.8 ARM系统综述
1. ARM系列核命名规则 ARM7TDMI ARM7 — 32位ARM体系结构4T版本; T — Thumb 16位压缩指令集; D — 支持片上 Debug,使处理器可停止以相应 调试请求; M — 增强型乘法器; I — EmbeddedICE硬件,以支持断点和观察点
2. ARM CPU发展路线图
3. Intel Xscale处理器系列
3.1 第一代: StongARM系列处理器 2001年intel公司的移动芯片产品 处理器主频从100—206mhz 主要型号有: StrongARM SA110,SA-100 开创了高性 能移动芯片的先河 缺点:功耗过大,主频提升困难
3.2 第二代: Xscale系列 四大分支领域: PXA IXP IOP IXC 常见于PDA、智能手机使用 八种系列处理器:IXP420, IXP421, IXP422, IXP423, IXP425, IXP455, IXP460, 和IXP465. 四大分支领域: PXA IXP IOP IXC 是设计成网络处理器的产品。主要应用在VoIP设备,网络交换机,路由器,WIFI无线网络产品中。 IOP 7个型号: IOP303, IOP310, IOP321, IOP331, IOP332, IOP333。 被设计来允许计算机和存储设备传输数据和提高设备性能的。时钟频率从100 MHz到800 MHz不 等。 IXC是低于PXA的一个档次,运行在266, 400, 533 MHz, 它也是设计为低电 耗,533 MHz主频时功率是 2.4 W。芯片采用了35 mm 的PBGA封装。
3.3 Intel PXA系列 PXA210 : PXA25x :包括 PXA250和 PXA255 是Intel的入门级准XScale,目标是移动电话应用 频率达到了133 MHz 和200 MHz。 在2002年就迅速被PXA250取 代 PXA25x :包括 PXA250和 PXA255 Intel正式第一代XScale处理器; 有三种主频选 择:200 MHz、300 MHz和400 MHz 2003年,版本为C0的PXA250更名为PXA255。主要不同是双总线使数据传输更快,低电 压(1.3 V 400 MHz)和回写数据缓存功能。
3.4 Intel PXA系列 (2) PXA26x: 时钟主频与上一代PXA25x一样, 但PXA260采用了TPBGA封装,这种封装比PXA25x的PBGA 封装小了53%。给低电耗、小空间的智能电话和PDA消费群带来了较理想的解决方案。 PXA261,PXA262,PXA263在TPBGA封装技术的同时又在CPU中集成了Flash 闪存 : PXA261集成了16 M的16位闪存 PXA262集成了32 M的16位闪存 PXA263集成了32 M的32位闪存。
3.5 Intel PXA系列 (3) PXA27x:PXA270/PXA271/PXA272 XScale家族的高端处理器 采用0.18制造工艺,融入SpeedStep的CPU动态调节省电技术,加入对无线MMX技术支持,内部也使用了256K SRAM 减少电耗和延迟。主频最高将能达到1G PXA270/PXA271/PXA272 区别: PXA270可以运行在312 MHz, 416 MHz, 520 MHz 和624 MHz,没有包含闪存。 PXA271可以运行在312 MHz,416 MHz,并且包含有32M的16位Flash闪存和32M的16位SDRAM内存。 PXA272可以运行在312 MHz, 416 MHz 或520 MHz ,并且包含有64M的32位Flash闪存。
3.6 Intel PXA系列 (4) 2006年11月, Marvell公司推出基于第三代Intel XScale技术的应用处理器, “PXA3xx”系列。 PXA3xx: 高端PXA320(代号Monahans-P),频率806MHz,二级缓存 256KB,32位DDR接口,09年相关产品问世; PXA300/PXA310频率都是624MHz,兼容PXA320; 均支持智能电源管理技术Wireless Intel SpeedStep; MusicMax技术可以保障MP3联系播放时间长达30小时; VideoMax技术则可以30FPS的帧率流畅传输或播放D1分辨率的H.264视 频。 PXA3xx还支持数码摄像头,最高像素500万,并有图像稳定器等高级特性。
4. ARM系列核概述 CPU核 应用 CPU组织 存储器组织 总线组织 实现工艺 ARM7TDMI ARM710T ARM720T 1. 3级指令流水 2. 冯-诺曼结构(统一Cache) 3. 支持16位Thumb指令集 4. 主频能达130MIPS性能 1. 8K统一Cache; 2. 4路组关联; 3. 随机替换算法; 4. 写直达策略 5. MMU协处理器(710T/720T) 6. 存储保护单元(740T) 7. 写缓冲器 AMBA总线接口 提供: 0.25,0.18,0.13的生产工艺 ARM9TDMI (相同工艺下,性能为ARM7TDMI大约2倍) ARM920T ARM922T ARM940T 1. 5级指令流水 2. Harvard结构(分离Cache) 4. 主频能达300MIPS性能 5. 提供协处理器接口,可支持片上浮点协处理器、DSP处理器等硬件加速; 对于920T/922T: 1. 16KB指令和数据Cache,64路组联分段式CAM-RAM;(920T/922T) 2. 4KB指令和数据Cache,全相关CAM-RAM(940T) 3. 伪随机或循环替换策略; 4. MMU+写缓冲(920T) 5. 存储保护单元+写缓冲;(940T) 0.18,0.15,0.13的生产工艺 ARM10TDMI (相同工艺下,性能为ARM9TDMI大约2倍) ARM1020E ARM1022E ARM1026EJ-S 1. 6级指令流水 4. 主频能达400MIPS性能 5. 支持DSP指令集(VFP10浮点协处理器) 6. 并行Load/Store 部件 1. 32K数据和指令Cache,均为64路相联段式CAM-RAM结构; 2. Cache的数据总线64位; 3. 数据Cache采用写回策略;指令Cache只读。 4. 8+4片写缓冲器; 5. MMU; AMBA AHB总线接口兼容
3. ARM系列核概述 (续) CPU核 应用 CPU组织 存储器组织 总线组织 实现工艺 StrongARM SA-110 1. 5级指令流水 2. Harvard结构(分离Cache) 3. 主频在160~200M时,性能达200~250MIPS; 4. 低功耗,0.5~1W,1.65~2V工作电压下; 1. 16K数据和指令Cache,均为32路相联段式CAM-RAM结构; 2. 数据Cache采用写回策略;指令Cache只读。 3. 写缓冲器; 4. MMU; Intel IX- BUS 总线接口 提供: 0.35,0.28生产工艺 XScale (相同工艺下,性能为StrongARM大约2倍) Intel PX250/260系列 1. 7级指令流水 3. 动态电源管理,主频可达1G; 4. 性能最高能达1200MIPS; 5. 低功耗,1.6W(最高性能下) 6. 增加MAC和DSP协处理器CP0,提高对多媒体支持。 1. 数据和指令Cache增加到32K Intel IX-BUS总线 0.18,0.13生产工艺
小 结
TAP(测试访问端口)管脚 信号名称 管脚名 管脚类型 功能定义 测试时钟 TCK 输入 测试时钟。控制TDI/TDO串行移入/移出数据或指令;为TAP状态机提供时钟。 测试模式选择 TMS 控制测试接口状态机的操作 测试数据输入 TDI 测试输入。其串行输入数据送至边界扫描寄存器或指令寄存器。 测试数据输出 TDO 输出 把从边界扫描链采样的数据传送至串行测试电路中的下一个芯片。 异步复位 nTRST 测试复位输入信号:测试接口初始化
TAP控制器的16状态的有限状态机
指令寄存器 寄存器中的指令码选择专用的测试操作。 指令寄存器是一个5位串行移位寄存器。当TAP控制器处于Shift_IR态时,数据通过TDI管脚串行的调入IR。TCK的上升沿控制。 IR的最高有效位连接到TDI;最低有效位连接到TDO。 在TCK的上升沿,TDI 被移位到IR中。 边界扫描指令集 3个Public指令 3个可选Pubilc指令 4个用户自定义指令 14个Private指令
边界扫描指令集
测试数据寄存器组 边界扫描寄存器 旁路寄存器 设备ID寄存器 专用数据寄存器 截取ARM核与芯片引脚之间所有信号,组成专用寄存器位。 1位移位寄存器,用一个时钟延迟把TDI连到TDO,使测试者在同一电路板测试循环黑访问其它器件; 设备ID寄存器 读出芯片固化的ID号 专用数据寄存器 用于指令缓冲区初始化及软件调试。
3. 1 JTAG接口在系统中的连接结构