CN100468331C - 在包括多个具有jtag能力的集成电路的系统中的代码下载 - Google Patents

在包括多个具有jtag能力的集成电路的系统中的代码下载 Download PDF

Info

Publication number
CN100468331C
CN100468331C CNB2003801071254A CN200380107125A CN100468331C CN 100468331 C CN100468331 C CN 100468331C CN B2003801071254 A CNB2003801071254 A CN B2003801071254A CN 200380107125 A CN200380107125 A CN 200380107125A CN 100468331 C CN100468331 C CN 100468331C
Authority
CN
China
Prior art keywords
data
integrated circuit
group
memory
jtag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2003801071254A
Other languages
English (en)
Other versions
CN1729452A (zh
Inventor
P·奥马图纳
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1729452A publication Critical patent/CN1729452A/zh
Application granted granted Critical
Publication of CN100468331C publication Critical patent/CN100468331C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

一个电子产品(500),包括连接到第一存储器(506)的第一集成电路(502),并至少包括一个被连接(516、518、520)第一集成电路的第二集成电路(508、512)。第一集成电路从第一存储器把诸如第一代码图像之类的信息载入第一集成电路,并运行至少一部分第一代码图像。响应于这类代码执行,第一集成电路从第一存储器读取诸如第二代码图像之类的信息并将那些信息发射到第二集成电路。在第一和第二集成电路之间用于信息发射的接口可以是诸如JTAG电路之类的测试电路(522、528、526、524)接口。在一个实施例中,用逐次连接JTAG数据和控制插脚的方法,程序代码从单个外存储器经由第一集成电路被传送到一个或多个下游集成电路。

Description

在包括多个具有JTAG能力的集成电路的系统中的代码下载
技术领域
本发明通常涉及电子系统,并尤其涉及有效地把信息加载到多个集成电路中的方法和设备,每个集成电路都需要用这类信息来执行其预定功能。
背景技术
半导体制造技术以及数字系统结构的发展已经能够设计和生产较大的集成电路,较大的集成电路较之过去能做到的而言结合了多得多的功能性。一类特殊的集成电路被称为片上系统(SoC),它至少结合了几个较大的功能块,以产生高级的功能性。这类SoC集成电路往往包括一个或多个处理器以及用于存储处理器将运行的程序代码的存储器,和一个或多个用于执行不同的高级外部功能的电路块。
SoC一般被用在包括不同的其它元件的电子产品或系统中。在一个标准方案中,SoC和SoC以外的诸如只读存储器或闪存之类的非易失性存储器被安装在诸如印刷电路板之类的基片上。在这种情况下,外部的非易失性存储器被连接到SoC,以便提供程序代码,程序代码被载入SoC以供其中集成的一个或多个处理器的后续使用。在其它方案中,程序代码存储器可以完全或部分地在SoC以外。随着电子产品变得更加复杂,把多个SoC包括在单个电子产品中的需要已经出现。
所需要的是有效地把信息载入多个集成电路的方法和设备,比如电子产品内包含的SoC。
发明内容
简言之,本发明的实施例用来把信息从单个非易失性的外存储器载入多个集成电路,其中,多个集成电路中只有一个为了存储访问而被连接到单个非易失性的外存储器。
在本发明的又一个方面中,被载入多个集成电路至少之一的信息包括程序代码,程序代码可以由那至少一个集成电路内包括的处理器来运行。
在本发明更进一步的方面中,用于把程序代码从单个外存储器经由第一集成电路传送到第二集成电路的通信路径由第一和第二集成电路中分别的测试通道组成。
附图说明
图1是一个包括多个SoC的常规电子产品的示意框图,每个SoC都被连接到单独的外部非易失性存储器芯片,程序代码从该芯片被传送到SoC。
图2是一个电子产品的高级框图,其中,单个外存储器芯片提供信息,比如根据本发明向多个SoC提供程序代码。
图3是一个电子产品的示意框图,其中,单个外存储器芯片提供信息,比如根据本发明经由JTAG机理向多个SoC提供程序代码。
图4是一个适用于本发明实施例的集成电路的示意框图,其大略地示出一个依从JTAG的集成电路,并更加特别地说明了EJTAG扩展。
图5是一个电子产品的示意框图,其中,单个外部非易失性存储器芯片提供信息,比如根据本发明经由JTAG机理向多个SoC提供程序代码,每个SoC还具有一个专用的外存储器。
图6是一个电子产品的示意框图,其中,单个非易失性的外存储器芯片提供信息,比如根据本发明经由JTAG机理向多个SoC提供程序代码,并且每个SoC都被连接到它自己的外存储器总线。
图7是一个根据本发明的说明性进程的流程图。
图8是一个根据本发明的另一个说明性进程的流程图。
具体实施方式
当那些集成电路本身是“片上系统”(SoC)种类的时候,由于有上市时间的约束条件,包括多个集成电路的电子产品正变得越来越普遍。即,通过在板级集成几个SoC而不是通过产生具有那些多个SoC的结合功能的新的ASIC(即SoC),提供某个功能性的系统解决方案现在可以更快速地实现。按照惯例,这类SoC中的每一个尤其都包括一个用于运行程序代码的处理器,和一个用于存储那个处理器将运行的程序代码的存储器。在一些常规的替换方案中,用于存储处理器将运行的程序代码的外存储器被连接到SoC。此外按照惯例,这类SoC中的每一个都必须被连接到单独的外存储器,程序代码从单独的外存储器被载入SoC。这个常规方案中的每个SoC都被连接到单独的存储器,从而相当大地增加了电子产品的成本。
通过使用一般用于系统调试操作的每个SoC上的现有通信接口,本发明的各个实施例从单个外存储器向系统中多个SoC中的每个SoC提供程序代码。在一部分实施例中,每个SoC内包括的JTAG电路被用来提供通信接口以下载代码.
在此对"一个实施例"或类似表达的引用指的是结合实施例描述的特殊特征、结构、操作或特性被包括在本发明的至少一个实施例中。从而,此处这类字句或陈述的出现一定地全部都指的是相同的实施例。此外,不同的特定特征、结构、操作、或特征可以在一个或多个实施例中用任何适当的方法被结合。
缩写ASIC指的是专用集成电路。
缩写JTAG指的是联合测试行动组。电气和电子工程师学会(IEEE)机构已经核准了IEEE标准1149.1,测试存取端口和边界扫描结构。
缩写LSI指的是大规模集成电路。
缩写NVM指的是非易失性存储器,并包括任何不施加电源来保持数据的适当的数据存储装置。非易失性存储器的例子非限制性地包括只读存储器、可编程序只读存储器、可擦可编程只读存储器、和闪存。
缩写指的是片上系统,而SoC s是多个SoC。
缩写TAP指的是测试存取端口。
MIPSEJTAG指的是硬件调试设备,其为包括嵌入MIPS结构处理器的SoC提供非插入的调试能力。一个被称为ICB的类似而替换的方案可用于ARM处理器结构。
术语芯片、半导体装置、集成电路、LSI装置、单片集成电路、ASIC、SoC、微电子器件、以及类似的表示有时在这个领域中可以互换使用。微电子器件可以被认为是包含其它的广义术语。根据这些微电子学设备,信号经由物理、电学传导的连接被耦合在它们及其它电路元件之间。连接点有时被称为输入端、输出端、终端、线路、管脚、盘、端口、接口、或类似的变形和结合。为了本公开内容的目的,这些被认为是等效的术语。
在此使用的术语下载指的是信息传送,包括但不限于从外存储器向集成电路传送程序代码,例如被直接连接或间接耦合到外存储器的SoC。
编程指令有时也被称为代码。它往往是提供诸如构造工作程序的恒定值以及编程指令之类的数据所必需的。类似的表达非限制性地包括程序代码、软件、固件、和微码。
依从JTAG的装置包括用于时钟、输入数据、输出数据和模式选择的插脚,分别相当于TCK、TDI、TDO和TMS。TCK指的是测试时钟输入,它是接收与系统时钟分离的时钟信号的依从JTAG的装置的端子。TDI指的是测试数据输入,它是数据被移动到依从JTAG的装置中所经由的端子。TDO指的是测试数据输出,它是数据被移出依从JTAG的装置所经由的终端。TMS指的是测试模式选择,它是接收数据,以用于在依从JTAG的装置将运行的一个或多个测试模式中确定测试模式的终端。依从JTAG的装置可以是任何类型的集成电路,比如微处理器、ASIC、或SoC。依从JTAG的装置还可能包括用于接收低活动复位信号的管脚,被称为TRST#。依从JTAG的装置包括边界扫描寄存器和TAP控制器。TAP控制器是控制JTAG功能的状态机。边界扫描寄存器由多个串行连接比特组成,其中,每个比特还被连接到依从JTAG的装置的数字插脚。依从JTAG的装置还可能包括其它寄存器,比如数据寄存器、指令寄存器、和旁路寄存器。
具有BJTAG的SoC使用5管脚的JTAG接口,这在IEEE1149.1JTAG标准中被规定用于和其它元件的通信。EJTAG电路还提供直接控制嵌入式处理器的行为的一个装置。
内部地,具有EJTAG的SoC尤其包括用于访问地址和数据总线的电路,这一般被嵌入式处理机、程序存储器、及其它包括在SoC内的功能块所使用。
本发明的不同实施例在生产环境中使用SoC现有的调试能力来降低包括两个或多个SoC的整个系统的总成本。通常,每个SoC都有自己的相应的外存储器来引导启动。本发明的一部分实施例将多SoC电子产品的每个SoC的代码图像存储在接口到单个SoC的单个外存储器中。每个下游SoC的代码图像从那里经由联接于外存储器的SoC和每个下游SoC之间的接口被传送。
参考图1,一个常规的电子产品100被示出。常规的电子产品100包括具有第一、第二和第三SoC104、108、112的印刷电路板102,和在其中设置的第一、第二和第三非易失性的存储器106、110、114。SoC104、108、112一般是至少具有提供运行编程指令的处理器所需电路和存储编程指令的存储器的集成电路。非易失性存储器106、110、114分别被耦合到第一、第二和第三SoC104、108、112,因此代码可能在每个分别被耦合的SoC和非易失性存储器之间被传送。可以看出,在图1的常规方法中,每个SoC都需要一个单独的非易失性存储器和一个访问那些单独的非易失性存储器的通道。这些元件以及它们需要的空间和功率增加了用这个方法构造的电子产品的制造和操作成本。
参考图2,一个根据本发明的电子产品200被示出。电子产品200包括基片202。基片202一般是一个印刷电路板,但是也可以是支持集成电路,或在其中可以设置其它元件的任何适当的材料或结构。如图2中所示,第一非易失性存储器206、第一SoC204、第二SoC208、和第三SoC210被安排在基片202上。SoC204、208、210可能具有相同的硬件设备或不同的硬件设备,尽管在典型实施例中它们具有不同的硬件设备来执行不同的功能。通过非限制性的举例来说,第一SoC可能包括用于执行电缆调制解调器接口的硬件设备,而第二SoC可能包括用于执行MPEG解码器的硬件设备。在这个说明性的例子中,SoC204、208分别包括MIPS结构处理器和EJTAG调试设备。得益于本公开内容的本领域普通技术人员应当理解,只要能提供SoC的嵌入式存储器的访问,则其它的调试设备也可以被使用。
第一非易失性存储器206和第一SoC204被连接,以便于SoC204可以访问即读取第一非易失性存储器206的内容。用另一种方式来描述,即第一SoC204包括一个连接到外存储器(即非易失性存储器206)的外存储接口。SoC204被连接到SoC208以把数据从SoC204传递到SoC208。同样地,SoC208被连接到SoC210,以把数据从SoC208传递到SoC210。这类配置允许数据(例如代码图像)将从非易失性存储器206经由外存储接口被传送到SoC204,经由外存储接口并通过SoC204被传送到SoC208,以及经由外存储接口、通过SoC204和SoC208被传送到SoC210。
参考图3,根据本发明的一个电子产品300被示出。图3的电子产品300类似于图2中示出的电子产品,但它更具体地说明了具有JTAG接口的执行过程的信号通道,JTAG接口用于把代码图像从单个外存储器传送到多个集成电路中的每一个,其中,只有多个集成电路之一被连接来读取外存储器。第一非易失性存储器206、第一SoC204、第二SoC208、以及第三SoC210被设置在基片302上。JTAG时钟、复位、及模式选择信号(TCLK、TRST#_、和TMS)被共同连接到第一、第二、和第三SoC204、208、210中的每一个。这些信号在本发明的代码下载操作中由第一SoC204驱动,然而这些信号通常为了JTAG电路的常规使用从外信号源被驱动。第一非易失性存储器206和第一SoC204被连接,以便于SoC204可以访问即读取第一非易失性存储器206的内容。SoC204被连接到SoC208,以把数据从SoC204传递到SoC208。更特别地,SoC204的输出端304通过导电通道308被连接到SoC208的输入端306。在这个说明性的实施例中,输出端304是JTAG测试数据输出(TDO)管脚,并且输入端306是JTAG测试数据输入(TDI)管脚。同样地,SoC208被连接到SoC210,以把数据从SoC208传递到SoC210。更特别地,SoC208的输出端310通过导电通路314被连接到SoC210的输入端312。在这个说明性的实施例中,输出端304是JTAG测试数据输出(TDO)管脚,并且输入端306是JTAG测试数据输入(TDI)管脚。这类配置允许数据(例如代码图像)将从非易失性存储器206经由外存储接口被传送到SoC204,经由外存储接口并通过SoC204被传送到SoC208,以及经由外存储接口、通过SoC204和SoC208被传送到SoC210。SoC208、210内部的电路控制程序代码载入例如它们的内部存储器。
仍然参考图3中示出的说明性实施例,应当指出,那里可能选择性地是在SoC210的测试数据输出管脚和SoC204的测试数据输入管脚之间的连接(未示出),以创建返回通路。这类连接准备用于需要SoC204来确定不同的下游SoC状态的情况。
参考图4,包括EJTAG功能的依从JTAG的IC的高级示意框图被示出。更具体地,SoC400被示出,它包括CPU402、调试寄存器404、用于至少存储程序代码的系统存储器406、外部功能块408、和EJTAG块410。EJTAG块410包括TAP控制器412、指令、数据、控制、和边界扫描寄存器414、直接存储器访问(DMA)模块416、和处理器存取模块418.SoC400还包括地址/数据总线420、它被连接到CPU402、调试寄存器404、系统存储器406、DMA模块416、和处理器存取模块418。应当指出:在一些实施例中,系统存储器可能没有被安置在片外;DMA模块不一定包括在所有的实施例内;并且一部分实施例可能在EJTAG电路和处理器之间包括直接控制和/或状态连接。TAP控制器412具有用于接收JTAG时钟、复位、模式选择、以及数据输入信号的输入端,并且还具有一个用于发射数据输出信号的输出端。此类方案提供了一个用于将信息传送到以及传送出系统存储器的结构。
参考图5,一个包括单个非易失性存储器和几个SoC的电子产品500的示意框图被示出,每个SoC都被连接到它自己的专用外存储器。在这个说明性的实施例中,能够作为EJTAG主装置的SoC502被连接到非易失性存储器504。SoC502另外具有一个被连接到节点522的输入终端,SoC502从节点522接收依从JTAG的使能信号。依从JTAG的使能信号结合改变JTAG主从之间的SoC操作模式被使用。NVM504可以包括将被载入电子产品500中的多个SoC的程序代码和/或其它数据。外存储器506被连接到SoC502。外存储器506尤其能够存储从NVM504下载的程序代码和数据。用图5中说明的类似方式,SoC508、512分别被连接到它们自己专用的外部存储器510、514。SoC508、512能够作为EJTAG从属装置操作。另外,用来从EJTAG主装置向BJTAG从属装置提供控制信号的通信通道516如所示地被连接在SoC502、508和512之间。应当指出,当电子产品500被适当配置运行于测试模式中时,这些控制信号(例如时钟、复位、和模式)可以从端口526由诸如测试器之类的外源来驱动。通信通道516一般用于诸如时钟信号、复位信号、和模式信号之类的信号通信。图5中还示出通道518,其用于把SoC502的测试数据输出端连接到SoC508的测试数据输入端;和通道520,其用于把SoC508的测试数据输出端连接到SoC512的测试数据输入端。应当指出,SoC512的测试数据输出可以在端口524被观察,而且SoC502的测试数据输入可以从端口528被驱动。此外应当指出,可以创建一个返回回路,将SoC512的测试数据输出连接到SoC502的测试数据输入。
在操作中,在使用包括在SoC502、508、和512内的JTAG串行数据通道的EJTAG主装置的控制之下,说明性的电子产品500可以把诸如程序代码和/或数据之类的信息从NVM504传送到专用的外部存储器506、510、和512。应当指出,在不同的实施例中,SoC502、508、和512可以分别具有结合在自身内的一定数量的存储器,并且这些内部存储器在一些实施例中还可以存储程序代码和/或数据。
参考图6,一个包括单个非易失性存储器和几个SoC的电子产品600的示意框图被示出,每个SoC都被连接到它自己的存储总线。这个可仿效的实施例说明了本发明的一个优点,其中,从存储总线除去非易失性存储器可以降低总线负载并允许被连接到存储器总线的存储装置高速运转。此类方案的另一个优点是,SoC的存储控制器逻辑电路被简化,这是因为SoC只需与RAM接口、而不需要与RAM和NVM接口(这可以具有用于存储访问的不同控制信号规范)。更特别地,SoC602被连接到能够作为EJTAG主装置的NVM604。在这个说明性的实施例中,NVM604是一个包括将是EJTAG主装置的电路的闪速存储器,即使它没有其中集成的处理器或CPU。SoC602以及SoC612并614被分别连接到存储总线606a、606b、606c。储存装置608a、610a;608b、610b;和608c、610c被示出分别耦合到存储总线606a、606b、606c。应当指出,存在市场可用的多种存储器体系结构和存储访问协议,然而储存装置608a、610a;608b、610b和608c、610c可以是任何适当的存储器,非限制性地比如,静态随机存取存储器或动态随机存取存储器。还应当指出,尽管两个存储装置被示出连接到存储总线,然而本发明不被限制在这类装置的任何特殊数量。
仍然参考图6,通信路径616被示出耦合在EJTAG主NVM604和SoC602、612、和614之间。通信路径616适合于提供控制信号,非限制性地比如时钟信号、复位信号、和模式信号。通信路径618把SoC602的测试数据输出端耦合到SoC612的测试数据输入端。通信路径620把SoC612的测试数据输出端耦合到SoC614的测试数据输入端。
应当指出,本发明可以替换地被包括在类似于图6中示出的配置中,不同之处在于,每个SoC通过公共存储总线而不是专用存储总线访问易失性存储器。
参考图7,一个根据本发明的说明性过程被示出,在第一操作702中,第一程序代码从第一存储器被传送到第一集成电路。第一存储器一般是单片,并一般也是非易失性存储器芯片,例如只读存储器(ROM)或闪存。根据本发明,第一存储器还可以被实现为可作为单个程序包或单元而被寻址的多栈存储基片。第一程序代码一般包括在第一集成电路内可由处理器来执行的多个指令。第一程序代码可能还包括数据,即不可执行信息,它们可以由第一集成电路上的处理器来使用。第一集成电路上的处理器可以是任何适当的结构。可以在根据本发明的SoC中被使用的处理器结构的例子是MIPS结构。然而,本发明不限于任何特殊的处理器结构。第一集成电路可以执行任何任意函数;可以是被称为SoC的一类集成电路;并可以是包括JTAG测试电路(例如边界扫描寄存器、TAP控制器、模式选择寄存器、旁路寄存器、等等)的一个SoC。第一IC包括一个其中可以存储程序代码的存储器(尽管上面提到,然而替换实施例在IC之外也具有这个存储器)。第一集成电路一般包括一个允许信息被传送到/出存储器的通道,比如由EJTAG电路所提供的通道。第一程序代码在第一IC中被存储704。如图7中所示,第二程序代码从第一存储器被传送到第一IC,而第二程序代码从第一IC被发射到连接到第一IC的第二IC。第二IC可以执行任何的任意函数;可以是被称为SoC的一类集成电路;并且可以是包括用于通信的JTAG测试电路接口的一个SoC。第二程序代码在第二IC中被存储710。应当指出,经由第一集成电路和任何根据本发明在中间耦合的集成电路,一个或多个辅助的集成电路可以从第一存储器接收代码。第二程序代码从第一IC发射到第二IC的过程可以通过任何适当的接口方案来完成。在本发明的一些实施例中,接口装置由包括在第一和第二集成电路内的JTAG测试电路提供。应当指出,数据传送可以但不要求用流水线方式进行,将被传送的一部分数据被移动,然后过程被重复直到所需数据已经全部被传送为止。
参考图8,根据本发明的另一个说明性的进程被示出。在第一操作802中,第一程序代码从第一存储器被传送到第一IC。第一存储器一般是单片非易失性存储器IC。第一程序代码一般包括可由第一IC内集成的处理器来执行的多个指令。第一程序代码还可包括数据。第一IC可以执行任何任意函数;可以是被称为SoC的一类集成电路;并且可以是包括JTAG测试电路的一个SoC。第一IC包括其中可以存储程序代码的一个存储器.第一程序代码被存储在第一IC中804。然后,第一IC至少运行一部分第一程序代码806。响应于在第一IC中运行至少一部分第一程序代码,第二程序代码从第一存储器被传送到第一IC。
还响应于运行至少一部分第一程序代码,第二程序代码从第一IC被发射810到连接到第一IC的第二IC。第二IC可以执行任何的任意函数;可以是被称为SoC的一类集成电路;并且可以是包括JTAG测试电路的一个SoC。在本发明的说明性实施例中,第二程序代码经由它的JTAG数据输出管脚被逐次移出第一IC,并且经由第二IC的JTAG数据输入端被逐次移入第二IC。第二程序代码被存储在第二IC中812,因此它可以由第二IC内包括的处理器来执行。应当指出,经由第一IC和任何根据本发明在中间耦合的IC,一个或多个辅助的IC可以从第一存储器接收代码。
在一个说明性的实施例中,第一IC从外存储器加载程序代码然后引导到一个状态中,它可以从那个状态开始把代码下载到一个或多个它连接的下游集成电路中(直接或间接地)。在此类实施例中,第一IC可以初始化第二IC的存储控制器,把代码下载到第二IC的存储器中,以及设置从第二IC的存储器运行的第二IC的嵌入式处理器。同样地,第一IC把代码下载到每个下游IC并起动每个下游IC。
在一个替换的说明性实施例中,在第一IC开始把代码下载到下游集成电路的进程之前,第一IC从外存储器加载程序代码但是只引导向限制范围,而不是引导向它的完全功能状态。在一个或多个下游装置已经载入程序代码之后,第一集成电路可以返回其引导操作。因为下游装置在第一IC完成其引导操作之前就已经开始了它们相应的引导操作,所以总的系统引导时间可以通过启动并行处理来降低。
在又一个替换实施例中,代码可以被同时下载到两个或多个下游装置中。
尽管已经针对具有多个包括处理器的集成电路的电子产品以及将程序代码下载到那些集成电路以由处理器执行,描述了本发明不同的说明性实施例,然而应当指出本发明具有更广泛地的适用性。例如,说明性的电子产品中的一个或多个IC
可接收数据或控制信息而不接收适于运行的程序代码。如上面提到的,根据本发明,从单个存储器接收信息的下游集成电路与另一个安排在存储器和接收信息的IC中间的IC接口。另外,尽管在本发明的说明性实施例中描述了基于JTAG的接口,然而任何适当的接口都可用于在单个外存储器和电子产品内包括的不同集成电路之间的数据传送操作。
应当指出,在本发明的不同说明性实施例中提及的单个外存储器芯片可能在其中还包括用于执行任何随机功能的电路。
本发明的不同实施例用一个新颖的方法结合了多个诸如依从JTAG的SoC之类的单独集成电路的现有硬件能力,从而提供了用于减少电子产品的尺寸、成本和功率消耗的系统和方法。
在一些实施例中,单独集成电路的JTAG调试能力在生产环境中被结合,因此系统中每个IC的代码图像都可以被存储在附着于EJTAG主起动装置的单个闪速存储器中,并且在EJTAG主装置已经被引导的时候就可以被下载到每个目标装置中。
应当理解,本发明不受限于上述的实施例,而是包含附加权利要求范围内的任何和所有实施例。

Claims (18)

1.一种从设置在基片上的第一存储器向设置在基片上的多个集成电路IC传送编程指令的方法,包括:访问(702)第一存储器的多个IC中的第一个IC检索第一组编程指令并把第一组编程指令存储(704)在多个IC的第一个IC内;和访问第一存储器的多个IC中的第一个IC检索(706)第二组编程指令并把第二组编程指令发射(708)到多个IC中的第二个IC;其中
JTAG联合测试行动组电路用于提供传送编程指令的通信接口。
2.权利要求1的方法,其中,多个IC中的第一和第二IC分别包括一个能够运行第一和第二组编程指令的处理器。
3.权利要求2的方法,还包括运行至少一部分第一组编程指令的多个IC中的第一IC。
4.权利要求3的方法,其中,在把第二组编程指令发射到多个IC中的第二IC之前,运行至少一部分第一组编程指令。
5.权利要求2的方法,还包括:访问第一存储器的多个IC中的第一IC检索第一组数据,并把第一组数据存储在多个IC中的第一IC内;和访问第一存储器的多个IC中的第一IC,检索第二组数据,并把第二组数据发射到多个IC中的第二IC。
6.权利要求3的方法,其中,基片包括一个印刷电路板。
7.权利要求3的方法,其中,发射包括串行地将数据移出第一IC和同时将数据移入第二IC。
8.权利要求7的方法,还包括在把第二组编程指令发射到多个IC中的第二IC之前,把控制信息从第一IC发射到第二IC。
9.权利要求8的方法,其中,控制信息控制多个IC中的第二IC来接收后续发射的编程指令。
10.一种从单个非易失性存储器(504)把代码下载到多个(502、508、512)IC中的每一个IC的方法,所述方法应用在一个包括多个设置在印刷电路板上的集成电路的IC系统(500)中,每个IC(502、508、512)都包括用于至少存储编程指令的存储器(506、510、514),每个IC还包括连接到存储器的用于运行存储在存储器中的编程指令的处理器;系统还包括印刷电路板上设置的并用于存储访问而仅与多个IC中的第一IC(502)耦合的单个非易失性存储器(504),所述方法包括:在多个IC中的第一IC处从单个非易失性存储器接收(802)第一组数据;把第一组数据存储(804)在多个IC中的第一IC的存储器中;在多个IC中的第一IC处从单个非易失性存储器接收第二组数据;把第二组数据从多个IC中的第一IC发射到多个IC中的第二IC;和把第二组数据存储在多个IC中的第二IC的存储器中;其中,第一和第二组数据包括程序代码;其中
JTAG联合测试行动组电路用于提供传送下载代码的通信接口。
11.权利要求10的方法,还包括:在第一IC中运行(806)第一组数据中的至少一部分程序代码;在多个IC中的第一IC处,从单个非易失性存储器接收第三组数据;把第三组数据从多个IC中的第一IC发射到多个IC中的第三IC;和把第三组数据存储在多个IC中的第三IC的存储器中。
12.权利要求10的方法,其中,从多个IC的第一IC把第二组数据发射(808)到多个IC的第二IC包括:经由输出端串行地把数据移出多个IC中的第一IC;其中,输出端被连接到多个IC中的第二IC的输入端,输入端被连接到多个IC中的第二IC内的适于接收串行数据的电路。
13.权利要求12的方法,还包括:在发射第二组数据之前,把控制信息从多个IC中的第一IC发射到多个IC中的第二IC。
14.权利要求13的方法,其中,控制信息根据通信的JTAG标准来发射。
15.一种电子产品,包括:具有第一处理器(402)、第一内部存储器(406)、第一串行通信接口(304)和外存储接口的第一集成电路(204);连接到外存储接口的外存储器(206);具有第二处理器、第二内部存储器、和被连接到第一串行通信接口(304)的第二串行通信接口(306)的第二集成电路(208);其中,第一集成电路、外存储器、和第二集成电路被设置在基片上;以及包括JTAG联合测试行动组电路,用于提供通信接口。
16.权利要求15的电子产品,其中,第一处理器(402)被连接到第一内部存储器(406),第一内部存储器适合于接收第一代码图像,第二处理器被连接到第二内部存储器,第二内部存储器适合于接收第二代码图像,并且外存储器是用第一和第二代码图像编码的非易失性存储器(206)。
17.权利要求16的电子产品,其中,第一集成电路(204)包括用于至少执行第一功能的第一硬件设备,而第二集成电路(208)包括用于至少执行第二功能的第二硬件设备,并且第一和第二功能是不同的。
18.权利要求17的电子产品,还包括第三集成电路(210),第三集成电路具有第三处理器、第三内部存储器、和被连接到第二串行通信接口的第三串行通信接口(312),第三处理器被连接到第三内部存储器,第三内部存储器适合于接收第三代码图像,并且外存储器还用第三代码图像来编码。
CNB2003801071254A 2002-12-18 2003-12-17 在包括多个具有jtag能力的集成电路的系统中的代码下载 Expired - Fee Related CN100468331C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43482202P 2002-12-18 2002-12-18
US60/434,822 2002-12-18

Publications (2)

Publication Number Publication Date
CN1729452A CN1729452A (zh) 2006-02-01
CN100468331C true CN100468331C (zh) 2009-03-11

Family

ID=32595308

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801071254A Expired - Fee Related CN100468331C (zh) 2002-12-18 2003-12-17 在包括多个具有jtag能力的集成电路的系统中的代码下载

Country Status (7)

Country Link
US (1) US20060149958A1 (zh)
EP (1) EP1576470A2 (zh)
JP (1) JP2006510967A (zh)
KR (1) KR20050088386A (zh)
CN (1) CN100468331C (zh)
AU (1) AU2003288600A1 (zh)
WO (1) WO2004055670A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4311287B2 (ja) * 2004-06-25 2009-08-12 ソニー株式会社 ブートシステム及びブート方法及びこのブート方法を用いたデータ処理装置
US9652637B2 (en) * 2005-05-23 2017-05-16 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for allowing no code download in a code download scheme
US9904809B2 (en) 2006-02-27 2018-02-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for multi-level security initialization and configuration
US9177176B2 (en) 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US9489318B2 (en) 2006-06-19 2016-11-08 Broadcom Corporation Method and system for accessing protected memory
CN101141317B (zh) * 2007-04-12 2011-11-23 中兴通讯股份有限公司 用于多jtag链的自动测试装置及方法
US7657805B2 (en) 2007-07-02 2010-02-02 Sun Microsystems, Inc. Integrated circuit with blocking pin to coordinate entry into test mode
US7870455B2 (en) * 2007-12-12 2011-01-11 Infineon Technologies Ag System-on-chip with master/slave debug interface
CN101510179B (zh) * 2009-03-17 2013-01-16 中兴通讯股份有限公司 信号传输装置及方法
EP2430528A1 (en) * 2009-05-15 2012-03-21 Thomson Licensing System and method for sharing memory
CN101930373B (zh) * 2009-06-19 2013-08-07 中兴通讯股份有限公司 一种片上系统启动的方法和装置
CN102280141B (zh) * 2010-06-10 2014-12-17 大唐移动通信设备有限公司 一种闪速存储器芯片编程方法及装置
CN102214132B (zh) * 2011-05-16 2014-07-02 曙光信息产业股份有限公司 一种调试龙芯cpu和南北桥芯片的方法和装置
CN103399771A (zh) * 2013-08-12 2013-11-20 中国航空无线电电子研究所 基于串行高速接口总线的多dsp自举加载系统及其方法
EP3891909B1 (en) * 2019-02-19 2024-10-09 Siemens Industry Software Inc. Radio equipment test device
CN113906512A (zh) * 2019-05-31 2022-01-07 美光科技公司 耦合到单片系统的存储器装置架构
CN113778538A (zh) * 2021-09-13 2021-12-10 讯牧信息科技(上海)有限公司 多处理器系统及其启动方法
US11783043B2 (en) * 2021-11-23 2023-10-10 ZT Group Int'l, Inc. Methods for authentication of firmware images in embedded systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61288262A (ja) * 1985-06-17 1986-12-18 Hitachi Ltd マルチプロセツサシステム
JP3310990B2 (ja) * 1991-04-15 2002-08-05 キヤノン株式会社 電子機器
WO1997003444A1 (en) * 1995-07-10 1997-01-30 Xilinx, Inc. System comprising field programmable gate array and intelligent memory
US6204687B1 (en) * 1999-08-13 2001-03-20 Xilinx, Inc. Method and structure for configuring FPGAS
JP2001084536A (ja) * 1999-09-17 2001-03-30 Alps Electric Co Ltd 薄膜磁気ヘッド
US6484273B1 (en) * 2000-11-29 2002-11-19 Lsi Logic Corporation Integrated EJTAG external bus interface
JP2002169787A (ja) * 2000-11-30 2002-06-14 Matsushita Electric Ind Co Ltd 複数のプロセッサ部を含む半導体装置
JP3762643B2 (ja) * 2001-01-10 2006-04-05 株式会社ケンウッド 携帯端末装置、記憶データ更新方法及びファームウェア更新方法
JP2002278783A (ja) * 2001-03-19 2002-09-27 Funai Electric Co Ltd ファームウェア書き換えシステム

Also Published As

Publication number Publication date
US20060149958A1 (en) 2006-07-06
CN1729452A (zh) 2006-02-01
JP2006510967A (ja) 2006-03-30
AU2003288600A1 (en) 2004-07-09
AU2003288600A8 (en) 2004-07-09
WO2004055670A3 (en) 2004-12-29
EP1576470A2 (en) 2005-09-21
WO2004055670A2 (en) 2004-07-01
KR20050088386A (ko) 2005-09-05

Similar Documents

Publication Publication Date Title
CN100468331C (zh) 在包括多个具有jtag能力的集成电路的系统中的代码下载
US7409612B2 (en) Testing of integrated circuits
US8065576B2 (en) Test access port
US7552370B2 (en) Application specific distributed test engine architecture system and method
US7979745B2 (en) On-chip debug emulator, debugging method, and microcomputer
KR100536393B1 (ko) 내장된 메모리 및 메모리 내장형 셀프 테스트 장치를 포함하는 집적 회로 및 그 집적 회로를 포함하는 전자 시스템 및 시스템 레벨 테스트 방법
CN113167831A (zh) 在已部署的汽车平台上执行自测的测试系统
US6584590B1 (en) JTAG port-sharing device
US7743278B2 (en) Test access control for plural processors of an integrated circuit
US7844867B1 (en) Combined processor access and built in self test in hierarchical memory systems
JP2012088321A (ja) 試験アクセス・ポート・スイッチ
US11680985B2 (en) Falling clock edge JTAG bus routers
US20240095366A1 (en) Secure boot apparatus and method
US6427216B1 (en) Integrated circuit testing using a high speed data interface bus
US7447962B2 (en) JTAG interface using existing I/O bus
CN100547425C (zh) 集成电路的测试
US20070245040A1 (en) Data storing
US6530050B1 (en) Initializing and saving peripheral device configuration states of a microcontroller using a utility program
US8176370B2 (en) Method and system for direct access memory testing of an integrated circuit
CN110717311A (zh) 一种fpga内部访问系统、fpga验证方法
US7480843B1 (en) Configuration access from a boundary-scannable device
CN114489743A (zh) 一种片上可编程系统的程序烧写及加载运行方法
JP2010032507A (ja) 標準バウンダリ・アーキテクチャ・セルを用いる非同期通信
Bonnett Design for in-system programming
JPH09160802A (ja) テスト装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20080125

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080125

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090311

Termination date: 20111217