CN101535962A - 用于可信/不可信数字信号处理器调试操作的方法及系统 - Google Patents

用于可信/不可信数字信号处理器调试操作的方法及系统 Download PDF

Info

Publication number
CN101535962A
CN101535962A CNA200780041105XA CN200780041105A CN101535962A CN 101535962 A CN101535962 A CN 101535962A CN A200780041105X A CNA200780041105X A CN A200780041105XA CN 200780041105 A CN200780041105 A CN 200780041105A CN 101535962 A CN101535962 A CN 101535962A
Authority
CN
China
Prior art keywords
debugging
control
trusted
digital signal
debugging control
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.)
Granted
Application number
CNA200780041105XA
Other languages
English (en)
Other versions
CN101535962B (zh
Inventor
卢奇安·科德雷斯库
威廉·C·安德森
苏雷什·文库马汉提
路易斯·阿奇列·詹尼尼
马洛耶库马尔·皮拉
陈旭峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101535962A publication Critical patent/CN101535962A/zh
Application granted granted Critical
Publication of CN101535962B publication Critical patent/CN101535962B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明揭示用于数字信号处理器的设计及使用的技术,包含(但不限于)用于处理通信(例如CDMA)系统中的传输的技术。可信及不可信调试操作控制发生在操作与所述数字信号处理器相关联的核心处理器时。调试机构内的调试过程与所述核心处理器相关联。所述核心处理器过程将调试控制的原点确定为可信调试控制或不可信调试控制。在可信调试控制的情况下,所述核心处理器过程向所述可信调试控制提供第一组特征及特权。或者,在调试控制为不可信调试控制的情况下,所述核心处理器过程给所述不可信调试控制提供第二受限组的特征及特权,其全部用于维持所述核心处理器过程的安全及适当操作。

Description

用于可信/不可信数字信号处理器调试操作的方法及系统
技术领域
本发明所揭示的标的物涉及数据处理系统及过程,例如可用于数据通信及类似应用中。更特定来说,本发明涉及一种用于准许及控制可信及不可信数字信号处理器调试操作的新颖及经改进的方法及系统。
背景技术
电信及支持视频、复杂的音频、视频会议及其它丰富的软件应用的其它类型的电子设备日益地包括信号处理。信号处理需要快速的数学计算及以复杂而重复的算法的数据产生。许多应用需要实时的计算,即,信号是时间的连续函数,所述信号必须被取样且转换为数字信号以供进行数字处理。处理器必须执行在样本到达时对其实施离散计算的算法。
最优化数字信号处理器(DSP)的架构以处置此类算法。良好的信号处理引擎的特性包含:快速灵活的算数计算单元、往来于所述计算单元的不受限制的数据流、所述计算单元中的经扩展的精确度及动态范围、双地址产生器、有效的程序定序及易于编程。
DSP技术的一个有前景的应用包含例如支持话音及数据通信的码分多址(CDMA)系统的通信系统以及经由卫星或陆地链路在用户之间的文本消息传送及其它应用。CDMA技术在多址通信系统中的使用揭示于名称为“使用卫星或陆地中继器的扩频多址通信系统(SPREAD SPECTRUM MULTIPLE ACCESSCOMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIALREPEATERS)”的第4,901,307号美国专利及名称为“用于在CDMA蜂窝式远程手持机系统中产生波形的系统及方法(SYSTEM AND METHOD FOR GENERATINGWAVEFORMS IN A CDMA CELLULAR TELEHANDSET SYSTEM)”的第5,103,459号美国专利中,此二者均受让于所请求标的物的受让人。
CDMA系统通常经设计以符合一个或一个以上标准。一个这种第一代标准是“用于双模宽带扩频蜂窝式系统的TIA/EIA/IS-95终端基站兼容性标准”,在下文中称为IS-95标准。所述IS-95 CDMA系统能够传输话音数据及包数据。可更有效地传输包数据的较新一代标准是由名称为“第三代合作伙伴计划”(3GPP)的联盟提供的,且包含于一组可公开获得的文档中,其中包含文档第3G TS 25.211号、第3G TS 25.212号、第3G TS 25.213号及第3G TS 25.214号。3GPP标准在下文中称为W-CDMA标准。
例如,采用W-DCMA标准的复杂DSP操作软件需要稳健的开发工具。此类开发工具可包含用于代码产生、集成、测试、调试及评估应用性能的开发工具。在开发及操作软件或复杂DSP应用(例如高级电信应用)时,需要精密而非侵入性的调试软件。也就是说,调试软件应用不但须足以稳健以监视、测试及支持软件缺陷及操作问题的校正,而且其必须可操作以在调试操作期间不干扰核心处理器软件。否则,在使用此类调试软件期间将不会检测到或适当地检测到核心处理软件中的任何问题。
此类非侵入性调试操作可包含执行可信及不可信调试操作及执行指令填塞操作的能力。可信用户包含核心及应用级处的软件开发者,而不可信用户可包含OEM、第三方开发者、终端用户及可有意或无意地(而又不适当地)影响DSP操作系统及其它基本程序的基本操作的其它人。在可编程核心中,操作系统是关心及了解允许将哪些资源、寄存器、存储器位置、装置及服务用于各种用户的安全管理器。因此,一种用于确定用户为可信还是不可信用户的过程可与所述操作系统在解决不同的安全需要时可做出的确定紧密协调。
因此,需要一种用于与DSP一起操作的调试过程及系统,所述调试过程及系统提供确定用户是可信还是不可信用户的能力。
需要一种能够选择性地在可信或不可信模式中操作以准许各种类型的配置及断点确定及准许的非侵入性软件调试过程。
还需要一种能够与可信及不可信用户一起操作的调试系统,所述系统利用DSP核心处理器操作系统的安全管理功能。
发明内容
本发明揭示用于为数字信号处理器提供非侵入性线程选择性调试方法及系统的技术,所述技术准许可选择地在可信或不可信调试模式中操作。本文所揭示的方法及系统既改善了数字信号处理器的操作又改善了数字信号处理器指令在日渐强大的软件应用(其中包含在个人计算机、个人数字助理、无线手持机及类似电子装置中操作的应用)中的有效使用,还增加了相关联的数字处理器速度及服务质量。
根据所揭示标的物的一个方面,用于在可信与不可信调试操作模式之间进行控制的方法及系统包含用于操作与数字信号处理器相关联的核心处理器内的核心处理器过程的过程、电路及指令。所述方法及系统进一步操作数字信号处理器的调试机构内的调试过程,所述调试机构与所述核心处理器相关联。所述核心处理器过程将调试控制的原点确定为可信调试控制或不可信调试控制。在调试控制是可信调试控制的情况下,所述核心处理器过程向所述可信调试控制提供第一组特征及特权。或者,在调试控制是不可信调试控制的情况下,所述核心处理器为所述不可信调试控制提供第二受限组的特征及特权。同样,所揭示的软件调试方法及系统根据将所述调试控制确定为不可信调试控制或可信调试控制来维持核心处理器过程的操作中的安全。
根据本文中所提供的说明,所揭示标的物的这些及其它优点以及额外的新颖特征将显而易见。此发明内容的意图并非对所请求标的物进行全面说明,而是提供本标的物的某些功能的简短概述。通过检查下文中的图式及详细说明,本文提供的其它系统、方法、特征及优点对于所属领域的技术人员将显而易见。所有此类额外的系统、方法、特征及优点均意在包含于此说明书内,且在所附权利要求书的范围内。
附图说明
结合附图阅读下文列举的详细说明,所揭示标的物的特征、性质及优点将变得更加显而易见,其中所有图式中相同的参考字符均对应地标识,且其中:
图1是可实施本文揭示的各种实施例中的一者的通信系统的简化方块图;
图2图解说明用于实施本发明教示的DSP架构;
图3提供并入有本发明所揭示的标的物的技术优点的多线程数字信号处理器的一个实施例的架构方块图;
图4揭示应用本发明的ISDB/JTAG接口特征的数字信号处理器核心的某些方面;
图5呈现可适用于数字信号处理器的操作模式的过程流程图,所述操作模式包含与本发明相关的调试操作模式;
图6描绘可适用于本发明一个实施例的断点处理方案;
图7显示用于执行本文所揭示的可信/不可信调试程序的ISDB JTAG同步电路的一方面;且
图8图解说明形成用于提供本文所描述的可信/不可信调试操作的数字信号处理器系统配置寄存器的一种方式;且
图9是用于本文中与可信/不可信及核心存取监督器存取模式一起描述的各种ISDB功能的ISDB控制寄存器的表。
具体实施方式
关于一种用于多线程数字信号处理器的非侵入性线程选择性调试方法及系统的所揭示标的物具有用于本文所呈现的益处可对其有利的任何类型的多线程处理的应用。一种此应用出现于电信中,且特定来说出现在采用一个或一个以上数字信号处理电路的无线手持机中。为解释可如何使用这一无线手持机,图1提供可实施所揭示的中断处理方法及系统的所呈现实施例的通信系统10的简化方块图。在发射器单元12处,通常以块为单位将数据从数据源14发送到发射(TX)数据处理器16,发射数据处理器16将所述数据格式化、编码及处理以产生一个或一个以上模拟信号。接着将所述模拟信号提供给发射器(TMTR)18,发射器18对基带信号进行调制、滤波、放大及上变频以产生经调制信号。接着经由天线20将所述经调制信号发射到一个或一个以上接收器单元。
在接收器单元22处,所发射的信号被天线24接收并提供给接收器(RCVR)26。在接收器26内,对所接收的信号进行放大、滤波、下变频、解调及数字化以产生同相(I)及(Q)样本。所述样本接着由接收(RX)数据处理器28解码及处理以恢复所发射的数据。接收器单元22处的解码及处理是以与发射器单元12处执行的编码及处理互补的方式执行的。接着将已恢复的数据提供到数据汇30。
上文描述的信号处理支持传输话音、视频、包数据、消息传送及其它类型的单向通信。双向通信系统支持双向数据传输。然而,图1中为简便起见未显示其它方向的信号处理。通信系统10可以是码分多址(CDMA)系统、时分多址(TDMA)通信系统(例如,GSM系统)、频分多址(FDMA)通信系统或支持通过陆地链路在用户之间的话音及数据通信的其它多址通信系统。在特定实施例中,通信系统10是符合W-CDMA标准的CDMA系统。
图2图解说明可充当图1的发射数据处理器16及接收数据处理器28的DSP 40架构。应强调,DSP 40仅表示大量可能的数字信号处理器实施例中的一个实施例,其可有效地使用本文呈现的教示及概念。因此,在DSP 40中,线程T0:T5(参考数字42到52)含有来自不同线程的指令集。电路54表示指令存取机构,且用于提取线程T0:T5的指令。电路54的指令被排入指令队列56中。指令队列56中的指令准备被发布到处理器管线66中(见下文)。可由发布逻辑电路58从指令队列56中选择单个线程,例如线程T0。读取所选线程的寄存器堆60,并将所读取的数据发送到执行数据路径62供用于槽0:槽3。在此实例中,槽0:槽3保证本实施例中采用的包分组组合。
来自执行数据路径62的输出去往寄存器堆写入电路64,还经配置以适应个别线程T0:T5,以返回来自DSP 40的操作的结果。因此,来自电路54且在到寄存器堆写入电路64之前的数据路径形成处理管线66。本实施例可采用使用具有多达6个线程T0:T5的单个处理器的异质元件处理器(HEP)系统的混合。处理器管线66具有6级,其匹配从电路54将数据项提取到寄存器60及64所必需的处理器循环的最小数目。DSP 40在处理器管线66内同时地执行不同线程T0:T5的指令。也就是说,DSP 40提供6个独立的程序计数器、用以区别处理器管线66内的线程T0:T5的指令的内部标记机构及触发线程交换的机构。线程-交换开销从零变动到仅几个循环。
因此,DSP 40提供一种经设计以用于在各种各样的信号、图像及视频处理应用上具有高性能及低功率的通用数字信号处理器。图3提供DSP 40架构的简要概述,其中包含所揭示标的物的一个显现的相关联指令集架构的某些方面。DSP 40架构的实施方案支持交错多线程(IMT)。在此执行模型中,硬件通过交错来自管线中的不同线程的指令来支持多个硬件线程T0:T5的同时执行。此特性允许DSP 40包含主动时钟频率,同时仍维持高核心及存储器使用率。IMT在不需要昂贵的补偿机构(例如,无序执行、广泛转发网络等)的情况下提供高通过量。此外,DSP 40可包含IMT的变化形式,例如M艾哈迈德(M.Ahmed)等人所著且名称为“可变交错的多线程处 理器方法及系统(Variable Interleaved Multithreaded Processor Method and System)”及“用于在多线程处理器中进行可变线程分配及交换的方法及系统(Method and System for Variable Thread Allocation and Switching in a Multithreaded Processor)”的共同受让的美国专利申请案中揭示的那些变化形式及新颖方法。″
图3特别提供了用于应用于可采用所揭示标的物的教示的单个线程的DSP 40的核心处理架构70方块图。方块图70描绘经由总线接口(I/F)73从AXI总线74接收指令的共享指令高速缓冲存储器72,所述指令包含混合的16-位及32-位指令。这些指令到达线程T0:T5的定序器76、用户控制寄存器78及监督器控制寄存器80。所揭示标的物的核心级系统架构还包含硅中调试系统(ISDB)82,所述硅中调试系统经由JTAG接口84与核心处理器70介接,下文将对此二者进行更详细描述。
定序器76将混合的双向超标量指令及四向VLIW指令提供给S-管道单元86、M-管道单元88、LD[加载]-管道90及LD/ST[存储]-管道单元92,其均与通用寄存器94通信。AXI总线74还经由具有共享数据高速缓冲存储器96的总线I/F 73将LD/ST指令传送给线程T0:T5。任选L2高速缓冲存储器/TCM 98信号包含具有共享数据TCM 100的LD/ST指令,所述LD/ST指令进一步流向线程通用寄存器94。MSM专用控制器104从AHB外围总线102借助T0:T5传送中断,其中包含中断控制器指令、调试指令及定时指令。全局控制寄存器106借助线程T0:T5传送控制寄存器指令。
因此,DSP 40包含6个虚拟DSP核心,每一核心皆含有全局控制寄存器106及专用监督器控制寄存器80。全局控制寄存器106在所有线程之间共享。每一线程共享一共用数据高速缓冲存储器及一共用指令高速缓冲存储器。加载、存储及提取操作由共用总线接口服务。使用高性能AXI总线74及较低性能AHB总线102将数据及指令业务连接到核心外存储器及外围装置。集成的级2存储器(高速缓冲存储器及/或TCM)输入98是任选的。可通过存储器映射的加载及存储来进行外围装置存取。AHB与AXI之间的物理地址分区可配置在MSM级处。
显然,所呈现的DSP 40的架构可演进且随时间而改变。例如,DSP 40可使用的指令高速缓冲存储器的数目可从6改变为1或其它高速缓冲存储器数目。超标量分派、TCM 100处的L1数据及其它架构方面可改变。然而,本发明标的物可在各种各样的配置中且对于DSP 40的一系列修改具有持续关联性。
ISDB 82通过JTAG接口84为DSP 40提供硬件调试器。ISDB 82通过共享系统或仅监督器寄存器以及所有线程之间的全局控制寄存器106来通过JTAG接口84提供软件调试特征,所述仅监督器寄存器以每线程为基础被分为若干监督器控制寄存器80。系统控制寄存器用于每线程中断及异常控制及每线程存储器管理活动。全局寄存器允许与ISDB 82交互作用以进行调试操作。
ISDB 82使得软件开发者能够在DSP 40操作时调试其软件。可使用ISDB 82硬件与在ISDB 82中操作的软件调试器程序的组合来调试DSP 40操作系统软件。ISDB82支持个别地调试硬件线程。用户可暂停线程执行,观察并更改线程寄存器,观察并更改指令及数据存储器、单步骤线程,向线程填塞指令,且重新开始线程执行。可信用户可存取所有的ISDB 82特征,而不可信用户仅可存取特征的一子组。
ISDB 82可与调试器接口卡介接以仍全部通过JTAG接口84与驻存在程序计数器上的ISDB 82调试软件通信。主机调试器软件可通过读取及写入ISDB控制寄存器来与ISDB 82交互作用。例如,可通过识别将发生读取/写入的ISDB寄存器的40-位包以及32-位数据有效负载来进行通信。支持此操作的包格式可多达64个控制寄存器,每一控制寄存器均可为32位宽。
ISDB 82包含用于在调试操作期间控制安全的可信寄存器。如果已设置可信ISDB 82,则所有ISDB 82寄存器对调试器软件均可见,且所有ISDB命令均可供使用。在可信ISDB被清除的情况下,则ISDB 82仅准许受限一组的操作。本发明的这些方面更详细地出现在下文中。
可使得某些ISDB 82寄存器对核心软件可见。这些寄存器可经由监督器模式控制寄存器传送指令而被存取。所述核心指令包含断点指令。当设置可信ISDB时,此指令致使执行线程进入调试操作模式。此转变将线程控制移位到ISDB 82。除了执行断点的线程之外,其它线程可根据ISDB 82编程任选地进入调试模式150。如果ISDB 82不可信或未被启用,则将此指令视为NOP。优选地,所述断点指令是包中的唯一指令。
图4显示所揭示标的物的调试机构与核心处理器之间的ISDB/JTAG接口110的重要方面。与DSP 40核心架构70相关联地,ISDB 82经由从ISDB JTAG电路114开始的路径JTAG接口路径112与JTAG 84通信。ISDB JTAG电路114处理JTAG 84与ISDB 82之间的数据流。ISDB JTAG电路114进一步与ISDB JTAG同步电路116介接。ISDB JTAG同步电路116进一步与ISDB控制器118、指令单元(IU)150及控制单元(CU)122通信。特定来说,ISDB JTAG同步电路116介接IU 150的IU ISDB逻辑电路与CU 122的CU ISDB控制器126。CU ISDB控制器126与CU ISDB逻辑电路128以及ISDB控制器118通信。来自ISDB控制器118的控制输出包含ISDB数据输出130、ISDB重置信号132及ISDB中断134。ISDB控制器118的另外的接口包含MCD接口136及ETM断开触发器138。
已列出ISDB 82的各种组件,随后是对用于执行DSP40的非侵入性的可信及不可信调试操作的控制或逻辑电路的组成部分的简要操作说明及介绍。ISDB控制器118处置各种任务,其中包含(a)实施各种ISDB寄存器;(b)同步化MCD外部断开且重新开始触发及对DSP 40的ETM断开触发,随后将所述触发转发给CU 122以进行进一步处理;(c)产生MCD断开并基于核心的调试模式状态重新开始触发;及(d)添加管线级以用于发送出到DSP40子系统的信号,例如ISDB中断、断点事件等。
CU 122包含能够处置例如以下的任务的电路及指令:(a)处理断点并产生对每一线程的断开触发;(b)产生微断开及微重新开始命令;(c)维持ISDB 82状态及邮箱寄存器;及(d)实施所述特定的ISDB 82寄存器。CU 122包含如图6中出现的断点处理逻辑(BPL)块,其用于处理所有断点并产生对CU ISDB控制器126的微命令产生器的宏断开请求。所述微命令产生器处理所述宏断开请求连同指令填塞命令、指令步进及重新开始命令,并将微断开及重新开始命令发布给用于管线控制的CU 122。
CU ISDB控制器128基于断开及接收回的重新开始确认信号维持ISDB 82的状态。CU ISDB控制器126的邮箱功能维持用于在主机调试软件与DSP 40核心处理器之间的通信的邮箱寄存器。这些邮箱功能还含有ISDB 82状态寄存器。
图5呈现用于DSP 40的各种模式控制方面的处理模式图表140,其中包含ISDB82在调试过程期间的操作。在图5中,DSP 40支持对于所有线程具全局性且对于个别线程又具局部性的处理模式。每一DSP 40硬件线程个别地支持用户模式142及监督器模式144两种执行模式以及等待模式146、关断模式148及调试模式150三种非处理模式,所有这些模式均可出现于图5中。一个线程的模式与其它线程无关,例如,一个线程可处于等待模式146中,而另一线程则处于用户模式142中,等等。
图5的每线程模式状态图表由各种指令或事件支持。这些指令或事件包含:“Except”(异常)或内部异常事件、“Int”(中断)或外部中断事件、“RTE”(返回)或来自异常模式的软件返回指令及“SSR”或SSR寄存器指令的更新、“Stop”(停止)或可从任何模式输入的软件停止指令、“Start”(开始)或同样可从任何模式输入的软件开始指令、“trap”(陷阱)或软件陷阱指令、“Wait”(等待)或软件等待指令、“Resume”(重新开始)或软件重新开始指令、“DE”或调试事件及“DR”或调试指令。虽然所揭示标的物的不同实施方案中的功能可与本文呈现的功能略有不同,但可对“Start”、“Wait”、“Resume”、“DE”及/或“DR”的含义给予其与所请求标的物的范围相一致的最宽泛的解释。
在用户模式142及监督器模式144两种模式中,寄存器在DSP 40中均可用。用户模式寄存器分为一组通用寄存器及一组控制寄存器。通用寄存器用于所有通用计算,其中包含地址产生、标量及向量算术。控制寄存器支持例如硬件环路、谓词等专用功能。通用寄存器为32位宽且可作为单个寄存器或作为两个寄存器的经对准对而被存取。通用寄存器堆提供指令的所有操作数,其中包含供加载/存储的地址、用于数字指令的数据操作数及用于向量指令的向量操作数。
调试模式150提供其中线程正等待来自ISDB 82的命令的特殊状态。一旦发生ISDB调试事件(例如通过执行软件断点指令、来自ISDB 82的断开命令或硬件断点的发生),所指示的线程即可进入调试模式150。当处于调试模式150中时,所述核心由ISDB 82经由来自JTAG接口84的命令来控制。当ISDB 82因执行重新开始命令而释放线程时,所述线程可根据其当前的模式设置重新开始操作。当线程处于调试模式150中时,其由ISDB 82控制且不能由其它线程控制。可忽略来自正在运行的线程且以调试模式150中的线程为目标的Wait、Resume、Start或Stop指令。类似地,调试模式150中的线程可忽略非遮罩式中断(NMI)。
硬件重置模式(图5中未显示)及调试模式150对于所有线程具全局性。不考虑任何线程的处理状态,一旦断定硬件重置管脚,DSP 40即可进入硬件重置模式。在硬件重置模式中,所有寄存器均设置到其重置值。在去断定所述硬件重置管脚之前不可发生任何处理。当断定重置管脚时,处理器可转变到重置模式中且所有寄存器均可重置到其硬件重置值。在去断定重置管脚之后,可给予线程T0软重置中断。此可致使线程T0进入监督器模式144且在重置向量位置处开始执行。所有其它线程可保持关断。此时,软件可自由地个别地控制每一线程的模式转变。
在图6中,可看出CU ISDB控制器126(图4)的BPL电路160包含来自6个不同源的断开触发器,其中包含硬件断点0/1(HWBKPT0 162及HWBKPT1 164)、软件断点(SWBKPT 166)、JTAG84断点(JTAGBKPT 168)、ETM(嵌入式追踪宏)断点(ETMBKPT 170)及外部断点(EXTBKPT 172)。断开触发162到172及调试模式状态输入174去往编码断开编码器176以致使DSP 40在调试模式150中操作。来自编码器176的输出包含三个(3)断点信息位178及一断点有效位180。断点信息数据178进入断点信息电路182以导致断点信息JTAG接口命令184。断点位180还产生“或”门输入186及重置电路188输入。重置电路188接收UCG重新开始线程数目或重置输入192以产生到“或”门196中的重置控制输出194。有效位186或重置输出194可致使“或”门196产生BPL 160断点输出198。
BPL电路160中的断开触发器连同对应的TNUM掩码一起被处理以产生对所述线程中的每一者的宏断开触发。维持宏断开触发198(bpl_breakTnum_ANY[0]),直到对应的线程重新开始。BPL 160中可使用的管线级的数目由硬件断点驱动,所述硬件断点是精确的断点,即,触发硬件断点匹配的指令不可被执行。所述线程在执行程序直到所述指令之后切换到调试模式。所揭示的实施例在断开触发到达之后一个循环时提供宏断开触发。出于此原因,对断开有效输入176与其经锁存版本输入192实施逻辑“与”以产生bpl_breakTnum_ANY[0]输出198。
通过使用断点,DSP 40的6个线程可个别地进入及退出调试模式150。断点触发可来自对应于ISDB 82中所支持的五种不同类型的断点的5个源。在命中断点时,线程从其当前模式(例如等待/运行)转变到调试模式150。在调试模式150中,所述线程等待来自ISDB 82的命令。关断模式148中的线程断电且可不接受来自ISDB 82的任何命令。进入调试模式150的等待时间是由实施方案界定的,例如在本发明中界定为与电力崩溃事件相关。例如,实施方案可在进入调试模式150之前选择完成既定的操作,例如完成未决加载请求。在一个实施例中,线程识别符寄存器含有8-位读取/写入字段且用于保持软件线程识别符。此字段由硬件调试器用来匹配断点。
存在进入断点过程的若干不同方式。例如,对于HWBKPT1 162及HWBKPT2 164断点,如果寄存器等于预定值,则当程序计数器(PC)匹配所述预定值时,所述过程则进入到调试模式150中。ASID(地址空间识别符)是类似于过程中的过程ID或多线程过程中的特定线程的标签。因此,可使用物理地址、虚拟地址、ASID、PC或其它限定符来任选地获得程序在一空间中可发生断点的点处位置确定。本文所参考的断点的使用更特别地揭示于L寇卓斯古(L.Codrescu)等人所著且名称为“用于多线程数字信号处理器的非侵入性线程选择性调试方法及系统(NON-INTRUSIVE,THREAD-SELECTIVE,DEBUGGING METHOD AND SYSTEM FOR AMULTI-THREADED DIGITAL SIGNAL PROCESSOR)”的共同受让的美国专利申请案中。所揭示的标的物提供用于在例如图6所示发生断点时移动到调试模式150中的路径。所揭示的标的物控制DSP 40中的哪一线程或哪些线程组进入到调试模式150中。
本发明揭示的用于执行可信及不可信调试操作的方法及系统提供可在内部及外部控制的调试操作期间应用的各种安全等级。因为调试操作有可能将关键的DSP 40软件暴露给调试动作源,所以需要知晓及控制谁可执行调试操作。对于可信调试操作,对软件及其操作的完整存取是可能的。对于必要的不可信操作(例如来自不完全可信第三方的操作),仅对软件及(可能地)存储器及寄存器的有限存取是可能的。
一般来说,ISDB 82用户可被分类为可信及不可信用户。可信用户可包含已知的软件开发者(例如创建核心及应用级程序的开发者),而不可信用户可包含OEM、第三方开发者、终端用户等。在DSP 40中,核心处理器70的操作系统是关心及了解允许将哪些资源、寄存器、存储器位置、装置及服务用于各种用户的安全管理器。DSP40操作系统允许不可信用户根据仅可由所述操作系统设置的仅监督器核心控制(ISDB可信)位的值来调试其应用。如果ISDB使用是可信的,则允许所有特征及特权。所述ISDB可在监督器模式中执行任何指令。
为阐明用于执行本发明揭示的可信及不可信调试操作的说明性电路,图7包含ISDB JTAG同步电路200。ISDB JTAG同步电路200包含DSP 40可用来读取及写入ISDB控制寄存器的ISDB测试数据寄存器202。ISDB JTAG同步电路200提供在对DB_tck进行操作的ISDB测试数据寄存器202与在DSP 40时钟域中进行操作的ISDB控制寄存器204之间的同步化逻辑。通过读取及写入所述ISDB控制寄存器,DSP 40执行ISDB 82所支持的各种调试任务。
在图7的实施方案中,ISDB JTAG同步电路200接收到ISDB测试数据寄存器204中的JTAG_isdb_chain_in信号206以产生JTAG_isdb_chain_out信号208。ISDB测试数据寄存器202包含读取/写入(R/W)位210、地址位[6:0]212及数据位[31:0]214。R/W位210中的值去往“与”门216,同步电路216输出及CU_trusted_Debug(CU可信调试)输入220也是如此。JTAG_isdb_chain_update_tkl信号222及ISDB_CLK(ISDB时钟)信号224控制同步电路218的操作。来自地址位212的地址信息可由地址解码电路220接收,地址解码电路220馈送ISDB寄存器204。ISDB寄存器204响应于来自“与”门216的写入启用信号228传送具有数据位[31:0]的数据。
图8图解说明形成用于提供本文所描述的可信/不可信调试操作的数字信号处理器系统配置寄存器的一种方式。具体来说,系统配置或SYSCFG寄存器230包含与ISDB核心准备就绪位234联合的预留位232、中断位236、ISDB可信位238、D高速缓冲存储器位240、I高速缓冲存储器位242及MMU位244。虽然可存在众多形式的SYSCFG寄存器230,但ISDB可信位238与本发明相关。在操作中,ISDB 82与测试环境(例如通过JTAG接口84与调试软件通信的调试器接口卡)通信。主机调试器软件通过读取及写入ISDB控制寄存器234到238与ISDB 82交互作用。
通过SYSCFG寄存器230作为40-位包进行通信识别ISDB寄存器以读取/写入32-位数据有效负载。此包格式支持多达64个控制寄存器,每一控制寄存器可为32位宽。特定寄存器的有效位指示所述数据部分有效或无效。依据控制寄存器读取或写入,如果当前不准许规定的寄存器进行存取,或如果所规定的寄存器已被预留,则在加电/断电的过程中,JTAG接口84在关断核心的情况下返回无效值。
SYSCFG寄存器230是仅监督控制寄存器。通过与ISDB 82交互作用,ISDB核心准备就绪位234指示DSP 40的核心处理器70是否准备就绪与主机调试器交互作用。所有JTAG寄存器读取及写入均可返回无效状态,直到ISDB核心准备就绪位234已被设置(即具有值1)。
ISDB可信位238控制安全以使得在ISDB可信位238已被设置(即具有值1)的情况下,所有ISDB寄存器均对调试器软件可见,且所有ISDB命令均可供使用。在ISDB可信已被清除(即值0)的情况下,则ISDB仅准许受限的一组操作。仅核心处理器70操作系统可设置ISDB可信位238。
图9提供表250,其列出了本实施方案可通过调试器主机软件经由JTAG接口84存取的ISDB控制寄存器。ISDB 82操作以使得调试命令被发送到调试监视器程序,所述调试监视器程序与核心处理器70操作系统一起工作以调试应用且同时具有对安全问题的完整了解。例如,在不可信模式中,ISDB 82允许调试器主机软件:(a)读取ISDBST中的ISDB邮箱状态位的值;(b)读取/写入邮箱(ISDBMBXIN及ISDBMBXOUT)寄存器;(c)写入ISDBCMD命令寄存器,但仅写入中断命令;及(d)存取ISDB启用及ISDB版本寄存器。所有其它ISDB 82寄存器、位及命令均不可被存取。
作为本实施方案可能如何工作的实例,考虑可如何设置断点。主机调试器软件将命令置于邮箱“设置断点”中。主机调试器软件可接着使调试器中断出现。接着,核心处理器70操作系统可采取所述中断、了解所述命令,并以传出邮箱中的响应确认所述命令。所述主机调试器软件可接着继续给出更多信息,例如PC及线程名称。经由邮箱/中断机构来接收及确认这些信息位。一旦核心处理器70操作系统验证了允许用户设置此断点,其即可在所需点处设置软件陷阱。一旦所述断点被命中,其即可陷获到核心处理器70操作系统,借此核心处理器70操作系统可向ISDB发送命中断点的邮箱消息。
概括地说,所揭示标的物提供一种用于控制可信及不可信用户的调试操作的方法及系统且包含用于操作核心处理器70内的核心处理器过程及数字信号处理器的调试机构内的调试过程150的步骤、电路及指令,所述调试机构与所述核心处理器相关联。核心处理器70将调试控制的原点确定为可信调试控制或不可信调试控制。在调试控制是可信调试控制的情况下,为所述可信调试控制提供第一组特征及特权。或者,在调试控制是不可信调试控制的情况下,为所述不可信调试控制提供第二受限组的特征及特权。因此,本发明根据将调试控制确定为不可信调试控制或可信调试控制来维持核心处理器过程的操作中的安全。
可以各种方式来实施本文中所揭示的用于多线程数字信号处理器中的可信及不可信非侵入性线程选择性调试的处理特征及功能。例如,不仅DSP 40可执行上文所描述的操作,而且本实施例还可实施于专用集成电路(ASIC)、微控制器、数字信号处理器或经设计以执行本文中所描述的功能的其它电子电路中。此外,本文所描述的过程及特征可存储在用于由此类各种信号及指令处理系统读取及执行的磁性媒体、光学媒体或其它记录媒体中。因此,提供上文对优选实施例的说明以使得所属领域的技术人员均能够制作或使用所请求的标的物。所属领域的技术人员将易于了解对这些实施例的各种修改,且本文中界定的一般原理在可不使用创新能力的情况下应用于其它实施例。因此,本文并不希望将所请求的标的物限定为本文中显示的实施例,而是想要赋予其与本文中所揭示的原理及新颖特征相一致的最宽广范围。

Claims (35)

1、一种用于确定及控制数字信号处理器中发生的数字信号处理器过程的可信及不可信调试控制的方法,其包括:
使用核心处理器过程将调试控制的原点确定为可信调试控制或不可信调试控制;
向所述可信调试控制提供第一组特征及特权;
根据将所述调试控制确定为不可信调试控制或可信调试控制来维持所述核心处理器过程的操作中的安全。
2、如权利要求1所述的方法,其进一步包括当所述调试控制是不可信调试控制时给所述不可信调试控制提供第二受限组的特征及特权。
3、如权利要求1所述的方法,其进一步包括当所述调试控制为可信调试控制时为非侵入性调试配置寄存器提供读取/写入控制。
4、如权利要求1所述的方法,其进一步包括当所述调试控制为可信调试控制时为调试断点配置寄存器提供写入控制。
5、如权利要求1所述的方法,其进一步包括当所述调试控制为可信调试控制时为调试断点地址寄存器提供写入控制。
6、如权利要求1所述的方法,其进一步包括当所述调试控制为可信调试控制时为指令填塞寄存器提供写入控制。
7、如权利要求1所述的方法,其进一步包括当所述调试控制为可信调试控制或不可信调试控制时为调试机构寄存器的邮箱提供读取/写入控制。
8、如权利要求1所述的方法,其进一步包括当所述调试控制为不可信调试控制时为调试命令寄存器提供受限的写入控制。
9、如权利要求1所述的方法,其进一步包括当所述调试控制为可信调试控制时为调试机构通用寄存器提供读取/写入控制。
10、如权利要求1所述的方法,其进一步包括当所述调试控制为可信调试控制或不可信调试控制时为调试机构启用寄存器提供读取控制。
11、如权利要求1所述的方法,其进一步包括根据与核心处理器系统配置寄存器相关联的一预定组的位的值来确定调试控制是可信调试控制还是不可信调试控制。
12、一种数字信号处理器调试系统,其用于与数字信号处理器相关联地操作以用于确定及控制数字信号处理器中发生的数字信号处理器过程的可信及不可信调试控制,所述系统包括:
与配置寄存器相关联以用于使用核心处理器过程将调试控制的原点确定为可信调试控制或不可信调试控制的核心处理器控制位;
与所述核心处理器过程及调试机构相关联以用于在所述调试控制为所述可信调试控制时向所述可信调试控制提供第一组特征及特权的指令;及
用于根据将所述调试控制确定为所述可信调试控制或所述不可信调试控制来维持所述核心处理器过程中的安全的装置。
13、如权利要求12所述的数字信号处理器调试系统,其进一步包括与所述核心处理器过程及所述调试机构相关联以用于在所述调试控制为不可信调试控制时为所述不可信调试控制提供第二受限组的特征及特权的指令。
14、如权利要求12所述的数字信号处理器调试系统,其进一步包括用于在所述调试控制为所述可信调试控制时为非侵入性调试配置寄存器提供读取/写入控制的电路及指令。
15、如权利要求12所述的数字信号处理器调试系统,其进一步包括用于在所述调试控制为所述可信调试控制时为调试断点配置寄存器提供写入控制的电路及指令。
16、如权利要求13所述的数字信号处理器调试系统,其进一步包括用于在所述调试控制为可信调试控制时为调试断点地址寄存器提供写入控制的电路及指令。
17、如权利要求13所述的数字信号处理器调试系统,其进一步包括用于在所述调试控制为可信调试控制时为指令填塞寄存器提供写入控制的电路及指令。
18、如权利要求13所述的数字信号处理器调试系统,其进一步包括用于在所述调试控制为所述可信调试控制或所述不可信调试控制时为调试机构寄存器的邮箱提供读取/写入控制的电路及指令。
19、如权利要求13所述的数字信号处理器调试系统,其进一步包括用于在所述调试控制为所述不可信调试控制时为调试命令寄存器提供受限的写入控制的电路及指令。
20、如权利要求13所述的数字信号处理器调试系统,其进一步包括用于在调试控制为所述可信调试控制时为调试机构通用寄存器提供读取/写入控制的电路及指令。
21、如权利要求13所述的数字信号处理器调试系统,其进一步包括用于在所述调试控制为所述可信调试控制或所述不可信调试控制时为调试机构启用寄存器提供读取控制的电路及指令。
22、如权利要求13所述的数字信号处理器调试系统,其进一步包括用于根据与核心处理器系统配置寄存器相关联的一预定组的位的值来确定调试控制是所述可信调试控制还是所述不可信调试控制的电路及指令。
23、一种用于操作以支持个人电子装置的数字信号处理器,所述数字信号处理器包括用于在所述数字信号处理器的调试操作期间维持数字信号处理器过程的安全的装置,所述数字信号处理器包括:
用于使用核心处理器过程将调试控制的原点确定为可信调试控制或不可信调试控制的装置;
用于在所述调试控制为所述可信调试控制时向所述可信调试控制提供第一组特征及特权的装置;及
用于根据将所述调试控制确定为所述不可信调试控制或所述可信调试控制而在所述核心处理器过程的操作期间维持安全的装置。
24、如权利要求23所述的数字信号处理器,其进一步包括用于在所述调试控制为所述不可信调试控制时为所述不可信调试控制提供第二受限组的特征及特权的装置。
25、如权利要求23所述的数字信号处理器,其进一步包括用于在所述调试控制为所述可信调试控制时为非侵入性调试配置寄存器提供读取/写入控制的装置。
26、如权利要求23所述的数字信号处理器,其进一步包括用于在所述调试控制为所述可信调试控制时为调试断点配置寄存器提供写入控制的装置。
27、如权利要求23所述的数字信号处理器,其进一步包括用于在所述调试控制为所述可信调试控制时为调试断点地址寄存器提供写入控制的装置。
28、如权利要求23所述的数字信号处理器,其进一步包括用于在所述调试控制为所述可信调试控制时为指令填塞寄存器提供写入控制的装置。
29、如权利要求23所述的数字信号处理器,其进一步包括用于在所述调试控制为所述可信调试控制或所述不可信调试控制时为调试机构寄存器的邮箱提供读取/写入控制的装置。
30、如权利要求23所述的数字信号处理器,其进一步包括用于在所述调试控制为所述不可信调试控制时为调试命令寄存器提供受限的写入控制的装置。
31、如权利要求23所述的数字信号处理器,其进一步包括用于在所述调试控制为所述可信调试控制时为调试机构通用寄存器提供读取/写入控制的装置。
32、如权利要求23所述的数字信号处理器系统,其进一步包括用于在所述调试控制为所述可信调试控制或所述不可信调试控制时为调试机构启用寄存器提供读取控制的装置。
33、如权利要求23所述的数字信号处理器系统,其进一步包括用于根据与核心处理器系统配置寄存器相关联的一预定组的位的值来确定调试控制是所述可信调试控制还是所述不可信调试控制的装置。
34、一种计算机可用媒体,其具有包含在其中用于处理所述数字信号处理器上的用于调试多线程数字信号处理器的指令的计算机可读程序代码装置,所述计算机可用媒体包括:
用于使用核心处理器过程将调试控制的原点确定为可信调试控制或不可信调试控制的计算机可读程序代码装置;
用于在所述调试控制为所述可信调试控制时向所述可信调试控制提供第一组特征及特权的计算机可读程序代码装置;
用于在所述调试控制为所述不可信调试控制时为所述不可信调试控制提供第二受限组的特征及特权的计算机可读程序代码装置;及
用于根据所述将所述调试控制确定为所述不可信调试控制或所述可信调试控制来维持所述核心处理器过程的所述操作中的安全的计算机可读程序代码装置。
35、如权利要求34所述的计算机可用媒体,其进一步包括用于根据与核心处理器系统配置寄存器相关联的一预定组的位的值来确定调试控制是所述可信调试控制还是所述不可信调试控制的计算机可读程序代码装置。
CN200780041105XA 2006-11-15 2007-11-13 用于可信/不可信数字信号处理器调试操作的方法及系统 Expired - Fee Related CN101535962B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/560,332 2006-11-15
US11/560,332 US8533530B2 (en) 2006-11-15 2006-11-15 Method and system for trusted/untrusted digital signal processor debugging operations
PCT/US2007/084530 WO2008061089A2 (en) 2006-11-15 2007-11-13 Method and system for trusted/untrusted digital signal processor debugging operations

Publications (2)

Publication Number Publication Date
CN101535962A true CN101535962A (zh) 2009-09-16
CN101535962B CN101535962B (zh) 2013-04-10

Family

ID=39327387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780041105XA Expired - Fee Related CN101535962B (zh) 2006-11-15 2007-11-13 用于可信/不可信数字信号处理器调试操作的方法及系统

Country Status (6)

Country Link
US (1) US8533530B2 (zh)
EP (1) EP2095240A2 (zh)
JP (1) JP5059869B2 (zh)
KR (1) KR101155673B1 (zh)
CN (1) CN101535962B (zh)
WO (1) WO2008061089A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107656513A (zh) * 2017-08-25 2018-02-02 歌尔丹拿音响有限公司 嵌入式设备的模式切换方法和嵌入式设备
CN108121686A (zh) * 2016-11-28 2018-06-05 瑞萨电子株式会社 多处理器和多处理器系统

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370806B2 (en) 2006-11-15 2013-02-05 Qualcomm Incorporated Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor
US8341604B2 (en) * 2006-11-15 2012-12-25 Qualcomm Incorporated Embedded trace macrocell for enhanced digital signal processor debugging operations
US8380966B2 (en) * 2006-11-15 2013-02-19 Qualcomm Incorporated Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging
US7681012B2 (en) * 2007-01-30 2010-03-16 Texas Instruments Incorporated Method, system and device for handling a memory management fault in a multiple processor device
US8484516B2 (en) * 2007-04-11 2013-07-09 Qualcomm Incorporated Inter-thread trace alignment method and system for a multi-threaded processor
US8417924B2 (en) * 2008-02-22 2013-04-09 Freescale Semiconductor, Inc. Data processing device and method of halting exception processing
US10073797B2 (en) * 2008-02-22 2018-09-11 Nxp Usa, Inc. Data processor device supporting selectable exceptions and method thereof
EP2433238B1 (en) * 2009-05-18 2015-10-07 Hewlett-Packard Development Company, L.P. Systems and methods of determining a trust level from system management mode
GB2483907A (en) * 2010-09-24 2012-03-28 Advanced Risc Mach Ltd Privilege level switching for data processing circuitry when in a debug mode
US9609020B2 (en) 2012-01-06 2017-03-28 Optio Labs, Inc. Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines
US9712530B2 (en) 2012-01-06 2017-07-18 Optio Labs, Inc. Systems and methods for enforcing security in mobile computing
US9787681B2 (en) 2012-01-06 2017-10-10 Optio Labs, Inc. Systems and methods for enforcing access control policies on privileged accesses for mobile devices
US20140157355A1 (en) * 2012-01-06 2014-06-05 Optio Labs, LLC Systems and methods for enhancing mobile device security with a processor trusted zone
US9363670B2 (en) 2012-08-27 2016-06-07 Optio Labs, Inc. Systems and methods for restricting access to network resources via in-location access point protocol
KR101438979B1 (ko) * 2012-12-31 2014-09-11 현대자동차주식회사 소프트웨어 검사 방법 및 시스템
US9773107B2 (en) 2013-01-07 2017-09-26 Optio Labs, Inc. Systems and methods for enforcing security in mobile computing
US9578445B2 (en) 2013-03-13 2017-02-21 Optio Labs, Inc. Systems and methods to synchronize data to a mobile device based on a device usage context
US9092562B2 (en) * 2013-05-16 2015-07-28 International Business Machines Corporation Controlling access to variables protected by an alias during a debugging session
WO2017072664A1 (en) * 2015-10-27 2017-05-04 Marvell World Trade Ltd. System and method for establishing a trusted diagnosis/debugging agent over a closed commodity device
CN111984521B (zh) * 2019-05-23 2022-11-29 核工业理化工程研究院 一种无需jtag介入的板级调试方法
CA3136322A1 (en) * 2020-12-02 2022-06-02 The Boeing Company Debug trace streams for core synchronization

Family Cites Families (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4080650A (en) * 1976-07-28 1978-03-21 Bell Telephone Laboratories, Incorporated Facilitating return from an on-line debugging program to a target program breakpoint
US4669059A (en) * 1983-11-07 1987-05-26 Motorola, Inc. Method and apparatus in a data processor for selectively disabling a power-down instruction
US4901307A (en) * 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US5136717A (en) * 1988-11-23 1992-08-04 Flavors Technology Inc. Realtime systolic, multiple-instruction, single-data parallel computer system
US5093914A (en) * 1989-12-15 1992-03-03 At&T Bell Laboratories Method of controlling the execution of object-oriented programs
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
JPH0855023A (ja) * 1994-07-25 1996-02-27 Motorola Inc データ処理システムおよびその方法
US5551043A (en) * 1994-09-07 1996-08-27 International Business Machines Corporation Standby checkpoint to prevent data loss
US6467054B1 (en) 1995-03-13 2002-10-15 Compaq Computer Corporation Self test for storage device
US6226749B1 (en) * 1995-07-31 2001-05-01 Hewlett-Packard Company Method and apparatus for operating resources under control of a security module or other secure processor
US5544311A (en) * 1995-09-11 1996-08-06 Rockwell International Corporation On-chip debug port
US5951696A (en) * 1996-11-14 1999-09-14 Hewlett-Packard Company Debug system with hardware breakpoint trap
JPH10207790A (ja) * 1997-01-20 1998-08-07 Fuji Xerox Co Ltd 入出力制御装置
US5915083A (en) * 1997-02-28 1999-06-22 Vlsi Technology, Inc. Smart debug interface circuit for efficiently for debugging a software application for a programmable digital processor device
US5835705A (en) * 1997-03-11 1998-11-10 International Business Machines Corporation Method and system for performance per-thread monitoring in a multithreaded processor
US6275868B1 (en) * 1997-03-12 2001-08-14 Microsoft Corporation Script Engine interface for multiple languages
US6094729A (en) 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US6314530B1 (en) 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
US5944841A (en) * 1997-04-15 1999-08-31 Advanced Micro Devices, Inc. Microprocessor with built-in instruction tracing capability
US6321337B1 (en) * 1997-09-09 2001-11-20 Sanctum Ltd. Method and system for protecting operations of trusted internal networks
US6697935B1 (en) 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6212544B1 (en) * 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6029248A (en) * 1997-12-15 2000-02-22 Lucent Technologies Inc. Corporation Locking system to protect a powered component interface from erroneous access by an attached, powered-off component
US6018759A (en) * 1997-12-22 2000-01-25 International Business Machines Corporation Thread switch tuning tool for optimal performance in a computer processor
US6106571A (en) * 1998-01-29 2000-08-22 Applied Microsystems Corporation Relocatable instrumentation tags for testing and debugging a computer program
US6249907B1 (en) 1998-03-24 2001-06-19 International Business Machines Corporation Method system and article of manufacture for debugging a computer program by encoding user specified breakpoint types at multiple locations in the computer program
US6757829B1 (en) * 1998-05-29 2004-06-29 Texas Instruments Incorporated Program debugging system for secure computing device having secure and non-secure modes
DE19835610A1 (de) * 1998-08-06 2000-02-10 Siemens Ag Programmgesteuerte Einheit und Verfahren zum Debuggen derselben
US6480818B1 (en) 1998-11-13 2002-11-12 Cray Inc. Debugging techniques in a multithreaded environment
US6532553B1 (en) * 1998-12-08 2003-03-11 Arm Limited Debugging data processing systems
US6343371B1 (en) * 1999-01-14 2002-01-29 Compaq Computer Corporation System and method for statically detecting potential race conditions in multi-threaded computer programs
US6535905B1 (en) 1999-04-29 2003-03-18 Intel Corporation Method and apparatus for thread switching within a multithreaded processor
US6341347B1 (en) * 1999-05-11 2002-01-22 Sun Microsystems, Inc. Thread switch logic in a multiple-thread processor
US6714958B1 (en) * 1999-07-28 2004-03-30 International Business Machines Corporation Detecting and causing latent deadlocks in multi-threaded programs
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
WO2001033351A1 (fr) * 1999-10-29 2001-05-10 Fujitsu Limited Architecture de processeur
GB2362730B (en) 1999-12-23 2004-02-11 St Microelectronics Sa Computer register watch
US6665802B1 (en) 2000-02-29 2003-12-16 Infineon Technologies North America Corp. Power management and control for a microcontroller
US6985848B2 (en) * 2000-03-02 2006-01-10 Texas Instruments Incorporated Obtaining and exporting on-chip data processor trace and timing information
JP2001356934A (ja) * 2000-03-02 2001-12-26 Texas Instr Inc <Ti> ハードウェアシステムとインタラクトするソフトウェアシステムの構成方法およびデジタルシステム
US6388533B2 (en) * 2000-03-02 2002-05-14 Texas Instruments Incorporated Programmable ring oscillator
US6934937B1 (en) * 2000-03-30 2005-08-23 Broadcom Corporation Multi-channel, multi-service debug on a pipelined CPU architecture
JP2001331340A (ja) 2000-05-19 2001-11-30 Nec Corp コードチェックによるモード切替方式および方法
US20020065646A1 (en) * 2000-09-11 2002-05-30 Waldie Arthur H. Embedded debug system using an auxiliary instruction queue
US6691251B2 (en) * 2000-11-30 2004-02-10 Palmsource, Inc. On-chip debugging system emulator
US7020871B2 (en) * 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US6915416B2 (en) * 2000-12-28 2005-07-05 Texas Instruments Incorporated Apparatus and method for microcontroller debugging
US7093236B2 (en) 2001-02-01 2006-08-15 Arm Limited Tracing out-of-order data
US7134116B1 (en) 2001-04-30 2006-11-07 Mips Technologies, Inc. External trace synchronization via periodic sampling
US7069544B1 (en) 2001-04-30 2006-06-27 Mips Technologies, Inc. Dynamic selection of a compression algorithm for trace data
US7076804B2 (en) * 2001-05-11 2006-07-11 International Business Machines Corporation Automated program resource identification and association
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US7823131B2 (en) 2001-06-29 2010-10-26 Mentor Graphics Corporation Debugger for a hardware-implemented operating system
JP2003177938A (ja) 2001-12-07 2003-06-27 Fujitsu Ltd 電子装置及びそのデバッグ認証方法
US7131114B2 (en) 2001-07-16 2006-10-31 Texas Instruments Incorporated Debugger breakpoint management in a multicore DSP device having shared program memory
US7134002B2 (en) 2001-08-29 2006-11-07 Intel Corporation Apparatus and method for switching threads in multi-threading processors
US7017084B2 (en) * 2001-09-07 2006-03-21 Network Appliance Inc. Tracing method and apparatus for distributed environments
US6901527B2 (en) * 2001-09-21 2005-05-31 International Business Machines Corporation Synchronizing multiple time stamps distributed within a computer system with main time of day register
DE10148109B4 (de) 2001-09-28 2006-10-12 Infineon Technologies Ag Verfahren zum Speichern oder Weiterleiten von Daten
US7080289B2 (en) * 2001-10-10 2006-07-18 Arm Limited Tracing multiple data access instructions
US20030074650A1 (en) * 2001-10-17 2003-04-17 Tankut Akgul Debugger operating system for embedded systems
US6834360B2 (en) 2001-11-16 2004-12-21 International Business Machines Corporation On-chip logic analyzer
US20030135720A1 (en) * 2002-01-14 2003-07-17 International Business Machines Corporation Method and system using hardware assistance for instruction tracing with secondary set of interruption resources
US7254716B1 (en) * 2002-02-13 2007-08-07 Lsi Corporation Security supervisor governing allowed transactions on a system bus
US7213134B2 (en) 2002-03-06 2007-05-01 Hewlett-Packard Development Company, L.P. Using thread urgency in determining switch events in a temporal multithreaded processor unit
AU2003213754A1 (en) * 2002-03-07 2003-09-22 Lance G. Taylor Intelligent selectively-targeted communications systems and methods
US6615371B2 (en) 2002-03-11 2003-09-02 American Arium Trace reporting method and system
US7055139B2 (en) * 2002-03-28 2006-05-30 Hewlett-Packard Development Company, L.P. Multiprocess debugging using multiple conventional debuggers
GB2389432B (en) * 2002-06-07 2005-09-07 Advanced Risc Mach Ltd Instruction tracing in data processing systems
US7003703B2 (en) * 2002-06-21 2006-02-21 Sandbridge Technologies, Inc. Method of interleaving/deinterleaving in a communication system
US7516446B2 (en) 2002-06-25 2009-04-07 International Business Machines Corporation Method and apparatus for efficient and precise datarace detection for multithreaded object-oriented programs
US7185319B2 (en) * 2002-07-09 2007-02-27 Microsoft Corporation Debugging distributed applications
US7512954B2 (en) * 2002-07-29 2009-03-31 Oracle International Corporation Method and mechanism for debugging a series of related events within a computer system
US7346895B2 (en) * 2002-07-31 2008-03-18 International Business Machines Corporation Method of tracing data collection
US7529258B2 (en) 2002-08-09 2009-05-05 Lecroy Corporation Method and system for cascading analyzer trace memories
DE10244922B4 (de) * 2002-09-25 2009-08-13 Infineon Technologies Ag Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen
US7519862B2 (en) 2002-10-11 2009-04-14 Broadcom Corporation Software programmable verification tool having a single built-in self-test (BIST) module for testing and debugging multiple memory modules in a device under test (DUT)
US7360117B1 (en) * 2002-10-24 2008-04-15 Verisilicon Holdings (Cayman Islands) Co. Ltd. In-circuit emulation debugger and method of operation thereof
GB2396930B (en) * 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
GB2396034B (en) 2002-11-18 2006-03-08 Advanced Risc Mach Ltd Technique for accessing memory in a data processing apparatus
GB2411254B (en) 2002-11-18 2006-06-28 Advanced Risc Mach Ltd Monitoring control for multi-domain processors
US7370210B2 (en) * 2002-11-18 2008-05-06 Arm Limited Apparatus and method for managing processor configuration data
US6948155B2 (en) * 2002-11-22 2005-09-20 Texas Instruments Incorporated Little offset in multicycle event maintaining cycle accurate tracing of stop events
US7219333B2 (en) * 2002-11-22 2007-05-15 Texas Instruments Incorporated Maintaining coherent synchronization between data streams on detection of overflow
US7047451B2 (en) * 2002-11-22 2006-05-16 Texas Instruments Incorporated Tracing program counter addresses using native program counter format and instruction count format
US7131113B2 (en) * 2002-12-12 2006-10-31 International Business Machines Corporation System and method on generating multi-dimensional trace files and visualizing them using multiple Gantt charts
US7325169B2 (en) * 2002-12-17 2008-01-29 Texas Instruments Incorporated Apparatus and method for trace stream identification of multiple target processor events
JP4436036B2 (ja) * 2002-12-18 2010-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、トレース処理方法、プログラム及び記録媒体
US6798713B1 (en) * 2003-01-31 2004-09-28 Zilog, Inc. Implementing software breakpoints
JP3974063B2 (ja) * 2003-03-24 2007-09-12 松下電器産業株式会社 プロセッサおよびコンパイラ
US7142246B2 (en) 2003-03-31 2006-11-28 Macronix International Co., Ltd. Apparatus and method for de-interlacing video, including 3:2 pulldown video
US7013400B2 (en) * 2003-04-24 2006-03-14 International Business Machines Corporation Method for managing power in a simultaneous multithread processor by loading instructions into pipeline circuit during select times based on clock signal frequency and selected power mode
US7159101B1 (en) * 2003-05-28 2007-01-02 Mips Technologies, Inc. System and method to trace high performance multi-issue processors
US7222262B2 (en) * 2003-08-05 2007-05-22 Newisys, Inc. Methods and devices for injecting commands in systems having multiple multi-processor clusters
US7383537B2 (en) * 2003-08-20 2008-06-03 Microsoft Corporation Debugging an application that employs rights-managed content
US7600221B1 (en) 2003-10-06 2009-10-06 Sun Microsystems, Inc. Methods and apparatus of an architecture supporting execution of instructions in parallel
US7321957B2 (en) * 2003-10-24 2008-01-22 Intel Corporation Debugging a trusted component in a system
TWI226757B (en) 2003-11-11 2005-01-11 Benq Corp Address generator for block interleaving
US7328429B2 (en) * 2003-11-13 2008-02-05 Intel Corporation Instruction operand tracing for software debug
US7383540B2 (en) * 2003-12-12 2008-06-03 International Business Machines Corporation Altering execution flow of a computer program
US7475303B1 (en) * 2003-12-29 2009-01-06 Mips Technologies, Inc. HyperJTAG system including debug probe, on-chip instrumentation, and protocol
US7461407B2 (en) * 2004-02-05 2008-12-02 Research In Motion Limited Debugging port security interface
US7360203B2 (en) * 2004-02-06 2008-04-15 Infineon Technologies North America Corp. Program tracing in a multithreaded processor
US7263599B2 (en) * 2004-02-06 2007-08-28 Infineon Technologies Thread ID in a multithreaded processor
JP4347082B2 (ja) 2004-02-23 2009-10-21 日本電気株式会社 イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム
JP4409349B2 (ja) 2004-04-27 2010-02-03 Okiセミコンダクタ株式会社 デバッグ回路およびデバッグ制御方法
US7945900B2 (en) 2004-04-29 2011-05-17 Marvell International Ltd. Debugging tool for debugging multi-threaded programs
US20060253894A1 (en) * 2004-04-30 2006-11-09 Peter Bookman Mobility device platform
US7380276B2 (en) * 2004-05-20 2008-05-27 Intel Corporation Processor extensions and software verification to support type-safe language environments running with untrusted code
US7558920B2 (en) 2004-06-30 2009-07-07 Intel Corporation Apparatus and method for partitioning a shared cache of a chip multi-processor
US7363523B2 (en) 2004-08-31 2008-04-22 Intel Corporation Method and apparatus for controlling power management state transitions
JP4520788B2 (ja) * 2004-07-29 2010-08-11 富士通株式会社 マルチスレッドプロセッサ
US7278058B1 (en) 2004-08-25 2007-10-02 Unisys Corporation Methods and apparatus to diagnose software
US7814308B2 (en) * 2004-08-27 2010-10-12 Microsoft Corporation Debugging applications under different permissions
US9038070B2 (en) * 2004-09-14 2015-05-19 Synopsys, Inc. Debug in a multicore architecture
US20060129999A1 (en) * 2004-11-16 2006-06-15 Sony Computer Entertainment Inc. Methods and apparatus for using bookmarks in a trace buffer
US7783925B2 (en) 2004-12-02 2010-08-24 Texas Instruments Incorporated Receiving control, data, and control segments of communication scan packets
US7681014B2 (en) * 2005-02-04 2010-03-16 Mips Technologies, Inc. Multithreading instruction scheduler employing thread group priorities
US7418629B2 (en) * 2005-02-11 2008-08-26 International Business Machines Corporation Synchronizing triggering of multiple hardware trace facilities using an existing system bus
US7472378B2 (en) 2005-02-23 2008-12-30 International Business Machines Corporation Breakpoint management and reconciliation for embedded scripts in a business integration language specified program process
US20060206902A1 (en) 2005-03-14 2006-09-14 Sujat Jamil Variable interleaved multithreaded processor method and system
US7369954B2 (en) * 2005-03-17 2008-05-06 International Business Machines Corporation Event tracing with time stamp compression and history buffer based compression
US7747985B2 (en) 2005-03-18 2010-06-29 Microsoft Corporation Conformance testing of multi-threaded and distributed software systems
US7917907B2 (en) * 2005-03-23 2011-03-29 Qualcomm Incorporated Method and system for variable thread allocation and switching in a multithreaded processor
JP2006285430A (ja) 2005-03-31 2006-10-19 Matsushita Electric Ind Co Ltd Cpuメモリアクセス解析装置
US7657875B2 (en) * 2005-04-12 2010-02-02 International Business Machines Corporation System and method for collecting a plurality of metrics in a single profiling run of computer code
US7698686B2 (en) 2005-04-15 2010-04-13 Microsoft Corporation Method and apparatus for performance analysis on a software program
US7558984B2 (en) 2005-04-27 2009-07-07 Texas Instruments Incorporated Apparatus and method for test and debug of a processor/core having advanced power management
US7536597B2 (en) 2005-04-27 2009-05-19 Texas Instruments Incorporated Apparatus and method for controlling power, clock, and reset during test and debug procedures for a plurality of processor/cores
US8881114B2 (en) 2005-05-16 2014-11-04 Texas Instruments Incorporated Stored program writing stall information when a processor stalls waiting for another processor
US7730545B2 (en) * 2005-05-23 2010-06-01 Arm Limited Test access control for secure integrated circuits
US7548911B2 (en) 2005-05-28 2009-06-16 Microsoft Corporation Diagnosing problems in distributed systems
JP2007026051A (ja) * 2005-07-15 2007-02-01 Matsushita Electric Ind Co Ltd 情報処理装置および情報処理システム
US8694621B2 (en) * 2005-08-19 2014-04-08 Riverbed Technology, Inc. Capture, analysis, and visualization of concurrent system and network behavior of an application
WO2007028227A1 (en) * 2005-09-09 2007-03-15 Ibm Canada Limited - Ibm Canada Limitee Integrating different programming language debug tools for observing thread execution
US9146832B2 (en) 2005-10-14 2015-09-29 Oracle International Corporation Debugging functionality embedded in an application
JP4388518B2 (ja) * 2005-11-01 2009-12-24 株式会社ソニー・コンピュータエンタテインメント スレッドデバッグ装置、スレッドデバッグ方法及びプログラム
US7770155B2 (en) 2005-11-03 2010-08-03 International Business Machines Corporation Debugger apparatus and method for indicating time-correlated position of threads in a multi-threaded computer program
US7802233B2 (en) 2006-01-30 2010-09-21 Microsoft Corporation Automated display of trace historical data
US20070234306A1 (en) 2006-03-31 2007-10-04 Klinger Uwe D Tracing performance of machine-readable instructions
US20080034350A1 (en) * 2006-04-05 2008-02-07 Conti Gregory R System and Method for Checking the Integrity of Computer Program Code
KR20070109432A (ko) 2006-05-11 2007-11-15 삼성전자주식회사 커널 인지 디버깅 장치 및 방법
US20070288906A1 (en) 2006-05-16 2007-12-13 Texas Instruments Incorporated Efficient transfer of timing information
US7849315B2 (en) * 2006-05-22 2010-12-07 General Dynamics C4 Systems, Inc. Method for managing operability of on-chip debug capability
GB0613289D0 (en) * 2006-07-04 2006-08-16 Imagination Tech Ltd Synchronisation of execution threads on a multi-threaded processor
US8301870B2 (en) * 2006-07-27 2012-10-30 International Business Machines Corporation Method and apparatus for fast synchronization and out-of-order execution of instructions in a meta-program based computing system
US8051162B2 (en) * 2006-07-28 2011-11-01 Hewlett-Packard Development Company, L.P. Data assurance in server consolidation
US7702055B2 (en) * 2006-09-29 2010-04-20 Mips Technologies, Inc. Apparatus and method for tracing processor state from multiple clock domains
GB2443277B (en) * 2006-10-24 2011-05-18 Advanced Risc Mach Ltd Performing diagnostics operations upon an asymmetric multiprocessor apparatus
US8380966B2 (en) * 2006-11-15 2013-02-19 Qualcomm Incorporated Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging
US8341604B2 (en) * 2006-11-15 2012-12-25 Qualcomm Incorporated Embedded trace macrocell for enhanced digital signal processor debugging operations
US7657791B2 (en) * 2006-11-15 2010-02-02 Qualcomm Incorporated Method and system for a digital signal processor debugging during power transitions
US8370806B2 (en) * 2006-11-15 2013-02-05 Qualcomm Incorporated Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor
DE102007009909B4 (de) 2007-02-28 2016-09-08 Globalfoundries Inc. Verfahren zum Validieren einer atomaren Transaktion in einer Multikernmikroprozessorumgebung
US9195462B2 (en) 2007-04-11 2015-11-24 Freescale Semiconductor, Inc. Techniques for tracing processes in a multi-threaded processor
US8484516B2 (en) 2007-04-11 2013-07-09 Qualcomm Incorporated Inter-thread trace alignment method and system for a multi-threaded processor
US7681078B2 (en) 2007-05-18 2010-03-16 Freescale Semiconductor, Inc. Debugging a processor through a reset event
US8001428B2 (en) * 2007-10-29 2011-08-16 Arm Limited Packing trace protocols within trace streams

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121686A (zh) * 2016-11-28 2018-06-05 瑞萨电子株式会社 多处理器和多处理器系统
CN107656513A (zh) * 2017-08-25 2018-02-02 歌尔丹拿音响有限公司 嵌入式设备的模式切换方法和嵌入式设备

Also Published As

Publication number Publication date
KR101155673B1 (ko) 2012-06-14
EP2095240A2 (en) 2009-09-02
KR20090084939A (ko) 2009-08-05
CN101535962B (zh) 2013-04-10
JP2010510583A (ja) 2010-04-02
US8533530B2 (en) 2013-09-10
WO2008061089A3 (en) 2008-11-06
WO2008061089A2 (en) 2008-05-22
JP5059869B2 (ja) 2012-10-31
US20080115011A1 (en) 2008-05-15

Similar Documents

Publication Publication Date Title
CN101535962B (zh) 用于可信/不可信数字信号处理器调试操作的方法及系统
CN101529390B (zh) 用于多线程数字信号处理器的非侵入性线程选择性调试方法及系统
CN101681191B (zh) 在电能转换期间的数字信号处理器调试
CN101529393B (zh) 用于增强的数字信号处理器调试操作的嵌入式追踪宏单元
CN101529392B (zh) 在非侵入性数字信号处理器调试期间用于指令填充操作的方法和系统
US20070088938A1 (en) Shared interrupt control method and system for a digital signal processor

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130410

Termination date: 20181113