CN106776195B - 一种soc芯片调试方法和设备 - Google Patents
一种soc芯片调试方法和设备 Download PDFInfo
- Publication number
- CN106776195B CN106776195B CN201611166600.0A CN201611166600A CN106776195B CN 106776195 B CN106776195 B CN 106776195B CN 201611166600 A CN201611166600 A CN 201611166600A CN 106776195 B CN106776195 B CN 106776195B
- Authority
- CN
- China
- Prior art keywords
- input
- output pin
- output
- pin
- line
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种SOC芯片调试方法和设备,所述方法通过引脚设置单元来控制第一至第五输入输出引脚处于输入有效状态或输出有效状态,并通过信号选择来确定芯片处于何种模式(包括功能模式、2线调试模式和5线调试模式),并在芯片处于某一模式下时,对应调整输入输出引脚与相应的JTAG控制器或功能元件的连接关系,从而复用调试设备的引脚达到兼容2线SWD控制器和5线JTAG控制器进行调试的效果。相较于现有2线SWD控制器和5线JTAG控制器分开设置、单独进行调试的方案,节约了调试过程的硬件成本。
Description
技术领域
本发明涉及SOC芯片调试领域,特别涉及一种SOC芯片调试方法和设备。
背景技术
随着制造工艺的快速发展,SOC芯片的规模越来越大,但是由于芯片的封装大小的限制,芯片的IO(输入输出引脚)的数量也受到限制。因此,任何能够节省SOC芯片IO数量的技术都显得十分有意义。JTAG是常见的芯片验证信息手段,通过扫描方式向SOC芯片中灌入命令和数据进行芯片验证信息操作。传统的JTAG都是使用五根信号线,而新技术SWD的调试技术只需要两根信号线,但是为了支持多种调试硬件设备(包括低端的只支持JTAG五线的调试硬件盒子,调试硬件盒子是连接SOC芯片和调试软件的硬件设备,传统的调试盒子只支持JTAG协议),需要兼容JTAG 5线模式和SWD2线模式。
当SOC结束芯片调试处于产品功能模式下时,如果按照现有技术的设计调试使用的IO不再使用,无疑造成产品硬件资源上的浪费,硬件成本的增加。
发明内容
为此,需要提供一种SOC芯片调试的技术方案,用以解决现有的SOC芯片设计架构无法同时支持5线JTAG控制器以及2线SWD控制器进行调试,以及调试使用的IO在芯片处于功能模式下不再使用,造成调试步骤复杂、调试成本上升等问题。
为实现上述目的,发明人提供了一种SOC芯片调试设备,所述调试设备包括至少5个输入输出引脚,2线SWD控制器,5线JTAG控制器,引脚设置单元,模式设置单元;所述引脚设置单元与输入输出引脚连接;所述输入输出引脚包括第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚和第五输入输出引脚;所述2线SWD控制器与第一输入输出引脚、第二输入输出引脚连接,所述5线JTAG控制器与第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚和第五输入输出引脚连接;所述第五输入输出引脚用于对5线JTAG控制器内部电路进行复位;
所述模式设置单元用于接收第一信号,让芯片处于调试模式;还用于接收第二信号,让芯片处于2线调试模式;
所述引脚设置单元用于将第一输入输出引脚和第二输入输出引脚设置为输入有效状态,所述第一输入输出引脚用于输入第一调试时钟至2线SWD控制器,所述第二输入输出引脚用于输入第一调试数据或第一调试命令至2线SWD控制器;
所述2线SWD控制器用于接收第一调试时钟,并以第一调试时钟频率运转工作,以及执行第一调试命令,对第一调试数据进行第一调试操作,得到第一输出数据;
所述引脚设置单元用于将第二输入输出引脚设置为输出有效状态,所述2线SWD控制器用于将第一输出数据传输至第二输入输出引脚;
所述模式设置单元还用于接收第三信号,让芯片处于5线调试模式;所述第一输入输出引脚用于输入第二调试时钟至5线JTAG控制器,所述第二输入输出引脚用于输入第二调试命令至5线JTAG控制器,所述第三输入输出引脚用于输入第二调试数据至5线JTAG控制器;
所述5线JTAG控制器用于接收第二调试时钟,并以第二调试时钟频率运转工作,以及执行第二调试命令,对第二调试数据进行第二调试操作,得到第二输出数据;
所述引脚设置单元用于将第四输入输出引脚设置为输出有效状态,5线JTAG控制器用于将第二输出数据传输至第四输入输出引脚。
进一步地,所述调试设备还包括eMMC控制器和eMMC卡槽,当检测到eMMC卡槽内置入有eMMC卡时,eMMC控制器用于发送第四信号至模式设置单元,所述模式设置单元用于控制芯片处于功能模式;当检测到eMMC卡槽内没有eMMC卡时,eMMC控制器用于发送第一信号至模式设置单元,让芯片处于调试模式。
进一步地,所述eMMC卡的引脚接口为3个,eMMC卡分别与第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚、第五输入输出引脚中的任意三个输入输出引脚连接。
进一步地,所述eMMC卡的引脚接口的数量为5个以上,所述调试设备包括的引脚数量在eMMC卡的引脚接口的数量以上。
进一步地,所述引脚设置单元为三态控制电路。
发明人还提供了一种SOC芯片调试方法,所述方法应用于SOC芯片调试设备,所述调试设备包括至少5个输入输出引脚,2线SWD控制器,5线JTAG控制器,引脚设置单元,模式设置单元;所述引脚设置单元与输入输出引脚连接;所述输入输出引脚包括第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚和第五输入输出引脚;所述2线SWD控制器与第一输入输出引脚、第二输入输出引脚连接,所述5线JTAG控制器与第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚和第五输入输出引脚连接;所述第五输入输出引脚用于对5线JTAG控制器内部电路进行复位;所述方法包括以下步骤:
模式设置单元接收第一信号,让芯片处于调试模式,并接收第二信号,让芯片处于2线调试模式;
引脚设置单元将第一输入输出引脚和第二输入输出引脚设置为输入有效状态,第一输入输出引脚输入第一调试时钟至2线SWD控制器,所述第二输入输出引脚用于输入第一调试数据或第一调试命令至2线SWD控制器;
2线SWD控制器接收第一调试时钟,并以第一调试时钟频率运转工作,以及执行第一调试命令,对第一调试数据进行第一调试操作,得到第一输出数据;
引脚设置单元将第二输入输出引脚设置为输出有效状态,2线SWD控制器将第一输出数据传输至第二输入输出引脚;
模式设置单元接收第三信号,让芯片处于5线调试模式;所述第一输入输出引脚输入第二调试时钟至5线JTAG控制器,第二输入输出引脚输入第二调试命令至5线JTAG控制器,第三输入输出引脚输入第二调试数据至5线JTAG控制器;
5线JTAG控制器接收第二调试时钟,并以第二调试时钟频率运转工作,以及执行第二调试命令,对第二调试数据进行第二调试操作,得到第二输出数据;
引脚设置单元将第四输入输出引脚设置为输出有效状态,5线JTAG控制器将第二输出数据传输至第四输入输出引脚。
进一步地,所述调试设备还包括eMMC控制器和eMMC卡槽,所述方法还包括以下步骤:
当检测到eMMC卡槽内置入有eMMC卡时,eMMC控制器发送第四信号至模式设置单元,模式设置单元控制芯片处于功能模式;
当检测到eMMC卡槽内没有eMMC卡时,eMMC控制器发送第一信号至模式设置单元,让芯片处于调试模式。
进一步地,所述eMMC卡的引脚接口为3个,eMMC卡分别与第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚、第五输入输出引脚中的任意三个输入输出引脚连接。
进一步地,所述eMMC卡的引脚接口的数量为5个以上,所述调试设备包括的引脚数量在eMMC卡的引脚接口的数量以上。
进一步地,所述引脚设置单元为三态控制电路。
本发明具有以下优点:通过引脚设置单元来控制第一至第五输入输出引脚处于输入有效状态或输出有效状态,并通过信号选择来确定芯片处于何种模式(包括功能模式、2线调试模式和5线调试模式),并在芯片处于某一模式下时,对应调整输入输出引脚与相应的JTAG控制器或功能元件的连接关系,从而复用调试设备的引脚达到兼容2线SWD控制器和5线JTAG控制器进行调试的效果。相较于现有2线SWD控制器和5线JTAG控制器分开设置、单独进行调试的方案,节约了调试过程的硬件成本。
附图说明
图1为本发明一实施方式涉及的SOC芯片调试设备的示意图;
图2为本发明另一实施方式涉及的SOC芯片调试设备的示意图;
图3为本发明一实施方式涉及的SOC芯片调试方法的流程图。
附图标记说明:
101、2线SWD控制器;
102、5线JTAG控制器;
103、引脚设置单元;
104、模式设置单元;
105、第一输入输出引脚;106、第二输入输出引脚;107、第三输入输出引脚;108、第四输入输出引脚;109、第五输入输出引脚;
110、eMMC控制器;
111、eMMC卡槽。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,本发明一实施方式所述的SOC芯片调试设备的示意图。所述调试设备包括至少5个输入输出引脚,2线SWD控制器101,5线JTAG控制器102,引脚设置单元103,模式设置单元104;所述引脚设置单元103与输入输出引脚连接;所述输入输出引脚包括第一输入输出引脚105、第二输入输出引脚106、第三输入输出引脚107、第四输入输出引脚108和第五输入输出引脚109;所述2线SWD控制器101与第一输入输出引脚105、第二输入输出引脚106连接,所述5线JTAG控制器102与第一输入输出引脚105、第二输入输出引脚106、第三输入输出引脚107、第四输入输出引脚108和第五输入输出引脚109连接;所述第五输入输出引脚109用于对5线JTAG控制器内部电路进行复位,复位是指将5线JTAG控制器内部的各个电路进行重新启动和初始化。。
所述模式设置单元104用于接收第一信号,让芯片处于调试模式;还用于接收第二信号,让芯片处于2线调试模式;
所述引脚设置单元103用于将第一输入输出引脚105和第二输入输出引脚106设置为输入有效状态,所述第一输入输出引脚105用于输入第一调试时钟至2线SWD控制器101,所述第二输入输出引脚106用于输入第一调试数据或第一调试命令至2线SWD控制器101;
所述2线SWD控制器101用于接收第一调试时钟,并以第一调试时钟频率运转工作,以及执行第一调试命令,对第一调试数据进行第一调试操作,得到第一输出数据;
所述引脚设置单元103用于将第二输入输出引脚106设置为输出有效状态,所述2线SWD控制器101用于将第一输出数据传输至第二输入输出引脚;
所述模式设置单元104还用于接收第三信号,让芯片处于5线调试模式;所述第一输入输出引脚105用于输入第二调试时钟至5线JTAG控制器102,所述第二输入输出引脚106用于输入第二调试命令至5线JTAG控制器102,所述第三输入输出引脚107用于输入第二调试数据至5线JTAG控制器102;
所述5线JTAG控制器102用于接收第二调试时钟,并以第二调试时钟频率运转工作,以及执行第二调试命令,对第二调试数据进行第二调试操作,得到第二输出数据;
所述引脚设置单元103用于将第四输入输出引脚108设置为输出有效状态,5线JTAG控制器102用于将第二输出数据传输至第四输入输出引脚108。
在使用SOC芯片调试设备的过程中,首先模式设置单元接收第一信号,让芯片处于调试模式,并接收第二信号,让芯片处于2线调试模式。在本实施方式中,芯片的运行模式包括正常功能模式和调试模式,所述调试模式又包括2线调试模式和5线调试模式。正常功能模式和调试模式之间的切换可以通过一个信号选择器来实现,例如信号选择器上有“1”和“0”两种信号,则当选择信号为“1”时(即接收第四信号),默认芯片处于正常功能模式,当选择信号为“0”时(即接收第一信号),默认芯片处于调试模式。同理,2线调试模式和5线调试模式之间的切换也可以通过另一个信号选择器来实现,假设信号选择器上有“1”和“0”两种信号,当选择信号为“1”时(即接收第二信号),默认芯片处于2线调试模式,当选择信号为“0”时(即接收第三信号),默认芯片处于5线调试模式。调试模式是指通过扫描方式向SOC芯片中灌入命令和数据进行芯片验证信息操作。2线调试模式下,数据和命令由2线SWD控制器接收处理,2线SWD控制器包含有两个引脚接口;5线调试模式下,数据和命令由5线JTAG控制器接收处理,5线JTAG控制器包含有五个引脚接口。
而后引脚设置单元将第一输入输出引脚105和第二输入输出引脚106设置为输入有效状态,第一输入输出引脚105输入第一调试时钟至2线SWD控制器101,第二输入输出引脚106输入第一调试数据或第一调试命令至2线SWD控制器101。在本实施方式中,所述引脚设置单元为三态控制电路。三态控制电路即三态输出控制开关,其可以用于控制芯片输入输出引脚处于输入状态或者输出状态。三态输出控制开关负责根据三态控制端的控制对输出信号做出变化,当三态控制端接收到的信号为输出无效时则输出为高阻态,如果三态控制端为输出有效时则输出等于输入。
而后2线SWD控制器101接收第一调试时钟,并以第一调试时钟频率运转工作,以及执行第一调试命令,对第一调试数据进行第一调试操作,得到第一输出数据。无论2线SWD控制器还是5线JTAG控制器,其在进行调试工作时,需要工作在一调试时钟频率下,且需要接收原始数据和命令,调试才能正常进行。在2线调试模式下,第一输入输出引脚与2线SWD控制器上对应的时钟接口连接,2线SWD控制器通过时钟接口来接收第一输入输出引脚传输的时钟,并工作在该时钟频率下。第二输入输出引脚与2线SWD控制器上对应的数据或命令接口连接,2线SWD控制器通过数据接口来接收第二输入输出引脚传输的数据或命令,对第一调试数据进行第一调试操作,得到第一输出数据。
而后引脚设置单元103将第二输入输出引脚106设置为输出有效状态,2线SWD控制器将第一输出数据传输至第二输入输出引脚。当需要将第一输出数据传出时,三态输出控制开关将第二输入输出引脚调整为输出有效状态,以便2线SWD控制器将调试后的第一输出数据传出。
而后模式设置单元104接收第三信号,让芯片处于5线调试模式;所述第一输入输出引脚105输入第二调试时钟至5线JTAG控制器102,所述第二输入输出引脚106输入第二调试命令至5线JTAG控制器102,第三输入输出引脚107输入第二调试数据至5线JTAG控制器102。第二信号和第三信号的输入可以通过一信号选择器来实现,即根据信号选择器上的输入“0”还是“1”,来决定当前芯片处于5线调试模式还是2线调试模式。当芯片处于5线调试模式下,第一至第五输入输出引脚依次与5线JTAG控制器上对应的接口连接,具体为:第一输入输出引脚与5线JTAG控制器上的时钟接口连接;第二输入输出引脚与5线JTAG控制器上的命令输入接口连接;第三输入输出引脚与5线JTAG控制器上的数据输入接口连接。
而后5线JTAG控制器102接收第二调试时钟,并以第二调试时钟频率运转工作,以及执行第二调试命令,对第二调试数据进行第二调试操作,得到第二输出数据。而后引脚设置单元103将第四输入输出引脚108设置为输出有效状态,5线JTAG控制器102将第二输出数据传输至第四输入输出引脚108。
需要说明的是,在另一些实施例中,模式设置单元也可以先接收第三信号,让芯片处于5线调试模式;而后再接收第二信号信号,让芯片处于2线调试模式。即在调试模式的信号选择时可以从“1”开始,也可以从“0”开始。简言之,先进行2线调试模式还是5线调试模式并不固定,具体可以根据实际需要将信号选择器的信号切换在“0”还是“1”,来决定芯片处于何种调试模式下。
上述技术方案所述的SOC芯片调试设备通过引脚设置单元来控制第一至第五输入输出引脚处于输入有效状态或输出有效状态,并通过信号选择来确定芯片处于何种模式(包括功能模式、2线调试模式和5线调试模式),并在芯片处于某一模式下时,对应调整输入输出引脚与相应的JTAG控制器或功能元件的连接关系,从而复用调试设备的引脚达到兼容2线SWD控制器和5线JTAG控制器进行调试的效果。相较于现有2线SWD控制器和5线JTAG控制器分开设置、单独进行调试的方案,节约了调试过程的硬件成本。
在某些实施例中,所述调试设备还包括eMMC控制器和eMMC卡槽,当检测到eMMC卡槽内置入有eMMC卡时,eMMC控制器用于发送第四信号至模式设置单元,所述模式设置单元用于控制芯片处于功能模式;当检测到eMMC卡槽内没有eMMC卡时,eMMC控制器用于发送第一信号至模式设置单元,让芯片处于调试模式。在本实施方式中,eMMC卡的引脚接口为3个,eMMC卡分别与第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚、第五输入输出引脚中的任意三个输入输出引脚连接。这样,当芯片处于功能模式下,就可以采用与eMMC卡所连接的三个输入输出引脚进行数据传输,执行功能模式下的正常功能。当eMMC卡槽内有eMMC卡时,触发第四信号,让芯片功能模式下;当eMMC卡槽中没有eMMC卡时,则触发第一信号,芯片处于调试模式下。这样,芯片的输入输出引脚在芯片处于测试模式和功能模式下时均可以被使用,
现有通用的eMMC卡除了包含有3个引脚接口类型的之外,还包括有6个或10个引脚接口的类型。当eMMC卡工作时需要的引脚数量为6个或10个时,仅有5个输入输出引脚显然就不足以满足需要,因而在某些实施例中,所述eMMC卡的引脚接口的数量为5个以上,所述调试设备包括的引脚数量在eMMC卡的引脚接口的数量以上。例如当eMMC卡的引脚接口的数量为6个时,则调试设备所包括的引脚数量在6个以上。这样可以使得调试设备满足不同引脚接口数量的eMMC卡的工作需求,有效提高调试设备的应用范围。
如图2所示,为本发明另一实施方式涉及的SOC芯片调试设备的示意图。下面结合图2对调试设备的工作的流程做进一步说明:
当检测到eMMC卡插入eMMC卡槽时,卡槽中的插卡检测簧片会接到高电平,此时eMMC卡插入检测单元(即插卡检测簧片)输出高电平表示有卡插入.,否则输出为低电平表示卡槽中没有eMMC卡插入。
当有卡插入之后,eMMC卡插入检测单元输出高电平,这个插入有效的高电平会控制3个通路选择器(这里是以eMMC卡槽引脚数量为3个的为例,其他数量的同理可得),TCK(第一输入输出引脚)、TDI(第二输入输出引脚)、TRSTN(第五输入输出引脚)设置为eMMC控制器的输入数据引脚,TMS(第三输入输出引脚)成为eMMC的时钟输出引脚,TDO(第四输入输出引脚)成为eMMC的命令输出引脚。
当检测到没有eMMC卡插入eMMC控制器上的eMMC卡槽时,芯片进入调试模式,通过一信号选择器来决定芯片处于2线调试模式还是5线调试模式。在本实施方式中,当信号选择器的选择信号为1时,芯片进入2线调试模式。
此时,2线SWD控制器的TCK输入(相当于SWD控制器上的时钟输入引脚接口)连到了TCK输入(相当于第一输入输出引脚);2线SWD控制器的TMS输入(相当于SWD控制器上的命令输入引脚接口)连到了TMS输入通路选择器的输出;2线SWD控制器的TMS输出连到了三态输出控制开关的输入端;2线SWD控制器的TMS输出有效控制信号连到了三态输出控制开关的三态控制端。在这种场景下,2线调试模式需要的TCK和TMS都已经直接受2线SWD控制器的控制,并且可接收信息。具体如下:
当TMS做输出时,2线SWD控制器将TMS输出有效控制信号置为有效,此时三态输出控制开关输出等于输入(即第二输入输出引脚设置为输出有效状态)。TMS pad(即第二输入输出引脚)作为输出方向,输出值等于2线SWD控制器的TMS输出信号。
当TMS做输入时,2线SWD控制器将TMS输出有效控制信号置为无效,此时三态输出控制开关输出高阻态,TMS pad作为输入方向,输入值等于外部的TMS驱动值,并把TMS输入值通过多路选择器送到2线SWD控制器的TMS输入端。
当信号选择器的选择信号为0时,芯片进入5线调试模式,在5线调试模式下,对应的二选一通路选择器的通路都变为0通路。此时,5线JTAG控制器的TCK输入连到了TCK输入(第一输入输出引脚);5线JTAG控制器的TDI输入连到了TDI输入(第二输入输出引脚);5线JTAG控制器的TRSTN输入连到了TRSTN输入(第五输入输出引脚);5线JTAG控制器的TDO输入连到了TDO输出(第四输入输出引脚);5线JTAG控制器的TMS输入连到了TMS输入通路选择器的输出;5线JTAG控制器的TMS输出连到了三态输出控制开关的输入端;5线JTAG控制器的TMS输出有效控制信号连到了三态输出控制开关的三态控制端。在这种场景下,5线JTAG控制器需要的TDI、TDO、TRSTN、TCK和TMS都已经直接受5线JTAG控制器的控制,并且可接收信息。
请参阅图3,为本发明一实施方式涉及的SOC芯片调试方法的流程图。所述方法包括以下步骤:
首先进入步骤S301模式设置单元接收第一信号,让芯片处于调试模式,并接收第二信号,让芯片处于2线调试模式。在本实施方式中,芯片的运行模式包括正常功能模式和调试模式,所述调试模式又包括2线调试模式和5线调试模式。正常功能模式和调试模式之间的切换可以通过一个信号选择器来实现,例如信号选择器上有“1”和“0”两种信号,则当选择信号为“1”时(即接收第四信号),默认芯片处于正常功能模式,当选择信号为“0”时(即接收第一信号),默认芯片处于调试模式。同理,2线调试模式和5线调试模式之间的切换也可以通过另一个信号选择器来实现,假设信号选择器上有“1”和“0”两种信号,当选择信号为“1”时(即接收第二信号),默认芯片处于2线调试模式,当选择信号为“0”时(即接收第三信号),默认芯片处于5线调试模式。调试模式是指通过扫描方式向SOC芯片中灌入命令和数据进行芯片验证信息操作。2线调试模式下,数据和命令由2线SWD控制器接收处理,2线SWD控制器包含有两个引脚接口;5线调试模式下,数据和命令由5线JTAG控制器接收处理,5线JTAG控制器包含有五个引脚接口。
而后进入步骤S302引脚设置单元将第一输入输出引脚和第二输入输出引脚设置为输入有效状态,第一输入输出引脚输入第一调试时钟至2线SWD控制器,第二输入输出引脚输入第一调试数据或第一调试命令至2线SWD控制器101。在本实施方式中,所述引脚设置单元为三态控制电路。三态控制电路即三态输出控制开关,其可以用于控制芯片输入输出引脚处于输入状态或者输出状态。三态输出控制开关负责根据三态控制端的控制对输出信号做出变化,当三态控制端接收到的信号为输出无效时则输出为高阻态,如果三态控制端为输出有效时则输出等于输入。
而后进入步骤S303 2线SWD控制器接收第一调试时钟,并以第一调试时钟频率运转工作,以及执行第一调试命令,对第一调试数据进行第一调试操作,得到第一输出数据。无论2线SWD控制器还是5线JTAG控制器,其在进行调试工作时,需要工作在一调试时钟频率下,且需要接收原始数据和命令,调试才能正常进行。在2线调试模式下,第一输入输出引脚与2线SWD控制器上对应的时钟接口连接,2线SWD控制器通过时钟接口来接收第一输入输出引脚传输的时钟,并工作在该时钟频率下。第二输入输出引脚与2线SWD控制器上对应的数据或命令接口连接,2线SWD控制器通过数据接口来接收第二输入输出引脚传输的数据或命令,对第一调试数据进行第一调试操作,得到第一输出数据。
而后进入步骤S304引脚设置单元将第二输入输出引脚设置为输出有效状态,2线SWD控制器将第一输出数据传输至第二输入输出引脚。当需要将第一输出数据传出时,三态输出控制开关将第二输入输出引脚调整为输出有效状态,以便2线SWD控制器将调试后的第一输出数据传出。
而后进入步骤S305模式设置单元接收第三信号,让芯片处于5线调试模式,第一输入输出引脚输入第二调试时钟至5线JTAG控制器,第二输入输出引脚输入第二调试命令至5线JTAG控制器,第三输入输出引脚输入第二调试数据至5线JTAG控制器。第二信号和第三信号的输入可以通过一信号选择器来实现,即根据信号选择器上的输入“0”还是“1”,来决定当前芯片处于5线调试模式还是2线调试模式。当芯片处于5线调试模式下,第一至第五输入输出引脚依次与5线JTAG控制器上对应的接口连接,具体为:第一输入输出引脚与5线JTAG控制器上的时钟接口连接;第二输入输出引脚与5线JTAG控制器上的命令输入接口连接;第三输入输出引脚与5线JTAG控制器上的数据输入接口连接。
而后进入步骤S306 5线JTAG控制器接收第二调试时钟,并以第二调试时钟频率运转工作,以及执行第二调试命令,对第二调试数据进行第二调试操作,得到第二输出数据。而后进入步骤S307引脚设置单元将第四输入输出引脚设置为输出有效状态,5线JTAG控制器将第二输出数据传输至第四输入输出引脚。
需要说明的是,在另一些实施例中,模式设置单元也可以先接收第三信号,让芯片处于5线调试模式;而后再接收第二信号信号,让芯片处于2线调试模式。即在调试模式的信号选择时可以从“1”开始,也可以从“0”开始。简言之,先进行2线调试模式还是5线调试模式并不固定,具体可以根据实际需要将信号选择器的信号切换在“0”还是“1”,来决定芯片线执行步骤S301至S304,还是步骤S305至S307。
上述技术方案所述的SOC芯片调试设备通过引脚设置单元来控制第一至第五输入输出引脚处于输入有效状态或输出有效状态,并通过信号选择来确定芯片处于何种模式(包括功能模式、2线调试模式和5线调试模式),并在芯片处于某一模式下时,对应调整输入输出引脚与相应的JTAG控制器或功能元件的连接关系,从而复用调试设备的引脚达到兼容2线SWD控制器和5线JTAG控制器进行调试的效果。相较于现有2线SWD控制器和5线JTAG控制器分开设置、单独进行调试的方案,节约了调试过程的硬件成本。另外,还通过检测eMMC卡槽内是否有eMMC卡插入,来决定芯片是处于功能模式还是调试模式,从而使得芯片处于功能模式下时,eMMC控制器可以复用第一至第五引脚,进行正常的eMMC卡相关功能操作,进一步降低了硬件成本。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (10)
1.一种SOC芯片调试设备,其特征在于,所述调试设备包括至少5个输入输出引脚,2线SWD控制器,5线JTAG控制器,引脚设置单元,模式设置单元;所述引脚设置单元与输入输出引脚连接;所述输入输出引脚包括第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚和第五输入输出引脚;所述2线SWD控制器分别与第一输入输出引脚、第二输入输出引脚连接,所述5线JTAG控制器分别与第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚和第五输入输出引脚连接;所述第五输入输出引脚用于对5线JTAG控制器的内部电路进行复位;
所述模式设置单元用于接收第一信号,让SOC芯片处于调试模式;还用于接收第二信号,让SOC芯片处于2线调试模式;
所述引脚设置单元用于将第一输入输出引脚和第二输入输出引脚设置为输入有效状态,所述第一输入输出引脚用于输入第一调试时钟至2线SWD控制器,所述第二输入输出引脚用于输入第一调试数据和第一调试命令至2线SWD控制器;
所述2线SWD控制器用于接收第一调试时钟,并以第一调试时钟频率运转工作,以及执行第一调试命令,对第一调试数据进行第一调试操作,得到第一输出数据;
所述引脚设置单元用于将第二输入输出引脚设置为输出有效状态,所述2线SWD控制器用于将第一输出数据传输至第二输入输出引脚;
所述模式设置单元还用于接收第三信号,让SOC芯片处于5线调试模式;所述第一输入输出引脚用于输入第二调试时钟至5线JTAG控制器,所述第二输入输出引脚用于输入第二调试命令至5线JTAG控制器,所述第三输入输出引脚用于输入第二调试数据至5线JTAG控制器;
所述5线JTAG控制器用于接收第二调试时钟,并以第二调试时钟频率运转工作,以及执行第二调试命令,对第二调试数据进行第二调试操作,得到第二输出数据;
所述引脚设置单元用于将第四输入输出引脚设置为输出有效状态,5线JTAG控制器用于将第二输出数据传输至第四输入输出引脚。
2.如权利要求1所述的SOC芯片调试设备,其特征在于,所述调试设备还包括eMMC控制器和eMMC卡槽,当检测到eMMC卡槽内置入有eMMC卡时,eMMC控制器用于发送第四信号至模式设置单元,所述模式设置单元用于控制SOC芯片处于功能模式;当检测到eMMC卡槽内没有eMMC卡时,eMMC控制器用于发送第一信号至模式设置单元,让SOC芯片处于调试模式。
3.如权利要求2所述的SOC芯片调试设备,其特征在于,所述eMMC卡的引脚接口为3个,eMMC卡分别与第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚、第五输入输出引脚中的任意三个输入输出引脚连接。
4.如权利要求2所述的SOC芯片调试设备,其特征在于,所述eMMC卡的引脚接口的数量为5个以上,所述调试设备包括的输入输出引脚数量在eMMC卡的引脚接口的数量以上。
5.如权利要求1所述的SOC芯片调试设备,其特征在于,所述引脚设置单元为三态控制电路。
6.一种SOC芯片调试方法,其特征在于,所述方法应用于SOC芯片调试设备,所述调试设备包括至少5个输入输出引脚,2线SWD控制器,5线JTAG控制器,引脚设置单元,模式设置单元;所述引脚设置单元与输入输出引脚连接;所述输入输出引脚包括第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚和第五输入输出引脚;所述2线SWD控制器分别与第一输入输出引脚、第二输入输出引脚连接,所述5线JTAG控制器分别与第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚和第五输入输出引脚连接;所述第五输入输出引脚用于对5线JTAG控制器内部电路进行复位;所述方法包括以下步骤:
模式设置单元接收第一信号,让SOC芯片处于调试模式,并接收第二信号,让SOC芯片处于2线调试模式;
引脚设置单元将第一输入输出引脚和第二输入输出引脚设置为输入有效状态,第一输入输出引脚输入第一调试时钟至2线SWD控制器,所述第二输入输出引脚用于输入第一调试数据和第一调试命令至2线SWD控制器;
2线SWD控制器接收第一调试时钟,并以第一调试时钟频率运转工作,以及执行第一调试命令,对第一调试数据进行第一调试操作,得到第一输出数据;
引脚设置单元将第二输入输出引脚设置为输出有效状态,2线SWD控制器将第一输出数据传输至第二输入输出引脚;
模式设置单元接收第三信号,让SOC芯片处于5线调试模式;所述第一输入输出引脚输入第二调试时钟至5线JTAG控制器,第二输入输出引脚输入第二调试命令至5线JTAG控制器,第三输入输出引脚输入第二调试数据至5线JTAG控制器;
5线JTAG控制器接收第二调试时钟,并以第二调试时钟频率运转工作,以及执行第二调试命令,对第二调试数据进行第二调试操作,得到第二输出数据;
引脚设置单元将第四输入输出引脚设置为输出有效状态,5线JTAG控制器将第二输出数据传输至第四输入输出引脚。
7.如权利要求6所述的SOC芯片调试方法,其特征在于,所述调试设备还包括eMMC控制器和eMMC卡槽,所述方法还包括以下步骤:
当检测到eMMC卡槽内置入有eMMC卡时,eMMC控制器发送第四信号至模式设置单元,模式设置单元控制SOC芯片处于功能模式;
当检测到eMMC卡槽内没有eMMC卡时,eMMC控制器发送第一信号至模式设置单元,让SOC芯片处于调试模式。
8.如权利要求7所述的SOC芯片调试方法,其特征在于,所述eMMC卡的引脚接口为3个,eMMC卡分别与第一输入输出引脚、第二输入输出引脚、第三输入输出引脚、第四输入输出引脚、第五输入输出引脚中的任意三个输入输出引脚连接。
9.如权利要求7所述的SOC芯片调试方法,其特征在于,所述eMMC卡的引脚接口的数量为5个以上,所述调试设备包括的输入输出引脚数量在eMMC卡的引脚接口的数量以上。
10.如权利要求6所述的SOC芯片调试方法,其特征在于,所述引脚设置单元为三态控制电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611166600.0A CN106776195B (zh) | 2016-12-16 | 2016-12-16 | 一种soc芯片调试方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611166600.0A CN106776195B (zh) | 2016-12-16 | 2016-12-16 | 一种soc芯片调试方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106776195A CN106776195A (zh) | 2017-05-31 |
CN106776195B true CN106776195B (zh) | 2018-11-27 |
Family
ID=58891900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611166600.0A Active CN106776195B (zh) | 2016-12-16 | 2016-12-16 | 一种soc芯片调试方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776195B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193705B (zh) * | 2017-06-22 | 2020-10-23 | 湖南国科微电子股份有限公司 | 一种芯片调试方法及装置 |
CN107479411B (zh) * | 2017-08-04 | 2021-04-13 | 北京嘉楠捷思信息技术有限公司 | 芯片io现场可编程控制的装置及方法 |
CN110362440B (zh) * | 2019-06-19 | 2022-06-21 | 瑞芯微电子股份有限公司 | 一种带虚拟uart的jtag调试系统 |
CN111835332B (zh) * | 2020-06-08 | 2024-06-18 | 上海美仁半导体有限公司 | 可编程芯片、解锁方法及家用电器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289419A (zh) * | 2010-06-17 | 2011-12-21 | 珠海全志科技有限公司 | 功能接口与调试接口复用的soc集成电路 |
CN103136138A (zh) * | 2011-11-24 | 2013-06-05 | 炬力集成电路设计有限公司 | 一种芯片、芯片调试方法以及芯片与外部设备通信的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100626663B1 (ko) * | 2004-12-14 | 2006-09-25 | 한국전자통신연구원 | 인터넷 전화용 시스템온칩 개발 및 검증 장치 |
US20080148343A1 (en) * | 2006-12-19 | 2008-06-19 | International Business Machines Corporation | Debugging security mechanism for soc asic |
-
2016
- 2016-12-16 CN CN201611166600.0A patent/CN106776195B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289419A (zh) * | 2010-06-17 | 2011-12-21 | 珠海全志科技有限公司 | 功能接口与调试接口复用的soc集成电路 |
CN103136138A (zh) * | 2011-11-24 | 2013-06-05 | 炬力集成电路设计有限公司 | 一种芯片、芯片调试方法以及芯片与外部设备通信的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106776195A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776195B (zh) | 一种soc芯片调试方法和设备 | |
CN106531654B (zh) | 一种芯片输入引脚测试方法和装置 | |
EP3278456B1 (en) | Method and circuits for communication in multi-die packages | |
CN103376400B (zh) | 芯片测试方法及芯片 | |
CN104471545B (zh) | 具有基于中断状态的可配置断点的装置 | |
CN101329385B (zh) | 一种片上系统的调测系统、调测方法以及片上系统 | |
CN106199393B (zh) | 一种故障检测设备及故障检测方法 | |
CN104316866B (zh) | 芯片的测试结构及测试方法 | |
CN112115664B (zh) | 一种多模式多时钟域的芯片集成控制系统 | |
US8732526B1 (en) | Single-wire data interface for programming, debugging and testing a programmable element | |
KR100462177B1 (ko) | 주변 장치의 동작 상태를 실시간으로 백업할 수 있는엠베디드 컨트롤러 | |
KR20210016271A (ko) | 자동 회로기판 테스트 시스템 및 이에 응용되는 자동 회로기판 테스트 방법 | |
CN101923897A (zh) | 半导体集成电路和用于半导体集成电路的测试方法 | |
CN102789815A (zh) | 一种用于fpga配置的prom电路架构 | |
JP2002024201A (ja) | 半導体集積回路 | |
US20090210566A1 (en) | Multi-chip digital system signal identification apparatus | |
CN106771950A (zh) | 一种用于晶圆的测试系统及其测试方法 | |
CN108431788A (zh) | 一种单板、电子设备及选通的方法 | |
CN108693466B (zh) | 一种边界扫描器件、装置及控制方法和扫描方法 | |
CN107122274B (zh) | 基于fpga重构技术的cpu测试系统及方法 | |
CN206292349U (zh) | 一种用于晶圆的测试系统 | |
CN102193898B (zh) | 电脑系统的中央处理器开核装置 | |
US20230184831A1 (en) | Server jtag component adaptive interconnection system and method | |
CN113160875B (zh) | 芯片测试系统和测试方法 | |
CN115017080A (zh) | 一种在fpga芯片内复用jtag管脚的电路及方法 |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee after: Ruixin Microelectronics Co., Ltd Address before: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee before: Fuzhou Rockchips Electronics Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |