当前位置:首页 > 嵌入式 > 嵌入式硬件

目前,越来越多的嵌入式开发公司和工程师开始采用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仿真器,可以明显地提高调试效率。当然,前提是工程师能够灵活使用各种断点资源。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2025年8月14日,致力于亚太地区市场的国际领先半导体元器件分销商---大联大控股宣布,其旗下诠鼎推出基于新突思(Synaptics)SL1680嵌入式处理器的AI疲劳驾驶检测方案。

关键字: AI 嵌入式处理器 Type-C

在软件开发过程中,调试是确保程序正确性和稳定性的关键环节。断点,作为调试程序时的一种重要工具,允许开发者在代码执行过程中临时停止程序的运行,以便检查程序的状态、变量的值以及执行流程。本文将深入解析断点的工作原理,探讨其如...

关键字: 断点 时间暂停器

嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。

关键字: 嵌入式处理器 ARM

米尔发布基于STM32MP257设计的嵌入式处理器模块MYC-LD25X核心板及开发板。核心板基于STM32MP2系列是意法半导体推出最新一代工业级64位微处理器,采用LGA 252 PIN设计,存储配置1GB/2GB...

关键字: 核心板 开发板 嵌入式处理器

随着全球对可持续发展的日益关注,新能源技术作为替代传统能源的重要选择,正迅速发展并深入各个领域。在这一技术革新的浪潮中,嵌入式技术作为关键的智能化解决方案,正在为新能源行业的发展注入新的动力和创新。

关键字: 核心板 嵌入式处理器

写一篇关于“西门子PLC程序”的文章3000字可能内容过多,我可以为您提供一个文章大纲,供您参考:

关键字: 西门子 PLC程序 资源

嵌入式处理器是一种特殊的计算机处理器,它被设计用于嵌入到各种设备和系统中,以实现特定的功能。由于其低功耗、高性能和可靠性等特点,嵌入式处理器在许多领域都有广泛的应用,如汽车电子、工业控制、医疗设备等。本文将对嵌入式处理器...

关键字: 嵌入式处理器 嵌入式系统

2023年10月10日, [恩智浦创新技术论坛] 在深圳湾万丽酒店举行,众多工业、物联网、新能源和医疗等行业的企业出席论坛,深入交流市场趋势与行业洞察,一同讨论如何协同面对市场的机遇与挑战,共同促进未来市场的发展。米尔电...

关键字: NXP 嵌入式处理器

智能制造作为一种创新型制造模式,正在引领制造业的转型和升级。那么什么是智能制造?它的本质意义又是什么呢?接下来,我将详细阐述智能制造的定义和其本质意义。

关键字: 智能制造 资源 智能化
关闭