ARM调试方案.ppt

上传人:b****3 文档编号:2742781 上传时间:2022-11-10 格式:PPT 页数:53 大小:2.64MB
下载 相关 举报
ARM调试方案.ppt_第1页
第1页 / 共53页
ARM调试方案.ppt_第2页
第2页 / 共53页
ARM调试方案.ppt_第3页
第3页 / 共53页
ARM调试方案.ppt_第4页
第4页 / 共53页
ARM调试方案.ppt_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

ARM调试方案.ppt

《ARM调试方案.ppt》由会员分享,可在线阅读,更多相关《ARM调试方案.ppt(53页珍藏版)》请在冰豆网上搜索。

ARM调试方案.ppt

1TMTHEARCHITECTUREFORTHEDIGITALWORLDARM调试方案调试方案2TM2122v01ARMDebugSolutions议程议程n基本的调试需求基本的调试需求n你需要什么样的功能?

nARM公司的调试和开发工具。

n嵌入式核的调试嵌入式核的调试n实现和利用JTAG的调试方案n停止模式和监控模式n嵌入式跟踪嵌入式跟踪n使用ETMnARM开发板开发板3TM3122v01ARMDebugSolutions?

基本的调试需求基本的调试需求n运行控制运行控制n设置数据访问断点n设置指令断点n代码的单步执行n状态控制状态控制n处理器状态n读写寄存器值n系统状态n系统内存访问n下载代码n执行历史执行历史n执行跟踪信息n内存访问历史4TM4122v01ARMDebugSolutionsARM调试系统组件调试系统组件执行AXD调试器的主机(ADS的一部分)和Multi-ICEserver协议转换器(Multi-ICE)跟踪接口单元(MultiTrace)开发板(IntegratorCoreModule)TracePortJTAGPort并口串口l/以太网5TM5122v01ARMDebugSolutions议程议程n基本的调试需求基本的调试需求n你需要什么样的功能?

nARM公司的调试和开发组成工具。

n嵌入式核调试嵌入式核调试n实现和利用JTAG的调试方案n停止模式和监控模式n嵌入式跟踪嵌入式跟踪n整体化和利用ETMnARM开发板开发板6TM6122v01ARMDebugSolutions嵌入式核调试嵌入式核调试5线JTAGn被调试的系统可以是最终的系统!

n也可以用第三方的协议转换工具:

nhttp:

/server(可以运行在不同的机器上)TAPEmbeddedICELogic-RT7TM7122v01ARMDebugSolutions嵌入式嵌入式ICE逻辑逻辑n两个观察点单元两个观察点单元n可以通过监控地址总线,数据总线和控制信号来探测观察点(watchpoint)和断点。

n每个单元可以用来提供n1观察点,或n1个ROM或RAM里的硬件断点,或nRAM里的多个软件断点n调试控制和状态寄存器调试控制和状态寄存器n调试通讯通道调试通讯通道n注意:

注意:

ARM10nARM10家族的调试结构是不同的,虽然原理是一样的。

n一共包括8个观察点单元n6个在指令地址总线上n2个在数据地址总线上n这个将在另外一个课题中讲解8TM8122v01ARMDebugSolutions观察点观察点ControlAddrValueDataValueControlValueAddrMaskDataMaskControlMaskA31:

0ComparatorWatchpointD31:

00xF0000x00xffffffffDatawrite0xF000MemoryLocationtobewatched一个观察点观察点就是一个断点,这个断点在当以某种方式访问特定内存区域时被触发这个例子里,当向地址0xF000写时,将触发这个观察点每一个观察点单元可以设置成一个观察点观察点,而且只能设置一个9TM9122v01ARMDebugSolutions硬件断点硬件断点0x8000ARM-0x3Thumb-0x10xffffffffOpcodefetch0x8000MemoryBreakpointtobesethereControlAddrValueDataValueControlValueAddrMaskDataMaskControlMaskA31:

0ComparatorBreakpointD31:

0当内核试图执行内存里一个特定地址的指令时,将会触发一个硬件断点硬件断点这个例子里,当要执行从地址0x8000索取的指令时,将会触发一个硬硬件断点件断点硬件断点硬件断点可以在RAM或ROM里设置每个观察点单元可以被用来设置一个硬件断点硬件断点,而且只能一个10TM10122v01ARMDebugSolutions软件断点软件断点Memory0xffffffff0xeeeeeeee0x0OpcodefetchControlAddrValueDataValueControlValueAddrMaskDataMaskControlMaskA31:

0ComparatorBreakpointD31:

01.Readandstoreopcode2.Write“special”value一个软件断点软件断点是当一个特定的指令从任何地址被预取时触发的一个断点这个例子表明了观察点单元的配置这对所有的软件断点都是一样的为了设置一个断点,可以使用Multi-ICE在特定的地方写一个特别的指令这些只能在RAM里在操作每一个观察点单元可以用来设置无数的软件断点软件断点.(The“special”value)11TM11122v01ARMDebugSolutions命中一个断点命中一个断点n停止模式调试停止模式调试n由标准的EmbeddedICE&EmbeddedICE-RT支持n内核进入调试状态和停止状态n内核与系统的其余部分分离n发出DBGACK信号(调试器通过JTAG而检测到)n没有中断处理,除非调试器重新启动执行代码n处理器和系统的状态可以通过扫描内核的指令来察看和修改,紧接着执行它们n监控模式调试监控模式调试n只由增强功能的EmbeddedICE-RT支持n在ARM9E,ARM10和稍后的ARM7TDMI版本上有n内核通过一个异常中断而进入常驻软件监控程序n可以连续处理中断n处理器和系统的状态可以通过监控程序的调试命令来察看和修改12TM12122v01ARMDebugSolutions读系统状态读系统状态(在停止模式在停止模式)从地址0x8000向后读10个字MOVr0,#0x8000LDMIAr0!

r1-r10-systemspeedSTMIAr0,r1-r10-debugspeedTDITCKDatabusARMxDTCKregistersDebugspeedDatabusARMxDTDOr1-r1013MCLKregistersSystemspeedDatabusARMxD2FDE13TM13122v01ARMDebugSolutionsDebuggerRMHost(RealMonitor.dll)主机主机RMTargetApplicationCode+Data目标板目标板经过经过DCC传送的传送的实时监控协议实时监控协议监控模式调试监控模式调试n主机-在AXD和Multi-ICE之间的控制器n实时监控协议n非常简单的协议n快速没有出错检查n允许后台命令n实际目标板n小的调试监控程序(2.0V时工作时工作n在3.3V时,启动电流是400mA,一般操作时是120mAnMulti-ICE2.1出售时跟随一个适当的电源nMulti-ICE用用20-针针连接器连接器n多个接地点n灵活的时钟配置n可以与不同的时钟速度设备同步n长JTAG电缆n也可以仅仅利用5个信号来调试n请小心停止系统时钟请小心停止系统时钟n复位考虑复位考虑.24TM24122v01ARMDebugSolutionsTCK,TDI,TMS,TDO协议转换接口TCK,.nTRSTnRESETARMResetCircuit复位复位nSRSTnTRSTnnTRST和nSRST必须通过一个上拉电阻来连接nMulti-ICE在nTRST有开放的连接25TM25122v01ARMDebugSolutions测验测验1)EmbeddedICE逻辑一共包括多少个观察点单元?

2)ROM上可以设置多少个断点?

3)利用DCCsemihosting比一般的semihosting有什么优势?

4)为了激活ARM的调试功能,DBGEN的信号应该怎么连接?

5)为什么Multi-ICE需要半字访问内存?

6)EmbeddedICE-RT提供了哪些额外的调试功能?

26TM26122v01ARMDebugSolutions议程议程n基本调试需求基本调试需求n你需要什么样的功能?

nARM公司的调试和开发集成工具。

n嵌入式核调试嵌入式核调试n实现和利用JTAG的调试方案n停止模式和监控模式n嵌入式跟踪嵌入式跟踪n整体化和利用ETMnARM开发板开发板27TM27122v01ARMDebugSolutionsETM的机制的机制(嵌入式跟踪宏单元嵌入式跟踪宏单元)n为什么需要实时跟踪功能?

为什么需要实时跟踪功能?

n实时系统不允许停止!

n传统的调试(断点和单步执行)不能满足n必须利用捕获的实际代码运行来调试n为什么不用其它的调试工具而用为什么不用其它的调试工具而用ETM?

nEmbeddedICE-RT为调试通讯通道提供了低的带宽n只适用于程序状态信息n外部的指令需要写到通讯通道里n独立的处理器比嵌入式处理器容易调试独立的处理器比嵌入式处理器容易调试n一个独立的处理器,或者:

n用外部的ICE单元代替处理器,或者n用逻辑分析仪探测处理器的信号n当用嵌入式ARM内核时两个都不可能时怎么办啊?

28TM28122v01ARMDebugSolutions16bitwideRAM8bitwideROM20bitAddress16bitData带嵌入式处理器的典型带嵌入式处理器的典型ASICSerialPortsARMDataAddressDisplayControlTimer32bitwideInternalMemoryExternalBusInterface29TM29122v01ARMDebugSolutions问题问题n没有外部可见的片上没有外部可见的片上ASIC总线总线n带缓存的处理器(例如,ARM920T)带有与设备内部相连的核/缓存总线nICE版本必须在全速系统速度下运行版本必须在全速系统速度下运行n随着处理器速度的增加,ICE越来越难n同时必须提供ICE工具(例如,触发器)n实时跟踪需要确定的实时跟踪需要确定的高带宽的接口高带宽的接口n需要地址总线,数据总线和控制信号n对于ARM7TDMI,有80多个引脚n很多很多ASICs使用相同的处理器核使用相同的处理器核nICE必须为每一个ASIC定做30TM30122v01ARMDebugSolutionsARM实时跟踪实时跟踪n嵌入式跟踪单元(ETM)n实时指令跟踪n实时数据访问跟踪n包含ICE功能(触发和过滤逻辑)nMultiTrace跟踪端口分析器(TPA)n深度缓冲器捕获跟踪n跟踪调试工具n通过JTAG/Multi-ICE配置ETM跟踪n从ETM/MultiTrace里接收压缩的跟踪数据n利用拷贝原代码映象来对ETM跟踪5ARMcoreETMRAMROMTAPcontrollerTraceTrigger/Filter9,13,21线跟踪接口5线JTAG接口串口/以太网口并口运行跟踪调试工具的主机(ADS的附件)31TM31122v01ARMDebugSolutionsETM结构结构TRACECLK3(ETMv1)4(ETMv2)PIPESTAT2:

0(ETMv1)PIPESTAT3:

0(ETMv2)ARMCore到和来自ARM的数据可综合的可综合的ETM块块n=4,8or16跟踪端口(9,13or21引脚)nETM监控器和简要的监控器和简要的ARM总线信号总线信号JTAG接口Trigger&FilterLogicPipelineStatusGenerationTracePacketCapturenTRACEPKTn-1:

0TRACESYNC(ETMv1only)FIFOT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1