ARM仿真调试技术_第1页
ARM仿真调试技术_第2页
ARM仿真调试技术_第3页
ARM仿真调试技术_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在嵌入式系统的设计中,仿真应用的范围主要集中在对程序的仿真上。在RM的开发过程中,一种最简单和原始的开发流程是:编写程序,然后烧写到芯片上验证功能这,种方法对于简单的小系统是可以对付的,但在大系统中使用这种方法则是完全不可能的。所以很多时候我们需要在不烧写代码的情况下调试程序,这就是仿真调试技术。现代调试技术可以分为软件仿真调试和硬件仿真调试两种:一.软件仿真(指令集仿真):概念:用数据结构描述目标机CPU中各个寄存器和其他资源(内存等),通过软件模拟,可以逐条指令解释执行目标机可执行映象中的程序。应用场合:当嵌入式软件开发在目标硬件平台不存在的情况下进行,就要使用这种软件来模拟目标PU,以验证代码逻辑。是学习嵌入式开发有效地工具,可以让学习者从底层具体硬件细节中解脱出来,专注于软件,尤其是与具体硬件无关的系统软件TCP/IP协议栈)。几个不错的硬件模拟平台:Skyeye:清华大学计算机系博士后陈渝发起,开源项目,主要模拟RM内核CPU。ARMulator:ARM公司推出,ARM指令集模拟器(ADS,RealviewMDK上就用这个)。ZIX:—个快捷高效、功能强大、易于配置的嵌入式Linux开发环境。软件仿真的缺点:无法完全仿真与硬件相关的部分,最终还要通过硬件仿真来完成最终的设计。二.硬件仿真调试:以前的芯片没有JTAG调试逻辑,要向仿真它就必须要有专门的仿真器,这种仿真器成本较高,而且每种芯片都不一样,现在这种仿真器已经不存在了。现在的芯片一般都内置了JTAG调试逻辑,并不需要CPU仿真器,需要的只是一个JTAG协议转接器(现在还称其为仿真器,其实叫做调试器比较合适)。所以下面主要介绍JTAG及其仿真技术。JTAG简介JTAG是JointTestActionGroup的简称,该组织致力于统一芯片的测试标准,它们最初向EEE提出了IEEE1149.1标准,后来经过IEEE批准并且标准化,所以IEEE1149.1标准又叫JTAG标准,它是一套芯片测试接口和标准,现在几乎所有的CPU核里面都会实现JTAG逻辑单元。JTAG原本是用来测试芯片设计是否正确,其基本原理就是在芯片的各个管脚上放置锁存器,然后串联起来构成移位寄存器,可以监控芯片管脚的输入和输出。后来大家发现用JTAG在线调试芯片非常方便(其实就是利用JTAG控制CPU内核),还不需要设计专门的仿真芯片,因此就出现了用TTAG调试风行的局面。边界扫描技术(Boundary-Scan):JTAG调试主要就是基于这种边界扫描技术。边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元因。为这些移位寄存器单元都分布在芯片的边界上,所以被称为边界扫描寄存器(Boundary-ScanRegisterCell)。当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。JTAG的主要作用:检测芯片是否良好■这是JTAG最初设计的目标镜像文件的烧写功能■可以烧写编译出来的二进制或者十六进制可执行文件到目标板的Flahs芯片上■当开发板为裸板(没有固化任何程序)的时候,通常需要通过TAG接口下载bootloader■调试功能■JTAG接口为宿主机和目标系统之间的通信、控制提供了方便的途径ARM7TDMI调试架构:一个调试系统通常包含三个部分:

•调试主机■是一台运行调试软件(ADS,Keil等)的计算机■可以发出一些高层的调试命令,设置断点,访问内存等•协议转换器■将调试主机发出的高层调试命令转换为底层的ARMJTAG调试命令■调试目标■基于目标芯片的开发板ARM7TDMI典型的调试架构如下图所示:HoslComputsr(PC.SunorHP)PratMdDetugIsrget—^rg&1Systemw岀ARklTTD肚I□

□□□□

□□口口HoslComputsr(PC.SunorHP)PratMdDetugIsrget—^rg&1Systemw岀ARklTTD肚I□

□□□□

□□口口经过协议转换器进行命令解释,主机上运行的调试软件就可以通过JTAG接口直接和目标芯片对话了为了支持底层的调试,ARM7TDMI提供了硬件上的调试扩展,包括:停止程序的运行•检查和修改ARM7TDMI的内核状态观察和修改内存恢复程序的运行常见ARM调试工具:BDI1000/2000/3000■非常好的调试工具,可以调试ARM、MIPS、PowerPC、Xscale等多种架构处理器■JTAG下载速度可以上兆,以太网接口■性能优越但是价格不菲,可以调试Linux内核这种复杂的代码U-LinkU-Link是Keil公司做的用于ARM和某些增强型8051单片机调试的工具■由于Keil公司做的时候没有加密,导致现在盗版满天飞U-link仅仅支持Keil,JTAG下载速度20K~30KU-Link下载程序不是简单通过JTAG,而是先用JTAG下载一段固件程序到目标板,然后再用这个固件程序和JTAG把用户代码写入Flash以提高速度J-LinkJ-Link是IAR公司为ARM芯片开发的调试工具■支持RDI协议的调试工具,如Keil、ADS、IAR等J-Link不支持ARM10以上的内核JTAG下载速度400K~500KMulti-ICEARM公司原创调试工具,支持全系列ARM芯片JTAG下载速度130K左右

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论