电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 嵌入式系统/ARM技术 > 详细信息
嵌入式系统/ARM技术:浅谈ARM仿真器中的断点资源
来源:   时间: 2007-5-24 17:07:55    

目前,越来越多的嵌入式开发公司和工程师开始采用JTAG方式的ICE仿真器来进行程序的调试工作。传统的全仿真方式(Full ICE)正在逐渐被使用灵活、成本低廉的JTAG仿真方式所取代。
JTAG仿真器目前可以满足嵌入式程序调试的所有基本要求,例如:断点设置、单步调试、内存编辑、变量、寄存器观测等。(如图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所示)
在FlashROM上设置软件断点的原理与在RAM上设置软断点类似,也是在设定的断点处用特征码替换原有代码,通过识别特征码使断点事件发生。不同的是,在FlashROM上设置软件断点需要对Flash进行擦写操作,这就需要仿真器能够有Flash编程功能,并且能够在尽可能短的时间内完成特征码的写入。完成这一系列的读写操作,就可使在FlashROM上调试代码的工程师获得更充裕的断点资源,从而大大提高了开发效率。


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

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

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

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

相关信息
发表评论
打印本页 关闭本页
MM3Z24VT1的技术参数
  产品型号:MM3Z24VT1齐纳击穿电压Vz最小值(V):22.800齐纳击穿电压Vz典型值(V):24.200齐纳击穿电压Vz最大值(V):25.600@Izt(mA):5齐纳阻抗Zzt(Ω):120最大功率PMax(W):0.200芯片标识:11封装/温度(℃):SOD323/-65~150价格/1片(套):¥.25
>>详细内容
MM3Z22VT1的技术参数
  产品型号:MM3Z22VT1齐纳击穿电压Vz最小值(V):20.800齐纳击穿电压Vz典型值(V):22齐纳击穿电压Vz最大值(V):23.300@Izt(mA):5齐纳阻抗Zzt(Ω):100最大功率PMax(W):0.200芯片标识:10封装/温度(℃):SOD323/-65~150价格/1片(套):¥.21
>>详细内容
MM3Z20VT1的技术参数
  产品型号:MM3Z20VT1齐纳击穿电压Vz最小值(V):18.800齐纳击穿电压Vz典型值(V):20齐纳击穿电压Vz最大值(V):21.200@Izt(mA):5齐纳阻抗Zzt(Ω):100最大功率PMax(W):0.200芯片标识:0Z封装/温度(℃):SOD323/-65~150价格/1片(套):¥.25
>>详细内容
MM3Z18VT1G的技术参数
  产品型号:MM3Z18VT1G齐纳击穿电压Vz最小值(V):16.800齐纳击穿电压Vz典型值(V):18齐纳击穿电压Vz最大值(V):19.100@Izt(mA):5齐纳阻抗Zzt(Ω):80最大功率PMax(W):0.200芯片标识:0W封装/温度(℃):SOD323/-65~150价格/1片(套):¥.22
>>详细内容
MM3Z18VT1的技术参数
  产品型号:MM3Z18VT1齐纳击穿电压Vz最小值(V):16.800齐纳击穿电压Vz典型值(V):18齐纳击穿电压Vz最大值(V):19.100@Izt(mA):5齐纳阻抗Zzt(Ω):80最大功率PMax(W):0.200芯片标识:0W封装/温度(℃):SOD323/-65~150价格/1片(套):¥.25
>>详细内容
MM3Z16VT1G的技术参数
  产品型号:MM3Z16VT1G齐纳击穿电压Vz最小值(V):15.300齐纳击穿电压Vz典型值(V):16.200齐纳击穿电压Vz最大值(V):17.100@Izt(mA):5齐纳阻抗Zzt(Ω):80最大功率PMax(W):0.200芯片标识:0U封装/温度(℃):SOD323/-65~150价格/1片(套):¥.25
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com