[发明专利]一种针对嵌入式系统的程序调试方法及嵌入式系统无效
申请号: | 201210081161.9 | 申请日: | 2012-03-23 |
公开(公告)号: | CN102662835A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 王泰运;林淑琴;方嘉崧 | 申请(专利权)人: | 凌阳科技股份有限公司;北京北阳电子技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 牛峥;王丽琴 |
地址: | 中国台湾新竹科*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 嵌入式 系统 程序 调试 方法 | ||
技术领域
本发明涉及程序调试技术领域,尤其涉及一种针对嵌入式系统的程序调试方法及嵌入式系统。
背景技术
程序调试的主要工作是跟踪变量的赋值过程,以及查看内存堆栈的内容,查看这些内容的目的在于观察变量的赋值过程与赋值情况,从而达到调试的目的。目前,程序调试除了有软件调试方式外,还有硬件调试。
所谓硬件调试是指在计算上调试软件的配合下实现的一种交叉调试过程。硬件调试的过程主要是:计算机软件把编译好的程序通过串行口、并行口或者USB口传输到仿真器中,仿真器仿真全部的目标板资源如所有的目标板接口且真实的引脚输出。仿真器可以接入实际的电路中,然后像目标板一样执行。同时,仿真器也会返回目标板内部内存与时序等情况给计算机的辅助软件,这样,通过利用调试软件设置单步、全速、运行到光标的常规调试指令就可以利用辅助软件在计算机上观测到程序真实的执行情况。
现有技术中,常用的针对嵌入式系统的硬件调试方式包括采用在线仿真器(ICE,In-Circuit Emulator)方式以及采用在线调试器(ICD,In-Circuit Debug)方式。由于嵌入式系统应用的一个显著特点是与现实世界中的硬件直接相关,存在各种异变和事先未知的变化,从而给微处理器的指令执行带来各种不确定因素,这种不确定性在目前情况下只有通过在线仿真器ICD才有可能发现。但是,由于在线仿真器ICE的发展远远落后于CPU的发展,其运行速度也难以跟上CPU的主频,使得其在模拟CPU的同时向外输送调试信息变得较为困难。另外,一种CPU就需要与之对应的专用在线仿真器ICE,这样,也就导致开发成本较高。针对这些问题,业界开发出在线仿真器ICD在线调试方式,在这种调试方式中,通过在芯片中内嵌一在线仿真器ICE,同时利用在开发板上引出的调试端口,通过一具有核心硬件的在线调试器ICE的接口盒即在线仿真器ICD将来自主机的高层调试指令转换成该调试端口可以发送或接收的调试指令,从而完成调试过程。目前,已有ARM公司、MOTO公司开发出相应的在线调试器ICD调试方案。
下面以ARM公司开发ARM9基于JTAG端口的ICD程序调试方案对通用的在线调试器ICD方案进行说明。联合测试行动小组(JTAG,Joint Test Action Group)是一种国际标准测试协议(IEEE 1149.1兼容),通常所说的JTAG端口大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;另一类用于程序的调试(Debug);JTAG端口最初是用来对芯片进行测试的,但后来发现也可以用JTAG端口对程序进行调试。现在多数的高级器件都支持JTAG协议,如与JTAG端口兼容的器件可以是微处理器(MPU,micro-processing unit)、微控制器(MCU,micro-controlling unit)、可编程逻辑器件(PLD,programmable logic device)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(DSP,Digital signal processor)、特殊应用集成电路(ASIC,Application Specific Integrated Circuit)或其它符合IEEE1149.1规范的芯片。标准的JTAG端口是4线:调试模式选择(TMS,Test Mode Selection)信号、调试时钟输入(TCK,Test Clock Input)信号、调试数据串行输入(TDI,Test Data Input)信号、调试数据串行输出(TDO,Test Data Output)信号,只要通过调试时钟输入信号TCK和调试模式选择信号TMS的设置即可实现调试数据串行输入信号TDI和调试数据串行输出信号TDO的控制。调试时钟输入信号TCK用于输入调试时钟,调试时钟输入信号TCK上升沿时将数据通过调试数据串行输入信号TDI输入JTAG端口;调试时钟输入信号TCK下降沿数据通过调试数据串行输出信号TDO从JTAG端口输出;调试时钟输入信号TCK上升沿时调试模式选择信号TMS用来设置JTAG端口处于某种特定的调试模式,也就是选择对应的扫描链使扫描链对应的芯片与外界IO隔离开来,避免外界IO干扰,以对该扫描链对应的芯片进行数据输入输出,而扫描链在非调试状态下,对于芯片来说是透明的,并不影响芯片的正常工作。
图1为ARM9的ICD硬件调试的硬件连接示意图。
PC主机101作为调试主机(调试主机也可以是工控机、工作站),发出高层调试指令,如设置断点、设置观察点、访问内存等。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于凌阳科技股份有限公司;北京北阳电子技术有限公司,未经凌阳科技股份有限公司;北京北阳电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210081161.9/2.html,转载请声明来源钻瓜专利网。