CN106598755B - 一种处理器及dcc通信系统 - Google Patents

一种处理器及dcc通信系统 Download PDF

Info

Publication number
CN106598755B
CN106598755B CN201611092793.XA CN201611092793A CN106598755B CN 106598755 B CN106598755 B CN 106598755B CN 201611092793 A CN201611092793 A CN 201611092793A CN 106598755 B CN106598755 B CN 106598755B
Authority
CN
China
Prior art keywords
read
debugger
processor
interrupt
debugging
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.)
Active
Application number
CN201611092793.XA
Other languages
English (en)
Other versions
CN106598755A (zh
Inventor
陆一珉
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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems Co Ltd
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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN201611092793.XA priority Critical patent/CN106598755B/zh
Publication of CN106598755A publication Critical patent/CN106598755A/zh
Application granted granted Critical
Publication of CN106598755B publication Critical patent/CN106598755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种处理器及DCC通信系统。所述处理器包括:调试模块和处理器内核,其中,所述调试模块,用于接受调试器的操作,产生调试中断请求,所述调试中断请求不受处理器内核的中断使能位控制;所述处理器内核,用于响应所述调试模块产生的调试中断请求。本发明能够使处理器内核快速进入调试通信通道的通信服务程序,实现了在非调试模式下,使用调试器与处理器进行通信。

Description

一种处理器及DCC通信系统
技术领域
本发明涉及处理器技术领域,尤其涉及一种处理器及DCC通信系统。
背景技术
随着半导体工艺的快速发展,处理器的功能越来越完善,设计也越来越复杂。在处理器的设计过程中,很可能存在一些设计缺陷,而这些设计缺陷极可能影响处理器的功能。为了保证处理器功能的正确性,减少设计风险,在处理器的设计过程中会包含一个调试模块,用来对处理器进行调试。当遇到一个复杂到无法分析的问题时,调试器可以通过调试模块与处理器内核之间建立数据通信从而追踪处理器存在的问题。
目前,调试器与处理器内核之间的通信模式主要有两种:一种是采用侵入式调试的方式,使处理器进入调试模式,而后调试器与处理器内核之间可以进行数据通信,其中侵入式调试包括硬件断点、软件断点、单步执行等方式;另一种是DCC通信模式,即利用调试模块内的DCC(Debug Communications Channel,调试通信通道)来实现调试器与处理器内核之间的数据通信。DCC通信模式不需要处理器进入调试模式,就可以实现调试器与处理器内核之间的数据通信,这使得数据通信变得更为便利,此外这对于调试一些大型的程序也将会变得更加有利。
目前大多采用普通的程序调用或者普通中断进入DCC通信模式,一旦中断未使能,则无法顺利进入DCC通信模式,从而调试失败。
发明内容
有鉴于此,本发明提供一种处理器及DCC通信系统,能够使处理器快速进入DCC通信模式。
第一方面,本发明提供一种处理器,所述处理器包括:调试模块和处理器内核,其中,
所述调试模块,用于接受调试器的操作,产生调试中断请求,所述调试中断请求不受处理器内核的中断使能位控制;
所述处理器内核,用于响应所述调试模块产生的调试中断请求。
可选地,所述调试模块,还用于指示所述调试器和所述处理器内核之间进行DCC通信的工作状态以及缓存所述调试器和所述处理器内核之间进行DCC通信时传输的数据。
可选地,所述调试模块,包括:
控制寄存器,用于控制是否可以产生调试中断请求,所述调试中断请求包括读中断请求和写中断请求;
状态寄存器,用于指示所述调试器和所述处理器内核之间进行DCC通信的工作状态;
读数据交换寄存器,用于在所述调试器和所述处理器内核之间进行DCC通信时,缓存所述处理器内核向所述调试器传输的数据;
写数据交换寄存器,用于在所述调试器和所述处理器内核之间进行DCC通信时,缓存所述调试器向所述处理器内核传输的数据。
可选地,所述控制寄存器,包括:写中断使能位及读中断使能位,所述写中断使能位及读中断使能位能够被处理器内核和调试器读写,其中,
所述写中断使能位,用于控制是否可以产生所述写中断请求;
所述读中断使能位,用于控制是否可以产生所述读中断请求。
可选的,所述状态寄存器,包括:写有效位及读有效位,所述写有效位及读有效位能够被处理器内核通过软件或调试器只读,通过硬件置位和复位,其中,
所述写有效位,用于指示所述写数据交换寄存器缓存数据的有效性;
所述读有效位,用于指示所述读数据交换寄存器缓存数据的有效性。
可选地,所述状态寄存器,还包括:写中断响应状态位及读中断响应状态位,所述写中断响应状态位及读中断响应状态位能够被处理器内核通过软件或调试器只读,通过硬件置位和复位,其中,
所述写中断响应状态位,用于指示所述写中断请求的响应状态;
所述读中断响应状态位,用于指示所述读中断请求的响应状态。
可选地,所述状态寄存器,还包括:返回地址选择位,所述返回地址选择位能够被处理器内核通过软件或调试器只读,通过硬件置位和复位,用于指示返回地址是否为调试中断服务程序的返回地址。
第二方面,本发明提供一种DCC通信系统,所述DCC通信系统包括:调试器和上述处理器。
本发明提供的处理器及DCC通信系统,通过处理器中的调试模块产生一个不可屏蔽的调试中断请求,使处理器内核快速进入调试通信通道的通信服务程序,实现了在非调试模式下,使用调试器与处理器进行通信。
附图说明
图1为本发明一实施例提供的处理器的示意图;
图2为本发明实施例提供的处理器中的调试模块的示意图;
图3为本发明实施例提供的控制寄存器及状态寄存器的内部示意图;
图4为本发明一实施例提供的DCC通信系统的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种处理器1,如图1所示,所述处理器1包括:调试模块11和处理器内核12,其中,
所述调试模块11,用于接受调试器的操作,产生调试中断请求,所述调试中断请求不受处理器内核12的中断使能位控制;
所述处理器内核12,用于响应所述调试模块11产生的调试中断请求。所述处理器内核12在响应所述调试中断请求后进入所述调试中断的中断服务程序,在调试中断服务程序中进行处理器内核12和调试器之间的数据通信。
进一步地,所述调试模块11,还用于指示所述调试器和所述处理器内核12之间进行DCC通信的工作状态以及缓存所述调试器和所述处理器内核12之间进行DCC通信时传输的数据。
可选地,如图2所示,所述调试模块11包括:控制寄存器111、状态寄存器112、读数据交换寄存器113及写数据交换寄存器114,其中,
所述控制寄存器111,用于控制是否可以产生调试中断请求,所述调试中断请求包括读中断请求和写中断请求;
所述状态寄存器112,用于指示所述调试器和所述处理器内核之间进行DCC通信的工作状态;
所述读数据交换寄存器113,用于在所述调试器和所述处理器内核之间进行DCC通信时,缓存所述处理器内核向所述调试器传输的数据,所述读数据交换寄存器能够由处理器写入数据,由调试器读出数据;
所述写数据交换寄存器114,用于在所述调试器和所述处理器内核之间进行DCC通信时,缓存所述调试器向所述处理器内核传输的数据,所述写数据交换寄存器能够由调试器写入数据,由处理器读出数据。
可选地,所述控制寄存器111是32位寄存器,如图3(a)所示,包括:写中断使能位(jw_int_en)及读中断使能位(jr_int_en),其中,
所述写中断使能位占据所述控制寄存器111的第0位,用于控制是否可以产生所述写中断请求;
所述读中断使能位占据所述控制寄存器111的第1位,用于控制是否可以产生所述读中断请求;
所述控制寄存器111的第2~31位保留。
具体地,所述写中断使能位及所述读中断使能位,能够被处理器内核和调试器读写,也就是说,置位和复位可以通过处理器内核或者通过调试器操作调试模块中的控制寄存器来实现,置位时为1,复位时为0。
当需要产生写中断请求或读中断请求时,首先将相应的中断使能位置位,在相应的中断使能位置位的前提下,通过调试器去操作读数据交换寄存器或者写数据交换寄存器来产生相应的调试中断请求,如果相应的中断使能位被清除,那么调试器去操作读数据交换寄存器或者写数据交换寄存器不会产生相应的调试中断请求。
具体包括:
当写中断使能位置位时,同时调试器去写所述写数据交换寄存器,调试模块将产生一个写中断请求;
当读中断使能位置位时,同时调试器去读所述读数据交换寄存器,调试模块将产生一个读中断请求;
所述读中断请求与所述写中断请求通过或操作产生调试中断请求,所述调试中断请求不受处理器内核中断使能位的控制,即所述调试中断请求是不可屏蔽中断请求。当读中断请求与写中断请求同时有效时,写中断请求的优先级高于读中断请求,即处理器内核优先响应所述写中断请求。
所述处理器内核12在响应所述调试中断请求之前,先通过硬件保存处理器的现场到所述调试模块中,所述处理器的现场的内容主要包括:程序计数器和处理器状态寄存器的值。然后在指令退休时响应所述调试中断请求,进入对应的中断服务程序,在中断服务程序中调试器和处理器内核之间进行数据传输。
可选地,所述状态寄存器112是32位寄存器,如图3(b)所示,包括:写有效位(jw_vld)及读有效位(jr_vld),其中,
所述写有效位占据所述状态寄存器112的第0位,用于指示所述写数据交换寄存器缓存数据的有效性;
所述读有效位占据所述状态寄存器112的第1位,用于指示所述读数据交换寄存器缓存数据的有效性。
具体地,所述写有效位和读有效位,能够被处理器内核通过软件或调试器只读,通过硬件置位和复位,置位时为1,复位时为0。
当调试器写所述写数据交换寄存器时,所述写有效位置位,表示所述调试器向处理器内核传输的数据有效,在数据有效的情况下,当处理器内核读所述写数据交换寄存器时,所述写有效位复位,表示数据已被处理器内核读取;
当处理器内核写所述读数据交换寄存器时,所述读有效位置位,表示所述处理器内核向调试器传输的数据有效,在数据有效的情况下,当调试器读所述读数据交换寄存器时,所述读有效位复位,表示数据已被调试器读取。
可选地,如图3(b)所示,所述状态寄存器112还包括:写中断响应状态位(jw_active)及读中断响应状态位(jr_active),其中,
所述写中断响应状态位占据所述状态寄存器112的第2位,用于指示所述写中断请求的响应状态;
所述读中断响应状态位占据所述状态寄存器112的第3位,用于指示所述读中断请求的响应状态。
具体地,所述写中断响应状态位和读中断响应状态位,能够被处理器内核通过软件或调试器只读,通过硬件置位和复位,置位时为1,复位时为0。
当处理器内核响应调试中断请求之后会记录响应状态,即处理器内核响应可以进入调试中断的中断服务程序时会记录响应信息,当处理器内核处于调试中断的中断服务程序中时,相应的中断状态位一直处于置位状态,直到处理器内核退出调试中断的中断服务程序时复位。
具体包括:
当处理器内核响应所述写中断请求后,写中断响应状态位置位,当写中断返回后,写中断响应状态位复位;
当处理器内核响应所述读中断请求后,读中断响应状态位置位,当读中断返回后,读中断响应状态位复位;
在调试中断服务程序中,处理器通过查询状态寄存器的中断响应状态位,就可以确定处理器响应的是读中断还是写中断。
可选地,如图3(b)所示,所述状态寄存器112还包括:返回地址选择位(pc_sel),所述返回地址选择位占据所述状态寄存器112的第4位,用于指示返回地址是否为调试中断服务程序的返回地址,从而确定所述中断是调试中断还是一般中断;
所述状态寄存器112的第5~31位保留。
具体地,所述返回地址选择位,能够被处理器内核通过软件或调试器只读,通过硬件置位和复位,置位时为1,复位时为0。
当处理器内核响应所述调试中断请求时,返回地址选择位置位;当所述调试中断返回时,返回地址选择位复位。
所述处理器内核12在响应所述调试中断请求之后,默认不再响应一般中断或者调试请求。为简单起见,当返回地址选择位置位时,为了避免破坏所述调试模块11中保存的所述处理器的现场,处理器内核12不再响应一般中断或调试请求,通过返回地址选择位来屏蔽所述一般中断或调试请求;如果确实需要嵌套调试或者中断,需要先将所述调试模块11中保存的现场进行压栈保存,而后将返回地址选择位复位,此时处理器内核12可以再次响应一般中断或者调试请求。
本发明实施例提供的处理器,包括:调试模块和处理器内核,其中,所述调试模块,用于接受调试器的操作,产生调试中断请求,所述调试中断请求不受处理器内核的中断使能位控制;所述处理器内核,用于响应所述调试模块产生的调试中断请求。与现有技术相比,本发明能够使处理器内核快速进入调试通信通道的通信服务程序,实现了在非调试模式下,使用调试器与处理器进行通信。
本发明实施例还提供一种DCC通信系统,如图4所示,所述DCC通信系统包括:调试器41和上述处理器42,能够实现在非调试模式下,使用调试器41与处理器42进行通信。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (7)

1.一种处理器,其特征在于,所述处理器包括:调试模块和处理器内核,其中,
所述调试模块,用于接受调试器的操作,产生调试中断请求,所述调试中断请求不受处理器内核的中断使能位控制;
所述处理器内核,用于响应所述调试模块产生的调试中断请求;
其中所述调试模块包括控制寄存器,用于控制是否可以产生调试中断请求,所述调试中断请求包括读中断请求和写中断请求;以及
所述控制寄存器包括写中断使能位及读中断使能位,所述写中断使能位及读中断使能位能够被处理器内核和调试器读写,其中所述写中断使能位适于控制是否可以产生所述写中断请求;以及所述读中断使能位适于控制是否可以产生所述读中断请求。
2.根据权利要求1所述的处理器,其特征在于,所述调试模块,还用于指示所述调试器和所述处理器内核之间进行调试通信的工作状态以及缓存所述调试器和所述处理器内核之间进行调试通信时传输的数据。
3.根据权利要求2所述的处理器,其特征在于,所述调试模块,还包括:
状态寄存器,用于指示所述调试器和所述处理器内核之间进行调试通信的工作状态;
读数据交换寄存器,用于在所述调试器和所述处理器内核之间进行调试通信时,缓存所述处理器内核向所述调试器传输的数据;
写数据交换寄存器,用于在所述调试器和所述处理器内核之间进行调试通信时,缓存所述调试器向所述处理器内核传输的数据。
4.根据权利要求3所述的处理器,其特征在于,所述状态寄存器,包括:写有效位及读有效位,所述写有效位及读有效位能够被处理器内核通过软件或调试器只读,通过硬件置位和复位,其中,
所述写有效位,用于指示所述写数据交换寄存器缓存数据的有效性;
所述读有效位,用于指示所述读数据交换寄存器缓存数据的有效性。
5.根据权利要求3所述的处理器,其特征在于,所述状态寄存器,还包括:写中断响应状态位及读中断响应状态位,所述写中断响应状态位及读中断响应状态位能够被处理器内核通过软件或调试器只读,通过硬件置位和复位,其中,
所述写中断响应状态位,用于指示所述写中断请求的响应状态;
所述读中断响应状态位,用于指示所述读中断请求的响应状态。
6.根据权利要求3所述的处理器,其特征在于,所述状态寄存器,还包括:返回地址选择位,所述返回地址选择位能够被处理器内核通过软件或调试器只读,通过硬件置位和复位,用于指示返回地址是否为调试中断服务程序的返回地址。
7.一种调试通信系统,其特征在于,所述调试通信系统包括:调试器和如权利要求1~6中任一项所述的处理器。
CN201611092793.XA 2016-12-01 2016-12-01 一种处理器及dcc通信系统 Active CN106598755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611092793.XA CN106598755B (zh) 2016-12-01 2016-12-01 一种处理器及dcc通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611092793.XA CN106598755B (zh) 2016-12-01 2016-12-01 一种处理器及dcc通信系统

Publications (2)

Publication Number Publication Date
CN106598755A CN106598755A (zh) 2017-04-26
CN106598755B true CN106598755B (zh) 2020-06-05

Family

ID=58594538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611092793.XA Active CN106598755B (zh) 2016-12-01 2016-12-01 一种处理器及dcc通信系统

Country Status (1)

Country Link
CN (1) CN106598755B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101495964A (zh) * 2005-05-27 2009-07-29 飞思卡尔半导体公司 翻译信息取得
CN101505102A (zh) * 2002-11-14 2009-08-12 艾科嘉公司 开关电源转换器和用于控制多个开关电源转换器的系统
CN105681145A (zh) * 2016-02-29 2016-06-15 南京航空航天大学 一种基于FPGA的FlexRay通信模块

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149862A1 (en) * 2005-01-06 2006-07-06 Ivivity, Inc. DMA in processor pipeline
JP2009175960A (ja) * 2008-01-23 2009-08-06 Panasonic Corp 仮想マルチプロセッサシステム
US8924986B2 (en) * 2011-09-01 2014-12-30 American Megatrends, Inc. Methods, devices and computer program products for confluence of multiple operating systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505102A (zh) * 2002-11-14 2009-08-12 艾科嘉公司 开关电源转换器和用于控制多个开关电源转换器的系统
CN101495964A (zh) * 2005-05-27 2009-07-29 飞思卡尔半导体公司 翻译信息取得
CN105681145A (zh) * 2016-02-29 2016-06-15 南京航空航天大学 一种基于FPGA的FlexRay通信模块

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
32位嵌入式处理器C*Core的异常与中断处理机制;jeffasdasd;《ChinaUnix》;20140709;第1-5页 *
基于ARM7的通信通道调试电路设计;陈公兴 等;《企业技术开发》;20100930;第29卷(第17期);参见第8页第1栏第1行-第2栏第20行,第9页2.2部分和结论部分 *
嵌入系统中断控制器的设计;刘建华 等;《计算机工程与应用》;20020131;第125-127页,第170页 *

Also Published As

Publication number Publication date
CN106598755A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
EP3352083B1 (en) Debugging method, multi-core processor, and debugging equipment
US10409709B2 (en) Debugging method, multi-core processor and debugging device
US8688910B2 (en) Debug control for snoop operations in a multiprocessor system and method thereof
US20150143045A1 (en) Cache control apparatus and method
US11307965B2 (en) Managing and maintaining multiple debug contexts in a debug execution mode for real-time processors
US20220197780A1 (en) Managing and maintaining multiple debug contexts in a debug execution mode for real-time processors
US20120036501A1 (en) Method and System for Capturing System and User Events Using Hardware Trace Devices
US20160299859A1 (en) Apparatus and method for external access to core resources of a processor, semiconductor systems development tool comprising the apparatus, and computer program product and non-transitory computer-readable storage medium associated with the method
CN113785277A (zh) 用于时间行程调试的基于协处理器的日志记录
US9176821B2 (en) Watchpoint support system for functional simulator
US20220083455A1 (en) Managing and maintaining multiple debug contexts in a debug execution mode for real-time processors
US11868799B2 (en) Command information transmission method, system, and apparatus, and readable storage medium
US9348723B2 (en) Method, system, and computer program product
US7890685B2 (en) Multi-core data processor
US11507413B2 (en) Tracking method, apparatus, device, and machine-readable medium
US7526756B2 (en) Address watch breakpoints with basing pointers
CN106598755B (zh) 一种处理器及dcc通信系统
US10534682B2 (en) Method and diagnostic apparatus for performing diagnostic operations upon a target apparatus using transferred state and emulated operation of a transaction master
CN100492299C (zh) 一种嵌入式软件开发的方法及系统
CN113961452A (zh) 硬中断方法和相关装置
JP2006146412A (ja) マルチコアプロセッサ及びデバッグ方法
CN117331884A (zh) 一种基于硬件封装的系统芯片设计控制方法及装置
CN115794670A (zh) 一种缓存系统及其管理方法
JP2012221461A (ja) 半導体集積回路
CN115964093A (zh) 用于访问存储设备上的设备程序的系统、方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211103

Address after: 200135 floor 5, No. 366, Shangke road and No. 2, Lane 55, Chuanhe Road, pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Pingtouge (Shanghai) semiconductor technology Co.,Ltd.

Address before: 15 / F, building a, Paradise Software Park, 3 xidoumen Road, Xihu District, Hangzhou City, Zhejiang Province, 310012

Patentee before: C-SKY MICROSYSTEMS Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240218

Address after: 310052 Room 201, floor 2, building 5, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: C-SKY MICROSYSTEMS Co.,Ltd.

Country or region after: China

Address before: 200135 floor 5, No. 366, Shangke road and No. 2, Lane 55, Chuanhe Road, pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee before: Pingtouge (Shanghai) semiconductor technology Co.,Ltd.

Country or region before: China