CN101154183B - 一种微控制器嵌入式在线仿真调试系统 - Google Patents
一种微控制器嵌入式在线仿真调试系统 Download PDFInfo
- Publication number
- CN101154183B CN101154183B CN2006101168607A CN200610116860A CN101154183B CN 101154183 B CN101154183 B CN 101154183B CN 2006101168607 A CN2006101168607 A CN 2006101168607A CN 200610116860 A CN200610116860 A CN 200610116860A CN 101154183 B CN101154183 B CN 101154183B
- Authority
- CN
- China
- Prior art keywords
- instruction
- debugging
- register
- microcontroller
- debug
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 14
- 230000006870 function Effects 0.000 claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 34
- 238000012360 testing method Methods 0.000 claims abstract description 19
- 238000012544 monitoring process Methods 0.000 claims abstract description 18
- 230000000694 effects Effects 0.000 claims abstract description 3
- 238000013500 data storage Methods 0.000 claims description 20
- 230000009471 action Effects 0.000 claims description 19
- 238000009825 accumulation Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 9
- 238000012546 transfer Methods 0.000 claims 2
- 238000000034 method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 239000006145 Eagle's minimal essential medium Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000013078 crystal Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种微控制器嵌入式在线仿真调试系统,包括通讯端口控制模块,状态控制模块,调试指令控制模块,硬件断点监视触发模块,上述各模块通过主机发送的专用调试指令集到芯片内部来控制整个在线仿真调试系统工作;可以完成复杂的通过标准测试边界扫描对芯片内部进行边界扫描,根据外部命令控制微控制器芯片由正常模式转入调试模式,通过和主机的调试通讯接口,程序可从微控制器的存储器中任何位置下载或读出,支持目标系统单步调试,支持软件和硬件断点,实时查看或修改芯片内部特殊功能寄存器,数据存储器和程序存储器内容,监控地址总线和数据总线,实现实时逻辑跟踪等功能。结构清晰,简单,运行效果高效,实时监控精确。
Description
技术领域
本发明属于半导体集成电路设计领域,尤其涉及一种微控制器(微控制器)的嵌入式在线仿真调试系统。
背景技术
微控制器的嵌入式在线仿真调试系统,在以微控制器为核心的应用系统开发过程中是开发人员一件不可或缺的重要工具。在以往的工程领域应用中,通常是用外置的在线仿真器来对程序存储器和芯片内部进行扫描检测。这种外置的在线仿真器结构极其复杂,价格昂贵。在对芯片内部时序,实时输入输出以及总线检测方面的能力不能满足工程领域的精确要求。从另一个角度来说,因为外置在线仿真器通常并不精确的和每一版芯片内部结构一一对应,它和芯片在物理上属于两个实体,所以检测能力和精度很难提升,性价比方面表现差强人意。
在目前的微控制器设计领域,在线调试系统和微控制器的相互依存关系越来越紧密,将两个系统整合到一个芯片内部是趋势所在。在一个基于微控制器的微控制器控制系统中,在芯片的设计阶段芯片就要通过在线仿真器系统的各种功能进行测试验证,应用领域中更离不开在线仿真器系统对芯片内部的调控监视,所以,将在线仿真器系统嵌入到芯片内部,将会极大的提高微控制器设计应用系统的性能,降低系统成本。
本发明将把在线仿真器系统的所有功能嵌入到微处理芯片中.成为一个 运行在芯片内部的专用调试系统模块,外部通讯接口采用国际标准串行边界扫描技术对芯片内部进行边界扫描,本系统可以控制芯片由正常模式转入调试模式。通过标准测试编辑扫描接口,程序可从微控制器内部存储器中任何位置读入读出,支持目标系统单步调试,实时查看或修改芯片内部特殊寄存器,内部数据存储器和程序存储器内容,监控地址总线和数据总线,实现实时逻辑跟踪。
目前的芯片仿真器多为外置,大致分为两种方式:
1、由仿真器的仿真头来完全取代目标板上的微控制器进行工作,产生外部电路所需要的信号,同时捕获外部的所有信号,提供源代码级调试及处理器运行控制等功能,通过它可以启动和停止目标系统,查阅和修改寄存器和存储器,在需要控制或查看内部处理器运行的地方设置断点。但是随着处理器的性能和复杂性的飞速发展,这种微控制器在线仿真器提供的时间严重滞后于芯片本身的生命周期,而且价格昂贵,可扩展性差,没有完善的触发,高速定时或模拟分析功能,对芯片内部更深层次的时序和内部动态运行监控能力差。
2、一部分功能已经集成到芯片内部,另一部分通过外置的微控制器在线仿真器进行操控完成。这中主要针对那些具有标准测试边界扫描调试端口的处理器,目前几乎所有的高速嵌入式处理器都有标准测试边界扫描调试接口,仿真器通过调试口控制微控制器运行,但实际运行还是要处理器自身来产生,因此要求在目标板能够调试之前,必须保证处理器,晶振及内存等部件正常运行,这种微控制器在线仿真器不能实时跟踪和处理微控制器内部总线的代码流。
随着微处理器品种的增多和速度的提高,微处理器内部结构越来越复 杂,功能也越来越强大。许多新型微处理器中包含仿真器不可见的高速缓存,内部时钟速率一般比总线速率高出好几倍,再用外接在线仿真器替代目标处理器的方法来实现仿真已经变的越来越困难,解决的办法就是将微控制器在线仿真器嵌入到处理器内部,使用边界扫描技术,通过通讯接口与微控制器通信,这样做的好处是巨大的,可以降低在线仿真器的成本,减少引脚,连接方便,属于完全非插入式(既不使用片上资源)调试。
发明内容
本发明的目的在于提供一种微控制器配置接口操作方法,通过配置接口电路,解决了芯片测试操作方法兼容性问题,节省了电路面积,使得测试更加简单,同时也使得芯片的可测性设计更加合理。
本发明是通过以下技术方法实现的:一种微控制器嵌入式在线仿真调试系统,包括通讯端口控制模块,状态控制模块,调试指令控制模块,硬件断点监视触发模块,上述各模块通过主机发送的专用调试指令集到芯片内部来控制整个在线仿真调试系统工作;其中,通讯端口控制模块控制整个系统与外部主机,系统其他模块的数据通讯,以及对外部调试命令的解码,控制操作,且所述通讯端口控制模块采用标准测试边界扫描通讯协议的通信方式从外部主机接收控制整个调试系统的操作命令以及数据,内部包括标准测试边界扫描通讯协议状态机,可变长度的移位寄存器,指令寄存器和数据寄存器,所述通讯端口控制模块的指令寄存器存放接收到的调试指令,数据寄存器存放与调试指令相对应的数据指令,调试系统在移位寄存器接收数据完毕后,标准测试边界扫描通讯协议状态机经过更新数据寄存器状态和更新指令寄存器状态,将移位寄存器里的数据保存到数据寄 存器或指令寄存器中;状态控制模块进行整个系统的数据处理,状态控制,各种寄存器操作,所述状态控制模块包括调试需求状态寄存器,单步执行状态寄存器,调试代码运行寄存器,调试代码地址寄存器,以及多个8位缓冲数据寄存器;调试指令控制模块根据外部输入调试指令产生输出到微控制器中的调试执行代码;硬件断点监视触发模块监视微控制器的程序数据总线,程序地址总线,特殊功能寄存器数据总线,特殊功能寄存器地址总线,内部数据存储器地址总线,内部数据存储器数据总线,外部数据存储器地址总线,外部数据存储器数据总线的实时变化,根据设置条件触发硬件断点。
调试指令控制模块包括多种指令输出模式和指令解码器,根据不同的外部输入调试命令选中不同的指令输出模式,产生出需要输入到微控制器中执行的调试代码。
硬件断点监视触发模块内部有多个硬件断点寄存器,使用与硬件断点寄存器对应的专用数据格式来储存断点信息。
系统还包括一套专用调试指令集,通过专用调试指令集完成本系统所有的功能操作。
可变长度的移位寄存器的长度可以是1位,8位,16位,24位或者40位,分别用来移位存储不同要求的数据长度。
标准测试边界扫描通讯协议状态机运行到捕获指令寄存器状态的时候,系统会将微控制器的模式回应信号传送到移位寄存器中,显示微控制器运行的模式状态。
调试需求状态寄存器控制微控制器的运行模式状态,使微控制器停止当前动作进入调试模式;或者微控制器从调试模式恢复。
单步执行状态寄存器控制微控制器的单步执行,微控制器在调试模式下时单步执行寄存器才有效,寄存器置高时,微控制器退出调试模式,进入正常模式执行当前地址指针指向的程序,当前指令执行完毕后,重新进入调试模式,该寄存器恢复低电平。
调试代码运行寄存器接收到调试执行指令后被置高,激活调试指令控制模块的运行,同时由调试代码地址寄存器控制调试指令控制模块输出的调试代码内容。
调试指令控制模块输出的调试代码的指令输出格式为,每条指令总长度为14个字节,低8位为微控制器操作码,第9位和第10位控制选择4个缓冲数据寄存器的读出,第11位到第13位控制选择4个缓冲数据寄存器的写入。
指令输出模式有11种,包括读程序存储器,写程序存储器,读内部数据存储器,写内部数据存储器,读外部数据存储器,写外部数据存贮器,读特殊寄存器,写特殊寄存器,读内部寄存器,写内部寄存器,写程序地址指针寄存器。
调试执行代码在对累加寄存器,内部第一寄存器,数据指针寄存器等寄存器进行操作时,产生的调试代码会先把原有的值放在4个缓冲寄存器中进行保护,等调试程序执行完毕后,再根据4个缓冲寄存器中的数据进行现场恢复。
硬件断点监视触发模块监视微控制器的程序数据总线,程序地址总线,特殊寄存器数据总线,特殊寄存器地址总线,内部数据存储器地址总线,内部数据存储器数据总线,外部数据存储器地址总线,外部数据存储器数据总线的实时变化。
当满足断点设定条件的,断点就被触发,调试需求状态寄存器被置高,强迫在正常模式下运行的微控制器停止运行,进入到调试模式下。
硬件断点监视触发模块内部有4个40位的硬件断点寄存器,其中第0位到第15位为断点地址储存位,第16位到第19位为断点扩展地址储存位,第20位到第27位为断点数据储存位,第28位为地址使能位,第29位为扩展地址使能位,第30位为数据使能位,第32位到第35位为断点功能位,第36位到第38位为断点模式位,第39位表示本硬件断点的使能信号。
如果触发类型为读取程序储存器或者写入程序储存器,当满足触发条件时,系统将立即停止微控制器解码的动作,将微控制器保持在未执行当前断点所指的程序的状态,等到有单步要求,或者回复正常模式后,再执行本断点所指向的命令,如果触发断点为其余类型时,当满足触发条件时,先要把断点指向的程序执行完毕,再将微控制器转入到调试模式下。
专用调试指令集包括显示版本信息指令,通过该指令,选中本系统的内部编号控制扫描链寄存器,其中包括本调试系统的版本信息和配置信息,将这些信息赋值到移位寄存器中。
专用调试指令集包括调试空闲指令,通过该指令,移位寄存器的长度选择为1,直接保存本系统的输入端口数据,并把值赋给输出端口。
专用调试指令集包括开始调试模式指令,通过该指令,将本系统的调试请求信号置高,使被控制的微控制器从正常运行模式进入到调试模式。
专用调试指令集包括结束调试模式指令,接收本指令后,将本系统的调试请求信号置低,使被控制的微控制器从调试模式退出到正常运行模式。
专用调试指令集包括单步执行指令,接收本指令后,开始执行微控制器的单步运行,微控制器由调试模式进入正常运行模式,执行下一条指令,一 条指令执行完毕后,重新进入调试模式。
专用调试指令集包括调试终止指令,接收本指令后,将调试请求信号置高,同时停止本系统的调试运行代码在微控制器上的调试动作。
专用调试指令集包括复位微控制器指令,接收到本指令后,本系统会发出复位信号使微控制器复位。
专用调试指令集包括调试执行命令,接收到本指令后,系统会根据上一指令已经设置好的访问方式去调用调试指令控制模块的功能,调试指令模块会通过多路选择器切换程序指令通道,向微控制器输送调试代码到微控制器中进行单步执行,执行完毕后的数据将保存在累加寄存器中,通过数据线直接连接累加寄存器的值返回到本系统中,完成控制微控制器的动作。
专用调试指令集包括选中第一断点指令,接收到本指令后,系统会将移位寄存器长度改变为40位,然后选中第一断点寄存器,把随着本指令后输入进来的40位第一断点设置信息经过移位寄存器保存在第一断点寄存器中。
专用调试指令集包括选中第二断点指令,接收到本指令后,系统会将移位寄存器长度改变为40位,然后选中第二断点寄存器,把随着本指令后输入进来的40位第二断点设置信息经过移位寄存器保存在第二断点寄存器中。
专用调试指令集包括选中第三断点指令,接收到本指令后,系统会将移位寄存器长度改变为40位,然后选中第三断点寄存器,把随着本指令后输入进来的40位第三断点设置信息经过移位寄存器保存在第三断点寄存器中。
专用调试指令集包括选中第四断点指令,接收到本指令后,系统会将移位寄存器长度改变为40位,然后选中第四断点寄存器,把随着本指令后输入进来的40位第四断点设置信息经过移位寄存器保存在第四断点寄存器中。
专用调试指令集包括读特殊寄存器指令,接收到本指令后,系统会进入 到读取微控制器内部的特殊寄存器数据状态,然后等待紧接着本条指令传送进来所要读取的特殊寄存器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令调试微控制器动作。
专用调试指令集包括写特殊寄存器指令,接收到本指令后,系统会进入到写入微控制器内部的特殊寄存器数据状态,然后等待紧接着本条指令传送进来所要写入的特殊功能寄存器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
专用调试指令集包括读内部数据储存器指令,接收到本指令后,系统会进入到读取微控制器内部数据储存器状态,然后等待紧接着本条指令传送进来所要读取的内部数据储存器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
专用调试指令集包括写内部数据储存器指令,接收到本指令后,系统会进入到写入微控制器内部数据储存器数据状态,然后等待紧接着本条指令传送进来所要写入的内部数据存储器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
专用调试指令集包括读外部数据储存器指令,接收到本指令后,系统会进入到读取微控制器外部数据储存器状态,然后等待紧接着本条指令传送进来所要读取的外部数据储存器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
专用调试指令集包括写外部数据储存器指令,接收到本指令后,系统会进入到写入微控制器外部数据储存器数据状态,然后等待紧接着本条指令传送进来所要写入的外部数据存储器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
专用调试指令集包括读程序储存器指令,接收到本指令后,系统会进入到读取微控制器程序存储器状态,然后等待紧接着本条指令传送进来所要读取的程序存储器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
专用调试指令集包括写程序储存器指令,接收到本指令后,系统会进入到写入微控制器程序存储器状态,然后等待紧接着本条指令传送进来所要写入的程序存储器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
专用调试指令集包括读内部寄存器指令,接收到本指令后,系统会进入到读取微控制器内部寄存器状态,然后等待紧接着本条指令传送进来所要读取的内部寄存器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
专用调试指令集包括写内部寄存器指令,接收到本指令后,系统会进入到写入微控制器内部寄存器状态,然后等待紧接着本条指令传送进来所要写入的内部寄存器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
专用调试指令集包括写程序地址指针寄存器指令,接收到本指令后,系统会根据紧接着本条指令传入的程序指针地址值,将微控制器的程序指针地址改变为传入的值。
专用调试指令集包括读程序地址指针寄存器指令,接收到本指令后,系统会将微控制器目前的程序指针地址值传入到移位寄存器中,等待向外部输出。
专用调试指令集包括取结果寄存器指令,接收到本指令后,系统会选中 状态控制模块中的结果寄存器,将其值传入到移位寄存器中,等待向外部输出。
指令输出格式中第9位和第10位控制选择4个缓冲数据寄存器的读出,00选择将调试指令控制模块输出的调试代码输出到微控制器数据总线,01选择将第二缓冲数据寄存器的数据输出到微控制器数据总线,10选择将第三缓冲数据寄存器的数据输出到微控制器数据总线,11选择将第四缓冲数据寄存器的数据输出到微控制器数据总线。
指令输出格式中第11位到第13位控制选择4个缓冲数据寄存器的写入,000不写入数据,100将微控制器中累加寄存器的值写入到第一缓冲数据寄存器中,101将微控制器中累加寄存器的值写入到第二缓冲数据寄存器中,110将微控制器中累加寄存器的值写入到第三缓冲数据寄存器中,111将微控制器中累加寄存器的值写入到第四缓冲数据寄存器中。
硬件断点寄存器的第36位到第38位为断点模式位,其中,000表示读程序储存器触发断点,001表示写程序储存器触发断点,010表示读取外部数据存储器触发断点,011表示写入外部数据存储器触发断点,100表示读取内部数据存储器触发断点,101表示写入内部数据存贮器触发断点,110表示读取特殊寄存器触发断点,111表示写入特殊寄存器触发断点。
本发明一种微控制器嵌入式在线调试仿真调试系统,在芯片级别上实现了对芯片的实时监控,调试,仿真控制。本系统的四个模块彼此通过本发明的调试指令进行协调工作,完成了复杂的通过标准测试边界扫描对芯片内部进行边界扫描,根据外部命令控制微控制器芯片由正常模式转入调试模式。通过和主机的调试通讯接口,程序可从RAM/ROM/FLASH中任何位置下载或读出,支持目标系统单步调试,支持软件和硬件断点,实时查看或修改芯 片内部特殊功能寄存器,RAM和ROM内容,监控地址总线和数据总线,实现实时逻辑跟踪等功能。结构清晰,简单,运行效果高效,实时监控精确。此系统可以作为一个IP核应用在不同的嵌入式微处理器上,拥有强大的调试功能,供芯片应用者去开发具有高成本效益的调试追踪系统,可以大幅度提升产业界在以嵌入式微处理器为基础的芯片调试能力。
附图说明
图1是嵌入式线上调试系统构架图;
图2是通讯端口控制模块;
图3是状态控制模块;
图4是调试指令控制模块;
图5是硬件断点监视触发模块;
图6是调试系统总体示意图。
具体实施方式
请参阅图1,微控制器嵌入式在线仿真调试系统结构1,包括通讯端口控制模块2,状态控制模块3,调试指令控制模块7,硬件断点监视触发模块8,上述各模块通过主机发送的专用调试指令集到微控制器芯片内部来控制整个在线仿真调试系统工作;其中,通讯端口控制模块2通过5控制整个系统与外部主机,通过6控制本系统其他模块的数据通讯,以及对外部调试命令的解码,控制操作;状态控制模块3进行整个系统的数据处理,状态控制,各种寄存器操作;调试指令控制模块7根据外部输入调试指令产生输出到微控制器中的调试执行代码,通过10输出到状态控制模块3中;硬件断点监 视触发模块8通过9监视微控制器的程序数据总线,程序地址总线,特殊功能寄存器特殊功能寄存器数据总线,特殊功能寄存器地址总线,内部数据存储器地址总线,内部数据存储器数据总线,外部数据存储器地址总线,外部数据存储器数据总线的实时变化,通过11根据设置条件触发硬件断点。
请参阅图2,通讯端口控制模块通信方式采用标准测试边界扫描通讯协议从外部主机接收控制整个调试系统的操作命令以及数据,内部包括一个标准测试边界扫描通讯协议状态机13,一个可变长度的移位寄存器18,一个指令寄存器15,一个数据寄存器22。其中,可变长度的移位寄存器18的长度可以是1位,8位,16位,24位或者40位,分别用来移位存储不同要求的数据长度。输入数据16连接在可变长度移位寄存器的左端,向移位寄存器输入数据,输出数据19连接在可变长度移位寄存器的右端,可变长度移位寄存器通过其向外部输出数据。通讯端口控制模块的指令寄存器15存放通过17接收到的调试指令,数据寄存器22存放通过20输入过来的与调试指令相对应的数据指令,系统在移位完成后根据状态机13的状态进行操作。标准测试边界扫描状态机运行到捕获指令寄存器状态的时候,系统会将微控制器的模式回应信号传送到移位寄存器中,反映微控制器运行的模式状态。
本模块通过标准测试边界扫描协议接收本系统调试指令,指令方式包括一套调试专用的指令集,共25条:
(1)指令:DR_IDCODE
编码:00000010
描述:选中本系统的内部编号控制扫描链寄存器,其中包括本调试系统的版本信息和配置信息。将这些信息赋值到 移位寄存器中。
(2)指令:DR_BYPASS
编码:11111111
描述:接收本指令后,将本系统的移位寄存器长度选择为1,执行本指令后,移位寄存器直接保存本系统的输入端口数据,并把值赋给输出端口。
(3)指令:DR_DEBUG_ON
编码:01101001
描述:接收本指令后,将本系统的调试请求信号置高,使被控制的微控制器从正常运行模式进入到调试模式。
(4)指令:DR_DEBUG_OFF
编码:01101000
描述:接收本指令后,将本系统的调试请求信号置低,使被控制的微控制器从调试模式退出到正常运行模式。
(5)指令:DR_DEBUG_STEP
编码:01101010
描述:接收本指令后,开始执行微控制器的单步运行,微控制器由调试模式进入正常运行模式,执行下一条指令,一条指令执行完毕后,重新进入调试模式。
(6)指令:DR_DEBUG_FLY
编码:01101101
描述:接收本指令后,将调试请求信号置高,同时停止本系统的调试运行代码在微控制器上的调试动作。
(7)指令:DR_DEBUG_RESET_CPU
编码:01110000
描述:接收到本指令后,本系统会发出复位信号使微控制器复位
(8)指令:DR_DEBUG_EXEC
编码:01011000
描述:调试执行指令,接收到本指令后,本系统会根据上一指令已经设置好的访问方式去调用调试指令控制模块的功能,调试指令模块会通过多路选择器切换程序指令通道,向微控制器输送调试代码到微控制器中进行单步执行,执行完毕后的数据将保存在累加器寄存器中,通过数据线直接连接累加寄存器的值返回到本系统中,完成控制微控制器的动作。
(9)指令:DR_DEBUG_TRIGGER0
编码:10100000
描述:接收到本指令后,本系统会将移位寄存器长度改变为40位,然后选中断点0寄存器,把随着本指令后输入进来的40位断点0设置信息经过移位寄存器保存在断点0寄存器中。
(10)指令:DR_DEBUG_TRIGGER1
编码:10100001
描述:接收到本指令后,本系统会将移位寄存器长度改变为40位,然后选中第一断点寄存器,把随着本指令后输入进来的40位第一断点设置信息经过移位寄存器保存在断点0寄存器中。
(11)指令:DR_DEBUG_TRIGGER2
编码:10100010
描述:接收到本指令后,本系统会将移位寄存器长度改变为40位,然后选中第二断点寄存器,把随着本指令后输入进来的40位第二断点设置信息经过移位寄存器保存在第二断点寄存器中。
(12)指令:DR_DEBUG_TRIGGER3
编码:10100011
描述:接收到本指令后,本系统会将移位寄存器长度改变为40位,然后选中第三断点寄存器,把随着本指令后输入进来的40位第三断点设置信息经过移位寄存器保存在第三断点寄存器中。
(13)指令:DR_DEBUG_R_SFR
编码:11100000
描述:接收到本指令后,本系统会进入到读取微控制器内部的特殊功能寄存器数据状态,然后等待紧接着本指令传送进来所要读取的特殊功能寄存器地址信息,第三条调试执行指令 DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令DR_DEBUG_EXEC调试微控制器动作。
(14)指令:DR_DEBUG_W_SFR
编码:11100001
描述:接收到本指令后,本系统会进入到写入微控制器内部的特殊功能寄存器数据状态,然后等待紧接着本指令传送进来所要写入的特殊功能寄存器地址信息及数据信息,第三条调试执行指令DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令DR_DEBUG_EXEC调试微控制器动作。
(15)指令:DR_DEBUG_R_IMEM
编码:11100010
描述:接收到本指令后,本系统会进入到读取微控制器内部数据储存器状态,然后等待紧接着本指令传送进来所要读取的内部数据储存器地址信息,第三条调试执行指令DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令DR_DEBUG_EXEC调试微控制器动作。
(16)指令:DR_DEBUG_W_IMEM
编码:11100011
描述:接收到本指令后,本系统会进入到写入微控制器内部数据储存器数据状态,然后等待紧接着本指令传送进来所要写入的内部数据存储器地址信息及数据信息,第三条调试执行指令DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令 DR_DEBUG_EXEC调试微控制器动作。
(17)指令:DR_DEBUG_R_EMEM
编码:11100100
描述:接收到本指令后,本系统会进入到读取微控制器外部数据储存器状态,然后等待紧接着本指令传送进来所要读取的外部数据储存器地址信息,第三条调试执行指令DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令DR_DEBUG_EXEC调试微控制器动作。
(18)指令:DR_DEBUG_W_EMEM
编码:11100101
描述:接收到本指令后,本系统会进入到写入微控制器外部数据储存器数据状态,然后等待紧接着本指令传送进来所要写入的外部数据存储器地址信息及数据信息,第三条调试执行指令DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令DR_DEBUG_EXEC调试微控制器动作。
(19)指令:DR_DEBUG_R_PMEM
编码:11100110
描述:接收到本指令后,本系统会进入到读取微控制器程序存储器状态,然后等待紧接着本指令传送进来所要读取的程序存储器地址信息,第三条调试执行指令DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令DR_DEBUG_EXEC调试微控制器动作。
(20)指令:DR_DEBUG_W_PMEM
编码:11100111
描述:接收到本指令后,本系统会进入到写入微控制器程序存储器状态,然后等待紧接着本指令传送进来所要写入的程序存储器地址信息及数据信息,第三条调试执行指令DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令DR_DEBUG_EXEC调试微控制器动作。
(21)指令:DR_DEBUG_R_REG
编码:11101000
描述:接收到本指令后,本系统会进入到读取微控制器内部寄存器状态,然后等待紧接着本指令传送进来所要读取的内部寄存器地址信息,第三条调试执行指令DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令DR_DEBUG_EXEC调试微控制器动作。
(22)指令:DR_DEBUG_W_REG
编码:11101001
描述:接收到本指令后,本系统会进入到写入微控制器内部寄存器状态,然后等待紧接着本指令传送进来所要写入的内部寄存器地址信息及数据信息,第三条调试执行指令DR_DEBUG_EXEC指令传输进来后。开始执行调试执行指令DR_DEBUG_EXEC调试微控制器动作。
(23)指令:DR_DEBUG_W_PC
编码:11101010
描述:接收到本指令后,本系统会根据接下来第二条指令传入的程序指针地址值,将微控制器的程序指针地址指针改变为传入的值。
(24)指令:DR_DEBUG_GET_PC
编码:11010000
描述:接收到本指令后,本系统会将微控制器目前的程序指针地址值传入到移位寄存器中,等待向外部输出。
(25)指令:DR_DEBUG_GET_RESULT
编码:01010000
描述:接收到本指令后,本系统会选中状态控制模块中的结果寄存器,将其值传入到移位寄存器中,等待向外部输出。
请参阅图3,本发明的状态控制模块负责整个系统的数据处理,状态控制。其中包括调试需求状态寄存器28,单步执行状态寄存器29,调试代码运行寄存器30,调试代码地址寄存器31,4个8位缓冲数据寄存器32,33,34,35。根据不同的指令,控制上述寄存器的状态被置成不同的状态来控制微控制器的运行,调试请求指令DR_DEBUG_ON指令使调试需求状态寄存器28置高,使微控制器由正常模式进入到调试状态,调试停止DR_DEBUG_OFF指令使该寄存器置低,使微控制器由调试状态回复到正常运行模式。
在进入调试模式后,微控制器停止正常工作,调试单步指令DR_DEBUG_STEP指令使单步执行状态寄存器29置高,会使微控制器从调 试模式返回到正常模式,执行下一条指令,完毕后重新进入调试模式。调试代码运行寄存器30在接收到调试执行指令DR_DEBUG_EXEC指令后,会被置高。从而激活调试指令控制模块的运行,同时由调试代码地址寄存器31控制调试指令控制模块输出的调试代码内容,由调试指令控制模块输出的调试代码为14个字节。低8位为微控制器操作码,9位和10位控制选择4个缓冲数据寄存器的读出。00选择将调试指令控制模块输出的调试代码输出到微控制器数据总线,01选择将第二缓冲数据寄存器的数据输出到微控制器数据总线,10选择将第三缓冲数据寄存器的数据输出到微控制器数据总线,11选择将第四缓冲数据寄存器的数据输出到微控制器数据总线。11位到13位控制选择4个缓冲数据寄存器的写入,000不写入数据,100将微控制器中累加寄存器的值写入到第一缓冲数据寄存器中,101将微控制器中累加寄存器的值写入到第二缓冲数据寄存器中,110将微控制器中累加寄存器的值写入到第三缓冲数据寄存器中,111将微控制器中累加寄存器的值写入到第四缓冲数据寄存器中。
请参阅图4,本发明的调试指令控制模块负责根据调试指令来产生输出到微控制器中的调试执行代码53。读特殊寄存器39,写特殊寄存器40,读内部数据存储器41,写内部数据存储器42,读外部数据存储器43,写外部数据存储器44,读程序存储器45,写程序存储器46,读内部寄存器47,写内部寄存器48,读程序地址指针49,分别会产生不同的调试执行程序操作代码,根据跟随调试指令之后的地址数据输入51和调试指令50输入,经过多路选择52,产生完整的调试执行程序代码53。其中如果调试程序直接进入微控制器执行,会覆盖掉微控制器在进入调试状态前的状态,所以调试执行代码在对累加寄存器,内部第一寄存器,数据指针寄存器等寄存器进行操 作时,产生的调试代码会先把原有的值放在4个缓冲寄存器中进行保护,等调试程序执行完毕后,再根据4个缓冲寄存器中的数据进行现场回复。
请参阅图5,本发明的硬件断点监视触发模块负责监视微控制器的程序数据总线54,程序地址总线55,特殊功能寄存器数据总线56,特殊功能寄存器地址总线57,内部数据存储器地址总线58,内部数据存储器数据总线59,外部数据存储器地址总线60,外部数据存储器数据总线61的实时变化,根据调试指令设置好的断点条件进行判断,如果满足设定条件,断点就被触发,调试需求状态寄存器被置高,强迫在正常模式下运行的微控制器停止运行,进入到调试模式下。
硬件断点监视触发模块内部有4个40位的硬件断点寄存器64,65,66,67,其中0到15位为断点地址储存位,16位到19位为断点扩展地址储存位,20到27位为断点数据储存位,28位为地址使能位,29位为扩展地址使能位,30位为数据使能位。32到35位为断点功能位,36到38位为断点模式位,其中包括:000表示读程序储存器触发断点,001表示写程序储存器触发断点,010表示读取外部数据存储器触发断点,011表示写入外部数据存储器触发断点,100表示读取内部数据存储器触发断点,101表示写入内部数据存贮器触发断点,110表示读取特殊功能寄存器触发断点,111表示写入特殊功能寄存器触发断点。39位表示本硬件断点的使能信号。
如果触发类型为读取程序储存器或者写入程序储存器,当满足触发条件时,本系统将通过调试需求寄存器63立即发送停止微控制器解码的动作,将微控制器保持在未执行当前断点所指的程序的状态,等到有单步要求,或者回复正常模式后,再执行本断点所指向的命令。如果触发断点为其余类型时,当满足触发条件时,先要把断点指向的程序执行完毕,再将微控制器转 入到调试模式下。
请参阅图6,整个嵌入式在线仿真调试系统1和微控制器内核4被集成在微控制器芯片70内部,在主机68端会有调试控制软件通过并口69和芯片相通讯进行调试芯片工作,当芯片正常工作的时候,主机端软件会通过并口不断监测微控制器的运行状态,判断其工作模式是正常工作模式,还是调试模式,由正常模式进入调试模式的方法有两种,主机端发命令使微控制器进入调试模式,微控制器由断点触发自动进入调试模式。
在主机端发送命令调试请求DR_DEBUG_ON到芯片,编码:01101001,接收本指令后,微控制器嵌入式在线仿真系统1将本系统的调试请求信号置高,使被控制的微控制器从正常运行模式进入到调试模式。
如需读出特殊功能寄存器里A0的值,发送命令DR_DEBUG_R_SFR,编码11100000,接收到本指令后,本系统会进入到读取微控制器内部的特殊功能寄存器数据状态,然后再从PC端发送A0,调试系统将A0存储在数据寄存器中,第三步发送调试执行指令DR_DEBUG_EXEC指令,编码01011000,接收到本指令后,调试系统会在调试指令控制模块通过多路选择器切换程序指令通道到读特殊功能寄存器状态模块中。
发送E5A0 mov A,A0
这步命令首先要将A中的原始值保存在第二缓存寄存器中,然后将A0中的数值读取到A中。
发送74ii mov A,#Temp1
这步命令首先要将A中读出的A0中的值保存在第一缓存寄存器中,然后将缓存1中的A原始值恢复到A中。
这样在缓存0中就得到了A0的值,将其赋值给移位寄存器中,移位输 出到PC端。
如需设置程序执行断点,到运行在0x23的时候发生中断,在PC端发送DR_DEBUG_TRIGGER0到芯片中,编码:10100000。接收到本指令后,本系统会将移位寄存器长度改变为40位,然后选中第一断点寄存器,因为我们所要设置的为程序执行断点,地址为0x0023。所以发送8110000023到芯片,这组数据将保存在第一断点寄存器中。当程序运行到0x23的时候,程序地址总线上的数据为0x0023,然后就会触发断点,使微控制器进入到调试状态中。
以上介绍的仅仅是基于本发明的几个较佳实施例,并不能以此来限定本发明的范围。任何对本发明的装置作本技术领域内熟知的部件的替换、组合、分立,以及对本发明实施步骤作本技术领域内熟知的等同改变或替换均不超出本发明的揭露以及保护范围。
Claims (44)
1.一种微控制器嵌入式在线仿真调试系统,其特征在于:系统包括通讯端口控制模块,状态控制模块,调试指令控制模块,硬件断点监视触发模块,上述各模块通过主机发送的专用调试指令集到芯片内部来控制整个在线仿真调试系统工作;其中,
通讯端口控制模块控制整个系统与外部主机,系统其他模块的数据通讯,以及对外部调试命令的解码,控制操作,且所述通讯端口控制模块采用标准测试边界扫描通讯协议的通信方式从外部主机接收控制整个调试系统的操作命令以及数据,内部包括标准测试边界扫描通讯协议状态机,可变长度的移位寄存器,指令寄存器和数据寄存器,所述通讯端口控制模块的指令寄存器存放接收到的调试指令,数据寄存器存放与调试指令相对应的数据指令,调试系统在移位寄存器接收数据完毕后,标准测试边界扫描通讯协议状态机经过更新数据寄存器状态和更新指令寄存器状态,将移位寄存器里的数据保存到数据寄存器或指令寄存器中;
状态控制模块进行整个系统的数据处理,状态控制,各种寄存器操作,所述状态控制模块包括调试需求状态寄存器,单步执行状态寄存器,调试代码运行寄存器,调试代码地址寄存器,以及多个8位缓冲数据寄存器;
调试指令控制模块根据外部输入调试指令产生输出到微控制器中的调试执行代码;
硬件断点监视触发模块监视微控制器的程序数据总线,程序地址总线,特殊功能寄存器数据总线,特殊功能寄存器地址总线,内部数据存储器地址总线,内部数据存储器数据总线,外部数据存储器地址总线,外部数据存储器数据总线的实时变化,根据设置条件触发硬件断点。
2.如权利要求1所述的微控制器嵌入式在线仿真调试系统,其特征在于,调试指令控制模块包括多种指令输出模式和指令解码器,根据不同的外部输入调试命令选中不同的指令输出模式,产生出需要输入到微控制器中执行的调试代码。
3.如权利要求1所述的微控制器嵌入式在线仿真调试系统,其特征在于,硬件断点监视触发模块内部有多个硬件断点寄存器,使用与硬件断点寄存器对应的专用数据格式来储存断点信息。
4.如权利要求1所述的微控制器嵌入式在线仿真调试系统,其特征在于,系统还包括一套专用调试指令集,通过专用调试指令集完成本系统所有的功能操作。
5.如权利要求1所述的微控制器嵌入式在线仿真调试系统,其特征在于,可变长度的移位寄存器的长度可以是1位,8位,16位,24位或者40位,分别用来移位存储不同要求的数据长度。
6.如权利要求1所述的微控制器嵌入式在线仿真调试系统,其特征在于,标准测试边界扫描通讯协议状态机运行到捕获指令寄存器状态的时候,系统会将微控制器的模式回应信号传送到移位寄存器中,显示微控制器运行的模式状态。
7.如权利要求1所述的微控制器嵌入式在线仿真调试系统,其特征在于,调试需求状态寄存器控制微控制器的运行模式状态,使微控制器停止当前动作进入调试模式;或者微控制器从调试模式恢复。
8.如权利要求1所述的微控制器嵌入式在线仿真调试系统,其特征在于,单步执行状态寄存器控制微控制器的单步执行,微控制器在调试模式下时单步执行寄存器才有效,寄存器置高时,微控制器退出调试模式,进入正常模式执行当前地址指针指向的程序,当前指令执行完毕后,重新进入调试模式,该寄存器恢复低电平。
9.如权利要求1所述的微控制器嵌入式在线仿真调试系统,其特征在于,调试代码运行寄存器接收到调试执行指令后被置高,激活调试指令控制模块的运行,同时由调试代码地址寄存器控制调试指令控制模块输出的调试代码内容。
10.如权利要求9所述的微控制器嵌入式在线仿真调试系统,其特征在于,调试指令控制模块输出的调试代码的指令输出格式为,每条指令总长度为14个字节,低8位为微控制器操作码,第9位和第10位控制选择4个缓冲数据寄存器的读出,第11位到第13位控制选择4个缓冲数据寄存器的写入。
11.如权利要求2所述的微控制器嵌入式在线仿真调试系统,其特征在于,指令输出模式有11种,包括读程序存储器,写程序存储器,读内部数据存储器,写内部数据存储器,读外部数据存储器,写外部数据存贮器,读特殊寄存器,写特殊寄存器,读内部寄存器,写内部寄存器,写程序地址指针寄存器。
12.如权利要求2所述的微控制器嵌入式在线仿真调试系统,其特征在于,调试执行代码在对累加寄存器,内部第一寄存器,数据指针寄存器等寄存器进行操作时,产生的调试代码会先把原有的值放在4个缓冲寄存器中进行保护,等调试程序执行完毕后,再根据4个缓冲寄存器中的数据进行现场恢复。
13.如权利要求3所述的微控制器嵌入式在线仿真调试系统,其特征在于,硬件断点监视触发模块监视微控制器的程序数据总线,程序地址总线,特殊寄存器数据总线,特殊寄存器地址总线,内部数据存储器地址总线,内部数据存储器数据总线,外部数据存储器地址总线,外部数据存储器数据总线的实时变化。
14.如权利要求3所述的微控制器嵌入式在线仿真调试系统,其特征在于,当满足断点设定条件的,断点就被触发,调试需求状态寄存器被置高,强迫在正常模式下运行的微控制器停止运行,进入到调试模式下。
15.如权利要求3所述的微控制器嵌入式在线仿真调试系统,其特征在于,硬件断点监视触发模块内部有4个40位的硬件断点寄存器,其中第0位到第15位为断点地址储存位,第16位到第19位为断点扩展地址储存位,第20位到第27位为断点数据储存位,第28位为地址使能位,第29位为扩展地址使能位,第30位为数据使能位,第32位到第35位为断点功能位,第36位到第38位为断点模式位,第39位表示本硬件断点的使能信号。
16.如权利要求3所述的微控制器嵌入式在线仿真调试系统,其特征在于,如果触发类型为读取程序储存器或者写入程序储存器,当满足触发条件时,系统将立即停止微控制器解码的动作,将微控制器保持在未执行当前断点所指的程序的状态,等到有单步要求,或者回复正常模式后,再执行本断点所指向的命令,如果触发断点为其余类型时,当满足触发条件时,先要把断点指向的程序执行完毕,再将微控制器转入到调试模式下。
17.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括显示版本信息指令,通过该指令,选中本系统的内部编号控制扫描链寄存器,其中包括本调试系统的版本信息和配置信息,将这些信息赋值到移位寄存器中。
18.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括调试空闲指令,通过该指令,移位寄存器的长度选择为1,直接保存本系统的输入端口数据,并把值赋给输出端口。
19.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括开始调试模式指令,通过该指令,将本系统的调试请求信号置高,使被控制的微控制器从正常运行模式进入到调试模式。
20.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括结束调试模式指令,接收本指令后,将本系统的调试请求信号置低,使被控制的微控制器从调试模式退出到正常运行模式。
21.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括单步执行指令,接收本指令后,开始执行微控制器的单步运行,微控制器由调试模式进入正常运行模式,执行下一条指令,一条指令执行完毕后,重新进入调试模式。
22.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括调试终止指令,接收本指令后,将调试请求信号置高,同时停止本系统的调试运行代码在微控制器上的调试动作。
23.如权利要求4所述的微控制器嵌入式线上调试系统构架,其特征在于,专用调试指令集包括复位微控制器指令,接收到本指令后,本系统会发出复位信号使微控制器复位。
24.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括调试执行命令,接收到本指令后,系统会根据上一指令已经设置好的访问方式去调用调试指令控制模块的功能,调试指令模块会通过多路选择器切换程序指令通道,向微控制器输送调试代码到微控制器中进行单步执行,执行完毕后的数据将保存在累加寄存器中,通过数据线直接连接累加寄存器的值返回到本系统中,完成控制微控制器的动作。
25.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括选中第一断点指令,接收到本指令后,系统会将移位寄存器长度改变为40位,然后选中第一断点寄存器,把随着本指令后输入进来的40位第一断点设置信息经过移位寄存器保存在第一断点寄存器中。
26.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括选中第二断点指令,接收到本指令后,系统会将移位寄存器长度改变为40位,然后选中第二断点寄存器,把随着本指令后输入进来的40位第二断点设置信息经过移位寄存器保存在第二断点寄存器中。
27.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括选中第三断点指令,接收到本指令后,系统会将移位寄存器长度改变为40位,然后选中第三断点寄存器,把随着本指令后输入进来的40位第三断点设置信息经过移位寄存器保存在第三断点寄存器中。
28.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括选中第四断点指令,接收到本指令后,系统会将移位寄存器长度改变为40位,然后选中第四断点寄存器,把随着本指令后输入进来的40位第四断点设置信息经过移位寄存器保存在第四断点寄存器中。
29.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括读特殊寄存器指令,接收到本指令后,系统会进入到读取微控制器内部的特殊寄存器数据状态,然后等待紧接着本条指令传送进来所要读取的特殊寄存器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令调试微控制器动作。
30.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括写特殊寄存器指令,接收到本指令后,系统会进入到写入微控制器内部的特殊寄存器数据状态,然后等待紧接着本条指令传送进来所要写入的特殊功能寄存器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
31.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括读内部数据储存器指令,接收到本指令后,系统会进入到读取微控制器内部数据储存器状态,然后等待紧接着本条指令传送进来所要读取的内部数据储存器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
32.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括写内部数据储存器指令,接收到本指令后,系统会进入到写入微控制器内部数据储存器数据状态,然后等待紧接着本条指令传送进来所要写入的内部数据存储器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
33.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括读外部数据储存器指令,接收到本指令后,系统会进入到读取微控制器外部数据储存器状态,然后等待紧接着本条指令传送进来所要读取的外部数据储存器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
34.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括写外部数据储存器指令,接收到本指令后,系统会进入到写入微控制器外部数据储存器数据状态,然后等待紧接着本条指令传送进来所要写入的外部数据存储器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
35.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括读程序储存器指令,接收到本指令后,系统会进入到读取微控制器程序存储器状态,然后等待紧接着本条指令传送进来所要读取的程序存储器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
36.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括写程序储存器指令,接收到本指令后,系统会进入到写入微控制器程序存储器状态,然后等待紧接着本条指令传送进来所要写入的程序存储器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
37.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括读内部寄存器指令,接收到本指令后,系统会进入到读取微控制器内部寄存器状态,然后等待紧接着本条指令传送进来所要读取的内部寄存器地址信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
38.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括写内部寄存器指令,接收到本指令后,系统会进入到写入微控制器内部寄存器状态,然后等待紧接着本条指令传送进来所要写入的内部寄存器地址信息及数据信息,第三条调试执行指令传输进来后,开始执行调试执行指令进行调试微控制器动作。
39.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括写程序地址指针寄存器指令,接收到本指令后,系统会根据紧接着本条指令传入的程序指针地址值,将微控制器的程序指针地址改变为传入的值。
40.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括读程序地址指针寄存器指令,接收到本指令后,系统会将微控制器目前的程序指针地址值传入到移位寄存器中,等待向外部输出。
41.如权利要求4所述的微控制器嵌入式在线仿真调试系统,其特征在于,专用调试指令集包括取结果寄存器指令,接收到本指令后,系统会选中状态控制模块中的结果寄存器,将其值传入到移位寄存器中,等待向外部输出。
42.如权利要求10所述的微控制器嵌入式在线仿真调试系统,其特征在于,指令输出格式中第9位和第10位控制选择4个缓冲数据寄存器的读出,00选择将调试指令控制模块输出的调试代码输出到微控制器数据总线,01选择将第二缓冲数据寄存器的数据输出到微控制器数据总线,10选择将第三缓冲数据寄存器的数据输出到微控制器数据总线,11选择将第四缓冲数据寄存器的数据输出到微控制器数据总线。
43.如权利要求10所述的微控制器嵌入式在线仿真调试系统,其特征在于,指令输出格式中第11位到第13位控制选择4个缓冲数据寄存器的写入,000不写入数据,100将微控制器中累加寄存器的值写入到第一缓冲数据寄存器中,101将微控制器中累加寄存器的值写入到第二缓冲数据寄存器中,110将微控制器中累加寄存器的值写入到第三缓冲数据寄存器中,111将微控制器中累加寄存器的值写入到第四缓冲数据寄存器中。
44.如权利要求15所述的微控制器嵌入式在线仿真调试系统,其特征在于,硬件断点寄存器的第36位到第38位为断点模式位,其中,000表示读程序储存器触发断点,001表示写程序储存器触发断点,010表示读取外部数据存储器触发断点,011表示写入外部数据存储器触发断点,100表示读取内部数据存储器触发断点,101表示写入内部数据存贮器触发断点,110表示读取特殊寄存器触发断点,111表示写入特殊寄存器触发断点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101168607A CN101154183B (zh) | 2006-09-29 | 2006-09-29 | 一种微控制器嵌入式在线仿真调试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101168607A CN101154183B (zh) | 2006-09-29 | 2006-09-29 | 一种微控制器嵌入式在线仿真调试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101154183A CN101154183A (zh) | 2008-04-02 |
CN101154183B true CN101154183B (zh) | 2011-12-28 |
Family
ID=39255856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101168607A Expired - Fee Related CN101154183B (zh) | 2006-09-29 | 2006-09-29 | 一种微控制器嵌入式在线仿真调试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101154183B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801405A (zh) * | 2012-06-26 | 2012-11-28 | 深圳市芯海科技有限公司 | 芯片模式切换方法及装置 |
CN109582571A (zh) * | 2018-11-16 | 2019-04-05 | 深圳和而泰小家电智能科技有限公司 | 在线调试方法、装置、调试从机、调试主机和系统 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968764B (zh) * | 2009-07-27 | 2012-06-27 | 上海华虹集成电路有限责任公司 | 具有断点功能的仿真器 |
CN102110045B (zh) * | 2009-12-24 | 2014-02-19 | 上海华虹集成电路有限责任公司 | 实时显示调试信息的仿真器 |
CN101770424B (zh) * | 2010-01-05 | 2011-11-30 | 天津七一二通信广播有限公司 | 适于数字通信终端底层协议栈的数据采集与仿真系统 |
CN101826051B (zh) * | 2010-03-23 | 2012-07-04 | 苏州国芯科技有限公司 | 一种用于调试程序的硬件断点电路 |
CN101814054B (zh) * | 2010-03-23 | 2012-05-02 | 苏州国芯科技有限公司 | 一种用于调试微控制器的指令追踪控制器 |
CN102236067B (zh) * | 2010-04-22 | 2015-07-01 | 上海华虹集成电路有限责任公司 | 实现芯片功能故障快速调试定位的方法及其调试电路 |
CN101826052B (zh) * | 2010-05-04 | 2012-07-04 | 中国人民解放军国防科学技术大学 | Nual执行语义微处理器中保持延时一致性的断点实现方法 |
CN102495792A (zh) * | 2011-11-04 | 2012-06-13 | 杭州中天微系统有限公司 | 在线调试多事件控制和实时监视的接口装置 |
CN103207823B (zh) * | 2012-01-13 | 2016-06-29 | 上海华虹集成电路有限责任公司 | 一种处理器芯片仿真器 |
CN102662810A (zh) * | 2012-03-27 | 2012-09-12 | 上海大学 | 一种微处理器的在线调试方法 |
CN102662845B (zh) * | 2012-04-17 | 2016-03-30 | 华为技术有限公司 | 一种实现经过性数据断点的方法、装置及系统 |
CN104572515B (zh) * | 2013-10-28 | 2019-05-31 | 锐迪科(重庆)微电子科技有限公司 | 跟踪模块、方法、系统和片上系统芯片 |
CN103699465B (zh) * | 2013-12-16 | 2016-02-24 | 大唐微电子技术有限公司 | 一种对16位芯片内核进行调试控制的装置及方法 |
CN104536859B (zh) * | 2015-01-08 | 2018-07-03 | 北京思朗科技有限责任公司 | 一种片上调试系统的探头装置 |
CN106326176A (zh) * | 2015-06-17 | 2017-01-11 | 深圳市创成微电子有限公司 | 一种spi接口调试方法 |
CN107346282B (zh) * | 2016-05-04 | 2024-03-12 | 世意法(北京)半导体研发有限责任公司 | 用于微处理器的调试支持单元 |
CN107516547A (zh) * | 2016-06-16 | 2017-12-26 | 中兴通讯股份有限公司 | 内存硬错误的处理方法及装置 |
CN106776433A (zh) * | 2016-12-15 | 2017-05-31 | 深圳市博巨兴实业发展有限公司 | 一种微控制器芯片中的调试单元 |
CN108628693B (zh) * | 2018-04-17 | 2019-10-25 | 清华大学 | 处理器调试方法和系统 |
CN109408433B (zh) * | 2018-10-08 | 2021-05-11 | 北京理工大学 | 一种适用于专用集成电路调试的接口装置及工作方法 |
CN109800166B (zh) * | 2019-01-16 | 2022-06-14 | 嘉楠明芯(北京)科技有限公司 | 一种嵌入式实时操作系统的调试方法及装置 |
CN109857485B (zh) * | 2019-01-28 | 2021-06-15 | 山东华芯半导体有限公司 | 一种可编程gpio装置及基于该装置的时序实现方法 |
CN109977042A (zh) * | 2019-02-28 | 2019-07-05 | 珠海海奇半导体有限公司 | 一种usb在线调试系统及方法 |
CN113454607B (zh) * | 2019-03-21 | 2023-08-22 | 杭州飞步科技有限公司 | 调试方法、装置及片上系统 |
CN110032085B (zh) * | 2019-03-28 | 2020-10-27 | 西安交通大学 | 一种适用于专用处理器的多调试模式电路及其监测仿真方法 |
CN110337097B (zh) * | 2019-06-27 | 2020-10-27 | 安凯(广州)微电子技术有限公司 | 一种蓝牙基带芯片的广告数据管理方法及装置 |
CN111273156B (zh) * | 2020-02-24 | 2022-01-11 | 江苏传艺科技股份有限公司 | GaN毫米波功率放大器芯片用在线测试系统 |
CN112255534B (zh) * | 2020-10-14 | 2023-03-24 | 天津津航计算技术研究所 | 一种基于fpga的ip核模块调试系统 |
CN113672554B (zh) * | 2021-07-06 | 2023-12-29 | 平头哥(杭州)半导体有限公司 | 处理器核、处理器、片上系统和调试系统 |
CN114625639B (zh) * | 2022-03-03 | 2024-05-28 | 上海先楫半导体科技有限公司 | 一种基于片上系统的调试方法、系统以及芯片 |
CN118502337B (zh) * | 2024-07-22 | 2024-09-24 | 深圳瑞德创新科技有限公司 | 电平输出控制方法、装置、设备、介质以及产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1286431A (zh) * | 1999-11-30 | 2001-03-07 | 深圳市中兴通讯股份有限公司 | 嵌入式软件辅助调试方法 |
CN1687902A (zh) * | 2005-04-22 | 2005-10-26 | 上海海事大学 | 嵌入式实时仿真平台 |
CN1728107A (zh) * | 2005-01-13 | 2006-02-01 | 中国科学院长春光学精密机械与物理研究所 | 用于数字信号处理器的实时调试装置 |
-
2006
- 2006-09-29 CN CN2006101168607A patent/CN101154183B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1286431A (zh) * | 1999-11-30 | 2001-03-07 | 深圳市中兴通讯股份有限公司 | 嵌入式软件辅助调试方法 |
CN1728107A (zh) * | 2005-01-13 | 2006-02-01 | 中国科学院长春光学精密机械与物理研究所 | 用于数字信号处理器的实时调试装置 |
CN1687902A (zh) * | 2005-04-22 | 2005-10-26 | 上海海事大学 | 嵌入式实时仿真平台 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801405A (zh) * | 2012-06-26 | 2012-11-28 | 深圳市芯海科技有限公司 | 芯片模式切换方法及装置 |
CN109582571A (zh) * | 2018-11-16 | 2019-04-05 | 深圳和而泰小家电智能科技有限公司 | 在线调试方法、装置、调试从机、调试主机和系统 |
CN109582571B (zh) * | 2018-11-16 | 2022-05-24 | 深圳和而泰小家电智能科技有限公司 | 在线调试方法、装置、调试从机、调试主机和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101154183A (zh) | 2008-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101154183B (zh) | 一种微控制器嵌入式在线仿真调试系统 | |
US7080283B1 (en) | Simultaneous real-time trace and debug for multiple processing core systems on a chip | |
US6145123A (en) | Trace on/off with breakpoint register | |
US6094729A (en) | Debug interface including a compact trace record storage | |
US6185732B1 (en) | Software debug port for a microprocessor | |
US5978902A (en) | Debug interface including operating system access of a serial/parallel debug port | |
JP4138021B2 (ja) | プロセッサベースのデバイス、ソフトウェア性能プロファイリング情報をもたらす方法およびソフトウェア性能プロファイリング情報を生成し分析するためのソフトウェア開発システム | |
US7058855B2 (en) | Emulation interface system | |
US6175914B1 (en) | Processor including a combined parallel debug and trace port and a serial port | |
CN100565472C (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
US5943498A (en) | Microprocessor, method for transmitting signals between the microprocessor and debugging tools, and method for tracing | |
EP0974094B1 (en) | Trace cache for a microprocessor-based device | |
US6145122A (en) | Development interface for a data processor | |
CN101458652B (zh) | 微控制器嵌入式在线仿真调试系统 | |
JPH02287635A (ja) | マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置 | |
CN101840368B (zh) | 多核处理器的jtag实时片上调试方法及其系统 | |
CN109254883B (zh) | 一种片上存储器的调试装置及方法 | |
US7428661B2 (en) | Test and debug processor and method | |
US20190271740A1 (en) | Non-intrusive on-chip debugger with remote protocol support | |
US20060265577A1 (en) | Real-time monitoring, alignment, and translation of cpu stalls or events | |
CN209765501U (zh) | 一种基于jtag的多处理器仿真调试装置 | |
CN100474266C (zh) | 一种用于数字信号处理器的调试系统及其调试方法 | |
CN117172018A (zh) | 一种适用于多种内核的单片机在线调试系统 | |
US7992049B2 (en) | Monitoring of memory and external events | |
EP1367489A1 (en) | A microprocessor development system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111228 |
|
CF01 | Termination of patent right due to non-payment of annual fee |