Loading
新闻中心库存中心价格中心PDF中心图片中心
ICGLE 电子技术支持中心,为电气人员和相关企业提供全面的信息(IC技术\IC库存\IC图片\PDF资料等)服务
总线设计PCB设计单片机DSPARM
JAVA驱动设计C/C++汇编J2EE网络协议中间件技术嵌入式系统无线通信通信网络模拟技术接口电路显示光电传感与控制EDA/PLD
气流体控制电子产品电机及工具通信设备仪器仪表电线电缆建筑电气低压电器高压电器电源工控自动化广电设备医疗器械More..
电源设计仪器仪表技术专递电路图片电子专栏储存技术汽车电子测量测试音响技术家用电器
成功方案市场分析行业标准应用前沿芯片应用综合专区
浅谈ARM仿真器中的断点资源
来源:电子工程专辑   作者:张国跃
字体大小:[大][中][小]

      目前,越来越多的嵌入式开发公司和工程师开始采用JTAG方式的ICE仿真器来进行程序的调试工作。传统的全仿真方式(Full ICE)正在逐渐被使用灵活、成本低廉的JTAG仿真方式所取代。 

       JTAG仿真器目前可以满足嵌入式程序调试的所有基本要求,例如:断点设置、单步调试、内存编辑、变量、寄存器观测等。(如图1所示) 


图 1: 调试器界面及常用功能

  断点设置是JTAG仿真器最基本的调试功能。用户需要系统在设置断点处停下来后再进行调试。断点根据原理和用途不同又分为几个不同的种类。本文将简单地介绍一下常用的几种断点类型。

  断点可分为硬件断点和软件断点两大类:

  1.硬件断点需要目标CPU的硬件支持,当前流行的ARM7/9内部硬件设计提供两组寄存器用来存贮断点信息,所以ARM7/9内核最多支持两个硬件断点,而ARM11则可以支持到8个硬件断点。这与调试器无关。

  2.软件断点则是通过在代码中设置特征值的方式来实现的。当需要在某地址代码处设置软件断点的时候,仿真器会先将此处代码进行备份保护,然后将预先设定好的断点特征值(一般为0x0000等不易与代码混淆的值)写入此地址,覆盖原来的代码数据。当程序运行到此特征值所在的地址时,仿真器识别出此处是一个软断点,便会产生中断。当取消断点时,之前受保护的代码信息会被自动恢复。

  硬件断点可以设置在任何位置的代码上,包括ROM和RAM;而软件断点由于需要修改相应地址的值,所以一般只能设在RAM上,但是数量可以不受限制。由于硬件断点设置的灵活性,所以是最优先选用的断点资源,但是两个断点往往很难满足工程师进行深入调试的需要,于是软件断点可以作为硬件断点的补充资源来使用。

  由于通常的软件断点只能设在RAM运行的代码上,而随着系统的代码量越来越大,特别是在移动通信领域,扩充大容量的RAM势必会增加产品的成本,所以现在很多系统直接在FlashROM上运行代码。对于这种在FlashROM上运行代码的系统,一般的软件断点是无法设置的,这也是软件断点的局限性。对于这样的系统,只能通过交替使用两个硬件断点满足需要,但是会带来一定的不便。

  要很好的解决这一矛盾,只有使仿真器增加在FlashROM上设置软件断点的功能,拓展仿真器中可供利用的断点资源。例如,日本横河计算机株式会社(YDC)最新推出的高端ARM仿真器—advicePRO,就是第一个支持Flash断点的ICE仿真器产品。(如图2所示)


图 2: 横河公司的最新产品advicePRO

  在FlashROM上设置软件断点的原理与在RAM上设置软断点类似,也是在设定的断点处用特征码替换原有代码,通过识别特征码使断点事件发生。不同的是,在FlashROM上设置软件断点需要对Flash进行擦写操作,这就需要仿真器能够有Flash编程功能,并且能够在尽可能短的时间内完成特征码的写入。完成这一系列的读写操作,就可使在FlashROM上调试代码的工程师获得更充裕的断点资源,从而大大提高了开发效率。

  但是,由于对Flash进行擦写需要一定的时间,所以在执行到Flash断点的时候会感觉到有一个停顿的时间。虽然这一点比RAM上的软件断点要差些,但是相对于给工程师调试工作整体上带来的便利而言,这一点是完全可以接受的。

  设置断点进行调试是最基本的一种调试手段,选择具有丰富断点资源的ICE仿真器,可以明显地提高调试效率。当然,前提是工程师能够灵活使用各种断点资源。

Upload by 小刘(2007-10-16)
IC
·RF电路中LDO电源抑制比和噪声的选..
·一种新型开关电源模块均流技术的研究
·基于FPGA+PCI的并行计算平台实..
·基于Protel SDK的传输线分析..
·基于USB的高速硬件精插补器设计
·基于FPGA的32Kbit/s CV..
·高速嵌入式视频系统中SDRAM时序控..
·嵌入式应用中存储器类型的选择技巧
·基于NOR FLASH存储器的嵌入式..
·嵌入式系统中闪存设备I/O软件的设计..
·非标准化传感器信号调理的一种新方法
·一种高精度光纤Bragg光栅传感器解..
·基于DSP的线阵CCD实时测量系统设..
·使用单片机实现GPRS通信小系统的研..
·高速印制电路板的设计及布线要点
·RTP协议的IP电话QoS监测及提高..
·高精度的步进电机控制系统设计
·CY7C68013与FPGA接口的V..
·基于MiniGUI的机车显示终端图形..
·基于WiMAX网络的切换管理研究
·面向FTTH的EPON系统应用与管理
·浅析电气火灾自动保护型断路器的使用
·构建基于RTLinux的嵌入式系统研..
·基于MiniGUI的机车显示终端图形..
·突破新兴高效能电源要求上的限制(图)
·数字电源的特点与发展现状
·2007年及以后的电源驱动系统集成(..
·光电转换电源控制系统的设计(图)
·三相、三输出控制器节省了POL转换器..
·一种用于航天工程的二次电源系统设计(..
·基于AVR单片机PWM功能的数控恒流..
·基于片上状态机的智能电源管理单元设计..
·天线方向图自动测试系统的设计
·基于GPRS的自动抄表系统设计
·基于IEEE1451标准的IP传感器..
·基于FPGA的分布式算法FIR滤波器..
·基于单片机的舵机控制
·针对高速PCB设计问题定义一体化的设..
·基于VxWorks的TrueFFS文..
·基于Nios II的JPEG图像显示..
IC
推荐技术文章:
·用SoC实现视频图形引擎功能 ..
·信产部副部长苟仲文强调政府大力支持I....
·基于ARM9的嵌入式网关的研究..
·基于TMS320F2812和μC/O....
·ADC时延和建立时间的区别..
·利用Astro-Rail分析FFT芯....
·数据融合在舰炮系统低角跟踪中的应用..
·低速率无线传感器网络演示系统的设计与....
·ARM多核和MIPS多执行绪嵌入式处....
·从ARM看企业的自我定位..
·基于ARM处理器的MVB 2类设备研....
·基于TMS320F28XX UCD8....
·基于TMS320LF2407的馈线终....
·基于DSP的Max-Log-MAP算....
·采用集成DSP与微处理器内核的嵌入式....
·基于DSP的平流层验证飞艇组合导肮系....
·高速DSP与PC实现串口通信的方法..
·基于DSP和CPLD的智能相机系统设....
·用SPI实现dsPlC与ISD语音芯....
·基于DSP的同步相量测量装置的研究..
·FPGA-DSP 瞄准目标:用得起的..
·基于DSP的高速实时语音识别系统的设..
·基于89C51单片机的数字视频监控系..
·基于C8051F041的电力变压器非..
·用单片机和EDA协同设计温度采集系统
·服装生产自动熨烫系统设计
·AT89C52单片机的液位检测系统
·基于MSP430的卫星通信车载站手持..
·单片机+CPLD结构体系在电子设计中..
·热电阻在烟叶初烤炕房温度控制中的应用
·AT89C52单片机在捻度测量中的应..
·8位机嵌入式TCP通信速度的研究
·体温数据采集装置的设计
·基于PIC单片机控制的RLC智能测量..
·单片机控制步进电机驱动器工作原理
·非标准化传感器信号调理的一种新方法
·利用高速FPGA设计PCB的要点及相..
·基于ISA总线的高速同步数据采集系统..
·嵌入式系统中可配置式GPIO模拟SP..
·用FPGA设计MP3个人数字播放机
IC
IC

©2007 版权归ICGLE所有   页面执行时间:234.375毫秒