CN101770420A - Soc芯片调试结构及实现调试信息输出的方法 - Google Patents
Soc芯片调试结构及实现调试信息输出的方法 Download PDFInfo
- Publication number
- CN101770420A CN101770420A CN200810205108A CN200810205108A CN101770420A CN 101770420 A CN101770420 A CN 101770420A CN 200810205108 A CN200810205108 A CN 200810205108A CN 200810205108 A CN200810205108 A CN 200810205108A CN 101770420 A CN101770420 A CN 101770420A
- Authority
- CN
- China
- Prior art keywords
- debugging
- debugger
- processor
- debugging message
- soc chip
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种SOC芯片调试结构及实现调试信息输出的方法,调试结构包括内置于SOC芯片中的处理器、现场信息记录器、调试器和发送器,处理器和现场信息记录器通过调试器和发送器与外部接收设备连接。方法包括处理器向调试器写入调试信息、调试器从现场信息记录器中读取记录信息并将调试信息和记录信息传送至发送器、发送器将调试信息和记录信息送至外部接收设备。采用该种SOC芯片调试结构及实现调试信息输出的方法,系统资源占用率低,对系统正常运作没有大的影响,占用的物理面积小,生产成本低,提高了调试效率,结构简单实用,使用便捷高效,工作性能稳定可靠,适用范围较为广泛,为集成电路研发和产品开发的技术进一步发展奠定了坚实的基础。
Description
技术领域
本发明涉及集成电路技术领域,特别涉及集成电路芯片设计技术领域,具体是指一种SOC芯片调试结构及实现调试信息输出的方法。
背景技术
随着电子技术的飞速发展,特别是数字技术的飞速发展,各种电子产品不断面世。很多电子产品都是向着高智能、体积小、速度快的方向发展。其中,智能手机应运而生,并占有了相当大的市场份额,其主要特点就是有高速的处理器和嵌入式操作系统。
通常,在像智能手机这样的智能便携设备中,使用SOC(片上系统,System on Chip)芯片是非常普遍的。利用速度快、体积小的SOC芯片,人们制造了各式各样的产品。SoC芯片的主要特点就是把一整套方案的不同模块,包括中央处理器,一次性的制作在一颗芯片中。一颗SoC芯片可以有一个或者几个MCU、CPU或DSP,主频可以达到几百兆赫兹或更高。系统如此高速运转的过程中,调试成为一件困难的事情。在产品研发过程中,如何在保证系统效率不受影响的情况下,尽量多的得到调试信息成为了关键。
现有条件下,往往为了打印更多的调试信息,就要更多的占用处理器的资源。同时还造成了系统环境的改变,也就是说得到的调试信息并不是真实环境中的信息,而是由于调试功能本身导致了系统环境改变后的信息,那么调试信息的信息量就大幅下降。
另外,处理器为了提供调试信息和当时的环境参数、时间参数等,需要做大量的准备工作。比如调试信息是连续的,时间敏感的,那么就要处理器锁定其他中断信号,并且操作系统保护这个用于调试的进程。比如,智能手机中如果是利用处理器发送调试信息,就有很多繁杂的操作。处理器要屏蔽额外中断,操作系统要打开专门的调试进程,处理器要获得调试数据并且组织成合适的格式,处理器要初始化和配置发送器,处理器要把数据传输给发送器,处理器要启动发送器。以上这些都做完才能发送一次调试信息,如何简化这些操作是个头疼的问题。
实际上,无论是芯片本身的开发,还是围绕一款芯片进行的产品开发,调试都是消耗人力、时间等资源最大的阶段。好的调试工具和好的调试方案可以给调试过程带来很大的好处。
调试过程中,如何用最少的资源,最少的时间,得到最真实的调试信息,成为一个挑战,并直接制约着SOC芯片应用开发的发展。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够在处理器高速运转的过程中利用很少的系统资源提供大量的调试信息、结构简单实用、实用便捷高效、工作性能稳定可靠、适用范围较为广泛的SOC芯片调试结构及实现调试信息输出的方法。
为了实现上述的目的,本发明的SOC芯片调试结构及实现调试信息输出的方法如下:
该SOC芯片调试结构,包括内置于SOC芯片中的处理器,其主要特点是,所述的调试结构还包括内置于SOC芯片中的现场信息记录器、调试器和发送器,所述的处理器和现场信息记录器均依此通过所述的调试器和发送器与外部接收设备相连接。
该SOC芯片调试结构中的调试器中包括控制单元和FIFO单元,所述的处理器和现场信息记录器均依此通过所述的控制单元和FIFO单元与所述的发送器相连接。
该SOC芯片调试结构中的处理器、现场信息记录器和FIFO单元的数据操作位数均相同。
该SOC芯片调试结构中的现场信息记录器为计时器。
该SOC芯片调试结构中的发送器可以为USB接口模块、UART接口模块或者I2C接口模块。
该SOC芯片调试结构中的处理器可以为MCU、CPU或者DSP单元。
该利用上述的调试结构实现SOC芯片调试信息输出的方法,其主要特点是,所述的方法包括以下步骤:
(1)所述的处理器在需要发送调试信息时向所述的调试器中写入调试信息;
(2)调试器从所述的现场信息记录器中读取相应的记录信息,并进行将调试信息和记录信息传送至发送器的操作;
(3)所述的发送器将接收到的调试信息和记录信息发送至外部接收设备。
该实现SOC芯片调试信息输出的方法中的处理器向调试器中写入调试信息的操作为中途不被打断的原子操作。
该实现SOC芯片调试信息输出的方法中的调试信息的数据长度不超过所述的处理器的数据操作位数,所述的处理器向调试器中写入调试信息的操作在一个时钟周期内完成。
该实现SOC芯片调试信息输出的方法中的调试器将调试信息和记录信息传送至发送器的操作,包括以下步骤:
(11)所述的调试器中的控制单元将接收到的调试信息写入FIFO单元中;
(12)控制单元将所读取到的记录信息紧跟所述的调试信息写入FIFO单元中;
(13)控制单元实时监控FIFO单元,当FIFO单元中有数据时,则控制单元将FIFO单元中的数据按照先进先出的顺序传送给所述的发送器。
采用了该发明的SOC芯片调试结构及实现调试信息输出的方法,由于其中的调试器由一个控制单元和一个FIFO单元构成,并配合处理器、计时器和发送器进行工作,将处理器收集并提供的调试信息和计时器的当前记录信息提供给发送器,由于其能够保证处理器将调试数据写入调试器的操作过程在不进行专门保护、不消耗额外资源的情况下不会被打断,从而系统资源占用率方面对系统正常运作没有大的影响,只需要利用处理器的空余时间就可以完成调试信息的输出,而且其所占用的物理面积小到可以忽略不计,从而生产成本非常低,同时提高了调试的效率,结构简单实用,使用便捷高效,工作性能稳定可靠,适用范围较为广泛,为集成电路本身的研发及围绕集成电路芯片进行产品开发的技术进一步发展奠定了坚实的基础。
附图说明
图1为本发明的SOC芯片调试结构的整体架构示意图。
图2为本发明的SOC芯片调试结构的实际应用范例示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图1所示,该SOC芯片调试结构,包括内置于SOC芯片中的处理器,其中,所述的调试结构还包括内置于SOC芯片中的现场信息记录器、调试器和发送器,所述的处理器和现场信息记录器均依此通过所述的调试器和发送器与外部接收设备相连接。
其中,所述的调试器中包括控制单元和FIFO单元,所述的处理器和现场信息记录器均依此通过所述的控制单元和FIFO单元与所述的发送器相连接;所述的处理器、现场信息记录器和FIFO单元的数据操作位数均相同;所述的现场信息记录器为计时器;所述的发送器可以为USB接口模块、UART接口模块或者I2C接口模块;所述的处理器可以为MCU、CPU或者DSP单元。
同时,该利用上述的调试结构实现SOC芯片调试信息输出的方法,其中包括以下步骤:
(1)所述的处理器在需要发送调试信息时向所述的调试器中写入调试信息;该写入调试信息的操作为中途不被打断的原子操作,同时,调试信息的数据长度不超过所述的处理器的数据操作位数,所述的处理器向调试器中写入调试信息的操作在一个时钟周期内完成;
(2)调试器从所述的现场信息记录器中读取相应的记录信息,并进行将调试信息和记录信息传送至发送器的操作,包括以下步骤:
(a)所述的调试器中的控制单元将接收到的调试信息写入FIFO单元中;
(b)控制单元将所读取到的记录信息紧跟所述的调试信息写入FIFO单元中;
(c)控制单元实时监控FIFO单元,当FIFO单元中有数据时,则控制单元将FIFO单元中的数据按照先进先出的顺序传送给所述的发送器;
(3)所述的发送器将接收到的调试信息和记录信息发送至外部接收设备。
在实际使用当中,请参阅图1所示,本发明中的调试器由一个控制单元和一个FIFO单元构成,配合处理器、计时器和发送器使用。控制单元用来控制调试器的数据流向等控制工作,也就是调试器的控制逻辑,所以并没有在图中特别标注。处理器可以是MCU、CPU或DSP等。计时器可以根据任意时钟信号产生。发送器可以是USB、UART、I2C等任何常用具有发送功能的接口模块。调试信息由处理器收集并提供,每当处理器需要发送调试信息时,就向调试器写入调试信息D0。调试器的控制器随时把得到的调试信息D0写入FIFO单元,同时把计时器的当前值D1紧跟D0写入FIFO单元。本发明中的计时器可以是任何记录现场信息的器件,由于时间信息往往是最重要的信息,所以在本发明中的具体实施方式中,具有类似功能的器件中最好使用计时器。
而且,调试器同时监控FIFO单元,当FIFO单元里面有数据时,调试器就把FIFO单元里的数据按照先进先出的顺序提供给发送器。接下来,发送器负责把接收到的数据发送出去。
在每次处理器只需要提供一个单位的数据,比如以word(32位)为单位的处理器就提供一个word。由于不需要提供额外的时间等信息,且每次只提供一个单位的数据,那么处理器可以在一个时钟周期内完成这个操作。由于处理器可以在一个周期内完成操作,所以这个操作不可能被打断,也就不需要专门的保护,相应消耗的资源就非常的少。一般情况下处理器总有一些零碎的空闲时间,只需要利用这些空闲时间就可以完成调试工作。
处理器只用一个时钟周期把调试数据写入调试器是本发明的主要创新的部分,其目的是保证处理器的把调试数据写入调试器这个操作在不进行专门保护、不消耗额外资源的情况下不会被打断。当然,本发明并不局限于这种方式,在某些特定的系统环境下,能够用满足上述条件的多个时钟周期完成相同的操作,也应该可以产生相似的效果,这种方式也属于本发明的保护范围。
从系统资源占用率方面讲,本发明方法的处理对系统正常的运行没有大的影响,只需要利用处理器的空余时间就可以完成调试信息的输出。
同时,在SOC型的大规模集成电路芯片中,本发明占用的物理面积小到可以忽略不计。通常,芯片的生产成本是和芯片的面积成正比的,所以本发明的生产成本非常的低。而且操作方面,只需要处理器的一个指令,就可以在任何连接上的终端上得到调试信息。比如只要处理发送一个调试信息,就可以通过PC的串口在Windows的超级终端上看到这些信息。PC和超级终端等软硬件工具都是多数调试员熟悉和熟练应用的,调试工作会更高效。
再请参阅图2所示,其中为采用ARM9作为处理器、UART作为发送器,PC作为接收终端的一个本发明调试器的实施例。本实施例中,由5个模块构成:处理器ARM9,计时器、调试模块、发送器UART和接收终端PC。
ARM9是ARM公司的高性能处理器,主频可以达到几百兆赫兹,以word(32位)为单位进行数据操作的。每当需要发送调试信息时,ARM9把一个调试数据D0写入调试器。此操作需要只用一个时钟周期完成。
调试器接收到调试数据D0并把其写入FIFO,同时读取计时器当前值D1,把D1紧跟D0写入FIFO。这里为了和ARM9保持统一,本发明中选用了一个32位的计时器,所以写入时间信息也只需要一个时钟周期。如果计时器不到32位宽,可以高位补0,如果计时器大于32位宽,就需要分多次写入时间信息。能够分多次写入是因为写入时间信息并不占用ARM9的资源,只占用调试器资源,这样就不会破坏系统的正常运行。
由于D0和D1都是32位宽的,很自然,选用一个32位宽的FIFO会得到最高的效率。
调试器检测到FIFO里面有数据后,会把数据按照先入先出的顺序读出,并提供给发送器UART。由于UART的数据格式是以字节(8位)为单位的,一个word的数据需要分4次提供给UART。
通用异步收发器UART(Universal Asynchronous Receiver and Transmitter)是一种成熟的、异步串行数据收发模块。在这里作为发送器,只利用其发送功能。UART以字节为单位把接收到的数据发送给PC。
PC接收到数据后可以根据需要在终端上显示或者保存成数据文件。直接在屏幕上显示可以即时的发现问题所在,保存成数据便于查证。如果有需要,可以开发相应的PC端驱动程序,把D0和D1解释成更易于阅读的语言在终端上显示。
由本实施例可以清楚的看到,本调试器的主要创新之处在于处理器ARM9可以在一个时钟周期内提供出必须的调试信息,其余的信息和操作都由调试器完成。这样,对处理器ARM9的干扰降到了最低,而相应的调试信息的信息量又非常的高。
采用了上述的SOC芯片调试结构及实现调试信息输出的方法,由于其中的调试器由一个控制单元和一个FIFO单元构成,并配合处理器、计时器和发送器进行工作,将处理器收集并提供的调试信息和计时器的当前记录信息提供给发送器,由于其能够保证处理器将调试数据写入调试器的操作过程在不进行专门保护、不消耗额外资源的情况下不会被打断,从而系统资源占用率方面对系统正常运作没有大的影响,只需要利用处理器的空余时间就可以完成调试信息的输出,而且其所占用的物理面积小到可以忽略不计,从而生产成本非常低,同时提高了调试的效率,结构简单实用,使用便捷高效,工作性能稳定可靠,适用范围较为广泛,为集成电路本身的研发及围绕集成电路芯片进行产品开发的技术进一步发展奠定了坚实的基础。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (10)
1.一种SOC芯片调试结构,包括内置于SOC芯片中的处理器,其特征在于,所述的调试结构还包括内置于SOC芯片中的现场信息记录器、调试器和发送器,所述的处理器和现场信息记录器均依此通过所述的调试器和发送器与外部接收设备相连接。
2.根据权利要求1所述的SOC芯片调试结构,其特征在于,所述的调试器中包括控制单元和FIFO单元,所述的处理器和现场信息记录器均依此通过所述的控制单元和FIFO单元与所述的发送器相连接。
3.根据权利要求2所述的SOC芯片调试结构,其特征在于,所述的处理器、现场信息记录器和FIFO单元的数据操作位数均相同。
4.根据权利要求1至3中任一项中所述的SOC芯片调试结构,其特征在于,所述的现场信息记录器为计时器。
5.根据权利要求1至3中任一项中所述的SOC芯片调试结构,其特征在于,所述的发送器为USB接口模块、UART接口模块或者I2C接口模块。
6.根据权利要求1至3中任一项中所述的SOC芯片调试结构,其特征在于,所述的处理器为MCU、CPU或者DSP单元。
7.一种利用权利要求1所述的调试结构实现SOC芯片调试信息输出的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的处理器在需要发送调试信息时向所述的调试器中写入调试信息;
(2)调试器从所述的现场信息记录器中读取相应的记录信息,并进行将调试信息和记录信息传送至发送器的操作;
(3)所述的发送器将接收到的调试信息和记录信息发送至外部接收设备。
8.根据权利要求7所述的实现SOC芯片调试信息输出的方法,其特征在于,所述的处理器向调试器中写入调试信息的操作为中途不被打断的原子操作。
9.根据权利要求8所述的实现SOC芯片调试信息输出的方法,其特征在于,所述的调试信息的数据长度不超过所述的处理器的数据操作位数,所述的处理器向调试器中写入调试信息的操作在一个时钟周期内完成。
10.根据权利要求7至9中任一项所述的实现SOC芯片调试信息输出的方法,其特征在于,所述的调试器中包括控制单元和FIFO单元,所述的处理器和现场信息记录器均依此通过所述的控制单元和FIFO单元与所述的发送器相连接,所述的调试器将调试信息和记录信息传送至发送器的操作,包括以下步骤:
(11)所述的调试器中的控制单元将接收到的调试信息写入FIFO单元中;
(12)控制单元将所读取到的记录信息紧跟所述的调试信息写入FIFO单元中;
(13)控制单元实时监控FIFO单元,当FIFO单元中有数据时,则控制单元将FIFO单元中的数据按照先进先出的顺序传送给所述的发送器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810205108A CN101770420A (zh) | 2008-12-30 | 2008-12-30 | Soc芯片调试结构及实现调试信息输出的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810205108A CN101770420A (zh) | 2008-12-30 | 2008-12-30 | Soc芯片调试结构及实现调试信息输出的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101770420A true CN101770420A (zh) | 2010-07-07 |
Family
ID=42503293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810205108A Pending CN101770420A (zh) | 2008-12-30 | 2008-12-30 | Soc芯片调试结构及实现调试信息输出的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101770420A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259673A (zh) * | 2012-02-21 | 2013-08-21 | 深圳市东进软件开发有限公司 | 一种获取dsp装置调试信息的方法和系统 |
WO2014048327A1 (zh) * | 2012-09-25 | 2014-04-03 | 中兴通讯股份有限公司 | 一种调试系统及方法 |
CN104461815A (zh) * | 2014-12-11 | 2015-03-25 | 深圳芯邦科技股份有限公司 | 一种芯片调试方法及片上系统芯片 |
CN109144853A (zh) * | 2018-07-26 | 2019-01-04 | 中国电子科技集团公司第五十四研究所 | 一种软件定义无线电SoC芯片调试系统 |
CN110888793A (zh) * | 2018-09-07 | 2020-03-17 | 上海寒武纪信息科技有限公司 | 片上代码断点调试方法、片上处理器及芯片断点调试系统 |
CN112269708A (zh) * | 2020-12-22 | 2021-01-26 | 湖北芯擎科技有限公司 | 一种调试信息获取方法、装置、电子设备及存储介质 |
CN113778920A (zh) * | 2021-11-12 | 2021-12-10 | 湖南双菱电子科技有限公司 | 一种嵌入式处理器串口通信方法和软件开发工具包 |
-
2008
- 2008-12-30 CN CN200810205108A patent/CN101770420A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259673A (zh) * | 2012-02-21 | 2013-08-21 | 深圳市东进软件开发有限公司 | 一种获取dsp装置调试信息的方法和系统 |
CN103259673B (zh) * | 2012-02-21 | 2016-01-20 | 深圳市东进软件开发有限公司 | 一种获取dsp装置调试信息的方法和系统 |
WO2014048327A1 (zh) * | 2012-09-25 | 2014-04-03 | 中兴通讯股份有限公司 | 一种调试系统及方法 |
CN104461815A (zh) * | 2014-12-11 | 2015-03-25 | 深圳芯邦科技股份有限公司 | 一种芯片调试方法及片上系统芯片 |
CN109144853A (zh) * | 2018-07-26 | 2019-01-04 | 中国电子科技集团公司第五十四研究所 | 一种软件定义无线电SoC芯片调试系统 |
CN109144853B (zh) * | 2018-07-26 | 2021-09-24 | 中国电子科技集团公司第五十四研究所 | 一种软件定义无线电SoC芯片调试系统 |
CN110888793A (zh) * | 2018-09-07 | 2020-03-17 | 上海寒武纪信息科技有限公司 | 片上代码断点调试方法、片上处理器及芯片断点调试系统 |
CN112269708A (zh) * | 2020-12-22 | 2021-01-26 | 湖北芯擎科技有限公司 | 一种调试信息获取方法、装置、电子设备及存储介质 |
CN112269708B (zh) * | 2020-12-22 | 2021-03-16 | 湖北芯擎科技有限公司 | 一种调试信息获取方法、装置、电子设备及存储介质 |
CN113778920A (zh) * | 2021-11-12 | 2021-12-10 | 湖南双菱电子科技有限公司 | 一种嵌入式处理器串口通信方法和软件开发工具包 |
CN113778920B (zh) * | 2021-11-12 | 2022-02-08 | 湖南双菱电子科技有限公司 | 一种嵌入式处理器串口通信方法和软件开发工具包 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101770420A (zh) | Soc芯片调试结构及实现调试信息输出的方法 | |
CN201622113U (zh) | 智能振动监测仪 | |
CN101763324B (zh) | 设备模拟的实现方法和装置 | |
CN105527633A (zh) | 一种基于usb便携式北斗/gps导航授时装置及方法 | |
CN102033843B (zh) | Rs485总线与高速智能统一总线的直接接口方法 | |
CN206133249U (zh) | 基于dsp和fpga的微盘控制系统 | |
CN202362460U (zh) | 一种gnss接收机的中频数据采集与回放装置 | |
CN103679101B (zh) | 手机音频读卡装置及系统 | |
WO2004003714A3 (en) | Circuit for detection of internal microprocessor watchdog device execution and method for resetting microprocessor system | |
CN102693623B (zh) | 基于Android系统实现红外遥控的方法以及装置 | |
CN205016216U (zh) | 一种显示屏接口转换装置以及智能手表 | |
CN203084719U (zh) | 基于plb总线的sja1000接口ip核 | |
CN203217599U (zh) | 一种基带控制芯片和超高频射频读写装置 | |
CN207835492U (zh) | 一种双缓存载波解调系统 | |
CN207676165U (zh) | 一种基于航电设备的故障数据记录装置 | |
CN104035906A (zh) | 用spi实现时分复用总线的方法及其应用 | |
CN206115220U (zh) | 基于fpga的交易信息处理系统 | |
CN109408444A (zh) | 一种适用于mems传感器信号处理的专用串行接口 | |
CN220730807U (zh) | 一种基于fpga收集uart数据的系统 | |
CN201364570Y (zh) | 一种dsp芯片扩展lcd模块接口系统 | |
CN111273941B (zh) | 一种船用控制系统 | |
CN203217600U (zh) | 一种基带控制芯片和超高频射频读写装置 | |
CN212969697U (zh) | 一种4g路由摄像头传输模组 | |
CN203260057U (zh) | 一种无线卡及无线卡读卡器 | |
CN203415003U (zh) | 校园卡考勤系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100707 |