CN101091159B - 数据处理装置 - Google Patents

数据处理装置 Download PDF

Info

Publication number
CN101091159B
CN101091159B CN2005800450731A CN200580045073A CN101091159B CN 101091159 B CN101091159 B CN 101091159B CN 2005800450731 A CN2005800450731 A CN 2005800450731A CN 200580045073 A CN200580045073 A CN 200580045073A CN 101091159 B CN101091159 B CN 101091159B
Authority
CN
China
Prior art keywords
processor
program code
auxilliary
startup
application
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
CN2005800450731A
Other languages
English (en)
Other versions
CN101091159A (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.)
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 CN101091159A publication Critical patent/CN101091159A/zh
Application granted granted Critical
Publication of CN101091159B publication Critical patent/CN101091159B/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
    • 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/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种数据处理装置(MPS),包括主处理器(MPR)和辅处理器(APR)。系统程序代码(SYS)使主处理器将应用程序代码(APCi+1)写入共享存储器(DPRAM)。系统程序代码还使主处理器将地址指示写入预定的存储器位置,该地址指示指示出应用程序代码写入共享存储器的位置。启动程序代码(SPC)使辅处理器从预定存储器位置取回地址指示,以便随后将应用程序代码从共享存储器传输到属于辅处理器的应用程序存储器(APM)。

Description

数据处理装置 
技术领域
本发明的一个方面涉及一种数据处理装置,该数据处理装置包括主处理器和辅处理器,辅处理器具有应用程序存储器。例如,该数据处理装置可以是蜂窝电话的多处理器系统。主处理器可以执行涉及用户控制或系统控制、或两者的多种操作。辅处理器可以执行多种数字信号处理操作,用于对接收到的信号进行解码,或者对待发送的信号进行编码,或者两者兼有。本发明的其他方面涉及一种方法下载应用程序代码的方法、计算机程序产品、以及通信设备。 
背景技术
美国专利5,754,863描述了用于将程序代码下载到从微处理器的主微处理器,该从微处理器不需要包含任意指令代码的只读存储器(ROM)。在下载时,从微处理器从寄存器中读取程序指令用以执行,该寄存器是由主微处理器进行写操作的。这些指令的执行使得从微处理器将程序指令写入其随机存取存储器(RAM),随后将在正常操作中执行这些指令。从微处理器具有握手总线,该握手总线使从微处理器只在主微处理器对寄存器进行写操作之后,停止从寄存器中读取。逻辑设备,优选地为可编程阵列逻辑(PAL)设备,对地址进行解码,并为从微处理器产生“准备好”的握手总线信号。 
发明内容
根据本发明的一个方面,包括主处理器和辅处理器的数据处理装置具有以下特征。系统程序代码使得主处理器将应用程序代码写入共享存储器。系统程序代码还使得主处理器将地址指示写入预定的存储位置,该地址指示指示出应用程序代码写入共享存储器的位置。启动 程序代码使得辅处理器从预定存储器位置取回地址指示,随后将应用程序代码从共享存储器传输到应用程序存储器,该应用程序存储器属于辅处理器。 
本发明考虑了以下几个方面。在包括主处理器和辅处理器的数据处理装置中,主处理器典型地执行全局、系统相关的操作,而辅处理器典型地执行一个或多个特定的任务。应用程序定义了这些任务。典型地,应用程序是以所谓的嵌入式软件的形式存在的,该嵌入式软件是存储在辅处理器的程序存储器中的应用程序的机器代码版本。 
应用程序可以相对地比较复杂。这在辅处理器的程序存储器相对较大因此可以存储相对多的嵌入式软件的情况下,尤其正确。应用程序越复杂,早期版本越可能包括一个或多个错误,即所谓的程序错误(bug)。这在由于诸如上市时间的原因而需要在相对短的时间内开发出应用程序的情况下,尤其正确。此外,快速的市场推广增加了以下风险:只能在已经销售出相对大量的数据处理装置样本之后检测到程序错误。然而,程序错误的校正需要诸如使用更新更成熟的版本来代替应用程序的早期版本。 
可以设计数据处理装置,使得主处理器直接访问应用程序存储器,并且可以完全控制应用程序存储器。因此,主处理器可以将应用程序的新版本写入应用程序处理器,以便校正一个或多个程序错误。然而,这样的设计需要特殊的硬件和软件,并且不是很灵活。因此,该设计将相对耗时且成本较高。 
另一种解决方案是将应用程序存储在易失性存储器中,例如静态随机存取存储器。每次激活数据处理装置时,主处理器将应用程序存储在易失性存储器中。辅处理器装备了可编程逻辑阵列形式的特殊硬件,该可编程逻辑阵列使辅处理器执行主处理器所提供的连续命令。这些命令使得应用程序被存储在易失性存储器中。上述现有技术描述了这种解决方案。此解决方案需要特殊的硬件,这种硬件不是非常灵活。应用程序到易失性存储器的系统下载可使得数据处理装置变慢。而且,易失性存储器相对来说成本较高。 
根据本发明的上述方面,主处理器将应用程序代码写入共享存储 器以及,此外,将指示出应用程序代码写入共享存储器的位置的地址指示写入预定的存储器位置。启动程序代码使得辅处理器从预定存储器位置取回地址指示,随后将应用程序代码从共享存储器传输到应用程序存储器。 
典型地在复位之后执行的启动程序代码可以相对比较简单。启动程序代码检查预定存储器的位置以便查看是否存在地址指示就足够了。启动程序代码不需要预先知道所需要下载的应用程序代码存储在什么位置。如果不存在地址指示,则启动程序代码可以简单地跳转到应用程序代码。因此,启动程序代码是通用的,因此可以被用于多种数据处理装置中。可以将启动程序代码存储在相对小的只读存储器中。而且,本发明不需要非常特殊的硬件。本发明有利地使用共享存储器,该共享存储器是多处理器类型的许多数据处理装置所包括的实体。为此,本发明允许对应用程序代码的灵活且具有成本效益的升级。 
参考附图,下文将更详细地对本发明的这些和其他方面进行描述。 
附图说明
图1是示出了蜂窝电话的方框图; 
图2是示出了蜂窝电话的多处理器系统的方框图; 
图3是示出了多处理器系统中的双端口随机存取存储器的概念图。 
图4是示出了多处理器系统中的辅处理器的启动程序代码的流程图。 
具体实施方式
图1示出了蜂窝电话CPH。蜂窝电话CPH包括收发电路TXC、多处理器系统MPS、以及人接口装置HID。典型地,人接口(humaninterface)装置HID包括小扩音器、小麦克风、显示装置、以及用于拨号的数字键盘。 
多处理器系统MPS执行涉及用户或系统或两者对蜂窝电话通信 的控制的操作。例如,假设用户指示蜂窝电话CPH建立与特定电话号码的通话。例如,如果用户这样请求的话,多处理器系统MPS通过显示个人电话簿来处理这个过程。多微处理器系统MPS还执行了建立通话所需的多种操作。例如,在全球移动通信系统(GSM)中,多微处理器系统MPS典型地处理GSM系统级的操作,该操作包括信令以及时隙管理。 
在接收模式下,响应于接收到的射频信号RFR,收发电路TXC提供解调信号DS。多处理器系统MPS处理解调信号DS,该解调信号DS可以包括来自主叫方的数据,或来自基站或其它蜂窝电话网络实体的数据,或这些数据的任意组合。例如,多处理器系统MPS可以从解调信号DS中得到人接口输入信号HI。例如,人接口输入信号HI可以是小扬声器的音频信号。典型地,此解调信号的处理包括一个或多个信道解码操作以及一个或多个错误校验操作,例如维特比解码。 
在发送模式下,存在相反的信号流,该信号流以人接口输出信号HO开始。例如,多处理器系统MPS可以接收小麦克风响应于所说单词而提供的音频信号。多处理器MPS对人接口输出信号HO进行处理,以便获得调制信号MS。典型地,此调制信号的处理包括一个或多个信道编码操作以及一个或多个错误校验操作,这些操作与上文所描述的解调信号处理操作互补。收发电路TXC发射传输射频信号RFT,RFT包括调制信号MS。 
图2示出了多处理器系统MPS。该多处理器系统MPS包括主系统部分MSY以及辅系统部分ASY。主系统部分MSY执行上文中已描述的涉及用户控制以及涉及系统控制的操作。辅系统部分ASY执行上文中已描述的涉及解调信号处理以及调制信号处理的操作。例如,辅系统部分ASY可以执行维特比解码。 
主系统部分MSY包括主处理器MPR、闪存FLM、输入-输出接口IO、以及主系统总线MB。辅系统部分ASY包括辅处理器APR、应用程序存储器APM、启动程序存储器SPM、以及辅系统总线AB。主系统部分MSY和辅系统部分ASY共享两个资源:双端口随机存取存储器DPRAM和一组硬件寄存器HWR。现在对上述实体各自的功 能进行简要的描述。 
在主系统部分MSY中,主处理器MPR具有系统程序代码SYS。系统程序代码SYS定义了上文所提到的涉及用户控制和系统控制的操作。可以将主处理器MPR当作多处理器系统MPS的主体。 
闪存FLM可以存储相对大量的数据,该数据可以被包括在解调信号DS中。例如,蜂窝电话CPH可以与软件发布中心进行通信,以便通过蜂窝电话网络下载软件程序。将所下载的软件程序存储在闪存FLM中。 
主系统总线MB允许主处理器MPR、闪存FLM、以及输入-输出接口IO互相通信。主系统总线MB还允许上述实体访问双端口随机存取存储器DPRAM以及一组硬件寄存器HWR。 
输入-输出接口1O适配人接口输出信号HO,使得可以通过主系统总线MB来传输此信号。相反地,输入-输出接口IO适配主总线信号,使得此信号构成具有特殊格式的人接口输入信号HI。输入-输出接口IO对解调信号DS和调制信号MS进行了相似的适配。 
在辅系统部分ASY中,启动程序存储器SPM包括启动程序代码SPC,响应于复位信号或等效信号,辅处理器APR执行该启动程序代码。优选地,启动程序代码SPC在以下意义上是固定的:在多处理器系统MPS的使用寿命期间该启动程序代码不发生变化。因此,启动程序存储器SPM可以是非可再编程只读存储器(ROM)的形式。 
应用程序存储器APM用于存储应用程序代码APCi。在多处理器系统MPS的使用寿命期间需要对应用程序代码APCi进行一次或多次更新。即,应用程序存储器APM中现有的应用程序代码APCi的版本需要由更新的版本APCi+1来代替。因此,与启动程序存储器SPM相比,应用程序存储器APM需要是可再编程的。例如,应用程序存储器APM可以是电可擦除可编程只读存储器(EEPROM)的形式,EEPROM是非易失性存储器。 
辅系统总线AB允许辅处理器APR、启动程序存储器SPM、以及应用程序存储器APM互相通信。辅系统总线AB还允许上述实体访问双端口随机存取存储器DPROM以及一组硬件寄存器HWR。辅系 统总线AB可以具有不同于主系统总线MB的属性,例如在数据宽度以及数据传输速度方面的属性。在该方面,应注意的是,主系统部分MSY和辅系统部分ASY可以具有不同的系统时钟。每个部分以其自身的步调进行操作以及通信。 
双端口随机存取存储器DPRAM允许主系统部分MSY和辅系统部分ASY之间的数据交换。每个部分可以单独地访问双端口随机存取存储器DPRAM。例如,主系统部分MSY可以使得数据从闪存FLM传输到双端口随机存取存储器DPRAM。随后,辅系统部分ASY可以原样获得主处理器MPR放置在双端口存取存储器中的数据。例如,辅系统部分ASY可以将数据传输到应用程序存储器APM或连接到辅系统总线AB的任意其他可编程存储器。 
该组硬件寄存器HWR允许辅系统部分ASY向主系统部分MSY发送信号来通知特定事件,反之亦然。例如,可以将这种信号通知用于实现同步。如图2所示,该组硬件寄存器HWR包括硬标记HFL。辅处理器APR可以设置此硬标记HFL。当设置了硬标记HFL时,主处理器MPR接收到中断。因此,硬标记HFL允许辅处理器APR向主处理器MPR提出中断。 
多处理器系统MPR可以作为所谓的片上系统来实现,片上系统基于上文中所描述的多种实体的现有集成电路设计。对这些现有集成电路设计进行组合。如果需要的话,设计者可以改变现有集成电路设计。这可以进行相对快速的设计,因为只有相对少的电路必须从零开始设计并测试。 
在下文的描述中,假设蜂窝电话CPH接收到应用程序代码的更新版本APCi+1。该更新版本暂时存储在闪存FLM中。已经检测到接收到了更新版本的主处理器MPR将应用程序代码的更新版本APCi+1传输到双端口随机存取存储器DPRAM。 
图3示出了双端口随机存取存储器DPRAM。双端口随机存取存储器DPRAM包括上文中所提到的应用程序代码的更新版本APCi+1。将该更新版本存储在A[0]...A[n]的地址范围内。双端口随机存取存储器DPRAM还包括软标记SFL,该软标记SFL存储在地址A[m]。 
存在被特别分配用于存储辅处理器APR的数据的4个地址A[k]...A[k+3]。更具体地,A[k]被分配用于存储辅处理器APR的命令CMD。其他3个地址A[k+1]...A[k+3]被分配用于存储命令CMD的属性。例如,读命令可以具有以下属性:要读取的数据的开始地址SRC@、要读取的字节数NBB、以及应该将已读取的数据写入的目的地址DST@。图3示出了这些属性,双端口随机存取存储器DPRAM分别将这些属性存储在地址A[k+3]、A[k+2]以及A[k+1]下。 
图4示出了启动程序代码SPC,该启动程序代码存储在属于辅处理器APR的启动程序存储器SPM中。该启动程序代码SPC使得辅处理器APR执行各种操作。图4以一连串步骤ST1-ST10的形式示出了这些操作。响应于复位信号,辅处理器APR将执行启动程序代码SPC,该复位信号是从上文所提到的主处理器MPR产生的。 
步骤ST1标志了启动程序代码SPC的开始,该启动程序代码SPC存储在启动程序存储器SPM的开始地址。辅处理器ARP已经检测到复位信号或与其等效的信号(RST-APR)。作为响应,具有程序计数器的辅处理器APR将程序计数器设置为启动程序存储器SPM的开始地址。 
在步骤ST2,辅处理器APR执行各种初始化操作(INIT),这些操作典型地包括在重新启动过程中。例如,辅处理器APR可以将各种内部寄存器设置为所需要的初始状态。 
在步骤ST3,辅处理器APR在双端口随机存取存储器DPRAM中设置软标记SFL(ST[SFL])。主处理器MPR定期检查软标记SFL,以便检测辅处理器APR是否已经设置了该软标记SFL。当设置了软标记SFL时,主处理器MPR将此解译为辅处理器APR已经开始执行启动程序代码SPC的信号。随后,主处理器MPR清除软标记SFL。这作为信号通知了辅处理器APR:主处理器MPR知道了辅处理器APR执行启动程序代码SPC。 
在步骤ST4,辅处理器APR检查主处理器MPR是否已经清除了软标记SFL(SFL=CLR?)。在主处理器MPR尚未清除软标记SFL(N)时,辅处理器APR重新执行步骤ST4。因此,辅处理器APR保持在 等待循环中,直到主处理器MPR已经清除了软标记SFL为止。在步骤ST4,当辅处理器APR检测到主处理器MPR已经清除了软标记SFL(Y)时,辅处理器APR离开此等待循环。 
在步骤ST5,辅处理器APR在该组硬件寄存器HWR中设置硬标记HFL(ST[HFL])。结果,如上文所述,主处理器MPR从存储硬标记HFL的硬件寄存器接收到中断信号。主处理器MPR将此中断信号解译成对于辅处理器APR所需要的命令的请求。作为响应,主处理器MPR可以将命令写入地址A[k]。此外,主处理器MPR可以将一个或多个属性写入己分配给该目的的其他3个地址A[k+1]...A[k+3]。随后,主处理器MPR清除已经产生了中断信号的硬标记HFL。这作为信号通知了辅处理器APR:所请求的命令存在于双端口随机存取存储器DPRAM的预定位置中,该预定位置是包括属性的地址A[k+1]...A[k+3]。 
在步骤ST6,辅处理器APR检查主处理器MPR是否已清除了硬标记HFL(HFL=CLR?)。在主处理器MPR尚未清除硬标记HFL(N)时,辅处理器APR重新执行步骤ST6。因此,辅处理器APR保持在等待循环中,直到主处理器MPR已经清除了硬标记HFL为止。在步骤ST6中,当辅处理器APR检测到主处理器MPR已经清除了硬标记HFL(Y)时,辅处理器APR离开此等待循环。 
在步骤ST7,辅处理器APR读取存储在双端口随机存取存储器DPRAM的地址A[k]...A[k+3](RD{A[k]...A[k+4]})中的数据。若有的话,该数据是主处理器MPR在请求时所存储的命令和输入。图3示出了此数据。例如,辅处理器APR将命令和属性存储在构成辅处理器APR的一部分的内部寄存器中。 
在步骤ST8,辅处理器APR检查了该命令是否为跳转命令(CMD=JMP?)。如果该命令不是跳转命令(N),则在步骤9,辅处理器APR执行该命令,随后,重新执行步骤ST5。在该命令是跳转命令(Y)的情况下,在步骤10,辅处理器APR执行该跳转命令(EXE[JMP])。这标志了启动程序代码SPC执行的结束。例如,该跳转命令可以具有由主处理器MPR存储在地址A[k+1]的跳转地址属性。 该跳转地址属性可以指定应用程序代码APC的更新版本的开始地址。在该情况下,在步骤10之后,辅处理器APR开始执行应用程序代码的更新版本APCi+1。图4示出了此步骤。 
步骤ST5-ST9构成了命令执行循环。辅处理器APR保持在此命令执行循环中,直到辅处理器APR接收到跳转命令为止。在每次辅处理器APR经过命令执行循环时,辅处理器APR请求主处理器MPR提供命令。此请求发生在步骤ST5。步骤ST6与步骤ST5结合,在主处理器MPR和辅处理器APR之间提供了适当的同步。步骤ST8构成了命令拾取操作。步骤ST8和ST9构成了命令执行操作。 
如图4所示,主处理器MPR的系统程序代码SYS与启动程序代码SPC互补。例如,系统程序代码SYS可以使主处理器MPR在特定事件发生时将复位信号应用于辅处理器APR。这将发起启动程序代码SPC的执行。如上文参考图4所述的,系统程序代码SYS使主处理器MPR检查软标记SFL。在已经设置了软标记SFL时,系统程序代码SYS使主处理器MPR关于启动程序代码SPC采取适当行动。这些操作(参考图4,在上文中已描述)包括将命令和属性(若有的话)写入双端口随机存取存储器DPRAM。 
图4所示的启动程序代码SPC以及作为互补的系统程序代码SYS允许应用程序代码的更新版本APCi+1的相对简单且灵活的下载。例如,在主处理器MPR已经将应用程序代码的更新版本APCi+1写入了双端口随机存取存储器DPRAM(如图3所示)时,主处理器MPR将复位信号应用于辅处理器APR。作为响应,辅处理器APR将如图4所示,执行启动程序代码SPC。 
在启动程序代码SPC的执行中,当辅处理器APR第一次执行步骤ST5时,主处理器MPR可以采取以下行动。主处理器MPR将读命令写入地址A[k],并且将目的地址DST@、待读取的字节数NBB、以及开始地址SRC@分别写入地址A[k+1]、A[k+2]、A[k+3]中。图3示出了此示例。 
参照图3,开始地址SRC@是双端口随机存取存储器DPRAM的地址A[0],这是应用程序代码的更新版本APCi+1所存储的地址 A[0]...A[n]的范围边界。待读取的字节数NBB对应于范围A[0]...A[n]中所包括的地址数。目的地址DST@是应用程序存储器APM中应存储应用程序代码的更新版本APCi+1的第一个代码的地址。因此,如图2所示,读命令使得辅处理器APR将应用程序代码的更新版本APCi+1从双端口随机存取存储器DPRAM传输到应用程序存储器APM。 
在启动程序代码SPC的执行中,当辅处理器APR第二次执行步骤ST5时,主处理器MPR可以采取以下行动。主处理器MPR将跳转命令写入地址A[k],并将跳转地址写入地址A[k+1]。跳转命令与上述的目的地址DST@相对应,该目的地址DST@是读命令的属性。因此,该跳转命令使得辅处理器APR跳转到应用程序存储器APM中存储了应用程序代码的更新版本APCi+1的第一个代码的地址。辅处理器APR执行该第一个代码,并继续执行被写入应用程序存储器的更新版本中的其他代码。因此,辅处理器APR将立即运行应用程序代码的更新版本APCi+l。 
以下情况可能发生:在发生复位时,不需要将应用程序代码的任何更新版本存储到应用程序存储器APM。在该情况下,在启动程序代码SPC的执行中,当辅处理器在复位之后第一次执行步骤ST5时,主处理器MPR可以采取以下行动。主处理器MPR将跳转指令写入地址A[k]。该跳转指令具有作为属性的跳转地址。该跳转地址是应用程序存储器APM中先前存储了应用程序代码APC的最新版本的第一个代码的地址。在这个示例中,启动程序代码SPC的执行不包括通过双端口随机存取存储器DPRAM的任何数据传输。 
总结陈词 
根据附图,上文的详细描述说明了权利要求1中所引述的以下特征。数据处理装置(MPS)包括主处理器(MPR)和辅处理器(APR)。系统程序代码(SYS)使主处理器将应用程序代码(APCi+1)写入共享存储器(DPRAM)。系统程序代码还使主处理器将地址指示(SRC@)写入预定存储器位置(A[k]...A[k+3]),该地址指示指示出 在共享存储器中写入应用程序代码的位置。启动程序代码(SPC)使辅处理器从预定存储器位置取回地址指示,以便随后将应用程序代码从共享存储器传输到属于辅处理器的应用程序存储器(APM)。 
上文的详细描述还说明了权利要求2中所引述的以下可选特征。系统程序代码(SYS)使主处理器(MPR)将与地址指示(SRC@)相关的指令(CMD)写入预定存储器位置(A[k]...A[k+3])。辅处理器(APR)的启动程序代码(SPC)使辅处理器从预定存储器位置读取与地址指示相关的指令,以便执行此指令(如图4所示,这发生在步骤ST7-ST9中)。这些特征使启动程序代码具有更加通用的性质,这进一步有助于成本效益和灵活性。 
上文的详细描述还说明了权利要求3中所引述的以下可选特征。启动程序代码(SPC)使辅处理器(APR)提供中断信号(如图4所示,这发生在步骤ST5中)。,系统程序代码(SYS)使主处理器(MPR)通过将指令(CMD)以及与其相关的地址指示(SRC@)写入预定存储器位置(A[k]...A[k+3]),来响应该中断信号。这些特征使启动程序代码具有更通用的性质,这进一步有助于成本效益和灵活性。 
上文的详细描述还说明了权利要求4中所引述的以下可选特征。系统程序代码(SYS)使主处理器(MPR)将另外的目的地址指示(DST@)写入预定存储器位置(A[k]...A[k+3])。该另外的地址指示指示出应该将应用程序代码(APCi+1)写入应用程序存储器的位置。这些特征使启动程序代码具有更通用的性质,这进一步有助于成本效益和灵活性。 
上文的详细描述还说明了权利要求5中所引述的以下可选特征。系统程序代码(SYS)使主处理器(MPR)将跳转指令写入预定存储器位置(A[k]...A[k+3])。此跳转指令与另外的地址指令(DST@)相关。此跳转指令使辅处理器(APR)通过启动程序代码(SPC)来执行辅处理器已经写入应用程序存储器(APM)的应用程序代码(APCi+1)(如图4所示,这发生在步骤ST7-ST10中)。这些特征使启动程序代码具有更通用的性质,这进一步有助于成本效益和灵活性。 
上文的详细描述还说明了权利要求6中所引述的以下可选特征。 启动程序代码(SPC)包括初始指令(ST[SFL],在如图4所示的步骤ST3处执行),该初始指令使辅处理器(APR)提供启动开始信号(设置了软标记SFL),该启动开始信号通知主处理器(MPR):辅处理器已经开始执行启动程序代码。这些特征使得主处理器和辅处理器所执行的对应操作之间适当同步。 
上文的详细描述还说明了权利要求7中所引述的以下可选特征。启动程序代码(SPC)使主处理器(MPR)提供启动持续代码(清除软标记SFL)。启动持续信号通知辅处理器(APR):主处理器已经接收到启动开始信号,并且主处理器已经将地址指示(SRC@)写入了预定存储器位置。在启动开始信号之后,启动程序代码(SPC)使辅处理器(APR)处于等待模式(如图4所示,这发生在步骤ST6中)。辅处理器保持在等待模式,直到接收到启动持续信号为止。 
上述特征可以通过多种不同的方式来实现。为说明此,简要地指示一些可选项。 
共享存储器可以是除双端口随机存取存储器以外的存储器,双端口随机存取存储器仅仅是一个示例。例如,共享存储器可以是使用直接存储存取(DMA)机制的存储器。所下载的应用程序代码可以只代替之前存储在应用程序存储器中的早期应用程序代码的一部分。即,本发明可用于只更换一些需要调试的指令。可以依靠一个或多个信号量(semaphore)而非标记,来同步主处理器和辅处理器。 
对本发明而言,存在多种不同的应用。蜂窝电话仅仅是个示例。例如,本发明可应用于基站或航空领域。本发明尤其适用于具有相对复杂的嵌入式软件的多处理器应用。 
存在多种依靠硬件或软件项、或两者来实现功能的方法。在这个方面,附图非常概略,每个附图只表示本发明一个可能的实施例。因此,虽然附图将不同功能示出为不同块,这决不排除单一硬件或软件项可以执行多个功能。也不排除硬件或软件项的组合可以执行一个功能。 
上文所作的陈词根据附图展示了详细描述,例证而并非限制了本发明。存在落入所附权利要求的范围的多个可选实施例,权利要求中 的任意附图标记不应构成对权利要求的限制。词“包括”不排除权利要求中列出的其他元素或步骤的存在。元素或步骤之前的词“一个”或“一”不排除多个这种元素或步骤的存在。 

Claims (11)

1.一种数据处理装置(MPS),包括:
-主处理器(MPR),具有系统程序代码(SYS),在需要更换应用程序代码(APCi)时,所述系统程序代码(SYS)使主处理器将更新的应用程序代码(APCi+1)写入共享存储器(DPRAM),而且使主处理器(MPR)将地址指示(SRC@)写入共享存储器的预定存储器位置(A[k]...A[k+3]),其中所述地址指示(SRC@)指示出应用程序代码写入共享存储器的位置,在不需要更换所述应用程序代码(APCi)时,使主处理器将以跳转地址作为属性的跳转指令写入共享存储器的所述预定存储器位置(A[k]...A[k+3]);
-辅处理器(APR),具有启动程序代码(SPC),所述启动程序代码(SPC)使辅处理器从共享存储器的所述预定存储器位置取回地址指示,以便随后将所述应用程序代码从共享存储器传输到属于辅处理器的应用程序存储器(APM),其中如果在共享存储器的所述预定存储器位置(A[k]...A[k+3])中没有地址指示(SRC@),则所述启动程序代码(SPC)使所述辅处理器(APR)根据所述跳转指令跳转到所述应用程序存储器(APM)中存在的所述应用程序代码(APCi)。
2.如权利要求1所述的数据处理装置,其中,所述系统程序代码(SYS)使主处理器(MPR)将与地址指示(SRC@)相关的指令(CMD)写入共享存储器的所述预定存储器位置(A[k]...A[k+3]),以及其中,辅处理器(APR)的启动程序代码(SPC)使辅处理器从共享存储器的所述预定存储器位置读取与地址指示相关的指令,以便执行该地址指示相关的指令。
3.如权利要求2所述的数据处理装置,其中,所述启动程序代码(SPC)使辅处理器(APR)提供中断信号,以及其中,所述系统程序代码(SYS)使主处理器(MPR)通过将地址指示相关的指令(CMD)以及与该地址指示(SRC@)写入共享存储器的所述预定存储器位置(A[k]...A[k+3])来响应所述中断信号。
4.如权利要求I所述的数据处理装置,其中,所述系统程序代码(SYS)使主处理器(MPR)将另外的地址指示(DST@)写入共享存储器的所述预定存储器位置(A[k]...A[k+3]),所述另外的地址指示指示出应该将应用程序代码(APCi+1)写入应用程序存储器的位置。
5.如权利要求4所述的数据处理装置,其中,所述系统程序代码(SYS)使主处理器(MPR)将跳转指令写入共享存储器的所述预定存储器位置(A[k]...A[k+3]),所述跳转指令与所述另外的地址指示(DST@)相关,所述跳转指令使辅处理器(APR)通过启动程序代码(SPC)来执行辅处理器已经写入应用程序存储器(APM)的应用程序代码(APCi+1)。
6.如权利要求1所述的数据处理装置,其中,所述启动程序代码(SPC)包括初始指令(ST[SFL]),所述初始指令(ST[SFL])使辅处理器(APR)提供启动开始信号,所述启动开始信号通知主处理器(MPR):辅处理器已经开始执行启动程序代码。
7.如权利要求6所述的数据处理装置,其中,所述系统程序代码(SPC)使主处理器(MPR)提供启动持续信号,所述启动持续信号通知辅处理器(APR):主处理器已经接收到启动开始信号,并且主处理器已经将地址指示(SRC@)写入了共享存储器的预定存储器位置,以及其中,在启动开始信号之后,所述启动程序代码(SPC)使辅处理器(APR)处于等待模式,辅处理器保持在等待模式中,直到接收到启动持续信号为止。
8.如权利要求1所述的数据处理装置,其中,所述应用程序存储器(APM)是电可擦除可编程只读存储器。
9.如权利要求1和2之一所述的数据处理装置,其中,所述主处理器(MPR)和所述辅处理器(APR)共享包括硬标记(HFL)的硬件寄存器(HWR),硬标记由所述辅处理器(APR)设置以提供中断信号。
10.一种在数据处理装置(MPS)中下载和/或运行应用程序代码(APCi,APCi+1)的方法,所述数据处理装置(MPS)包括主处理器(MPR)和辅处理器(APR),所述方法包括以下步骤:
-系统程序代码执行步骤,其中,在需要更换应用程序代码(APCi)时,主处理器将更新的应用程序代码(APCi+1)写入共享存储器(DPRAM),以及,主处理器将地址指示(SRC@)写入共享存储器的预定存储器位置(A[k]...A[k+3]),其中所述地址指示(SRC@)指示出应用程序代码写入共享存储器的位置,在不需要更换所述应用程序代码(APCi)时,主处理器将以跳转地址作为属性的跳转指令写入共享存储器的所述预定存储器位置(A[k]...A[k+3]);
-启动程序执行步骤,其中,辅处理器从共享存储器的所述预定存储器位置取回地址指示,以及,随后将所述应用程序代码从共享存储器传输到属于辅处理器的应用程序存储器(APM),如果在共享存储器的所述预定存储器位置(A[k]...A[k+3])中没有地址指示(SRC@),则所述辅处理器(APR)根据所述跳转指令跳转到所述应用程序存储器(APM)中存在的所述应用程序代码(APCi)。
11.一种通信设备(CPH),包括:如权利要求1所述的数据处理装置(MPS),以及功能上连接到所述数据处理装置的收发电路(TXC)。
CN2005800450731A 2004-12-30 2005-12-16 数据处理装置 Expired - Fee Related CN101091159B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04300954 2004-12-30
EP04300954.7 2004-12-30
PCT/IB2005/054286 WO2006070306A1 (en) 2004-12-30 2005-12-16 Data-processing arrangement

Publications (2)

Publication Number Publication Date
CN101091159A CN101091159A (zh) 2007-12-19
CN101091159B true CN101091159B (zh) 2011-02-23

Family

ID=36178169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800450731A Expired - Fee Related CN101091159B (zh) 2004-12-30 2005-12-16 数据处理装置

Country Status (4)

Country Link
US (1) US8019985B2 (zh)
EP (1) EP1834235A1 (zh)
CN (1) CN101091159B (zh)
WO (1) WO2006070306A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510160B (zh) * 2009-03-26 2013-10-16 北京中星微电子有限公司 嵌入式设备应用功能的程序运行控制方法及嵌入式设备
US8234487B2 (en) * 2010-04-30 2012-07-31 Kabushiki Kaisha Toshiba Server apparatus and startup control method
CN103186501A (zh) * 2011-12-29 2013-07-03 中兴通讯股份有限公司 一种多处理器共享存储方法及系统
CN105808361B (zh) * 2016-01-20 2019-01-29 大连优弈数据科技有限公司 一种并行数据处理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0581698A1 (en) * 1992-07-28 1994-02-02 Eastman Kodak Company Programmable microprocessor booting technique
US5497497A (en) * 1989-11-03 1996-03-05 Compaq Computer Corp. Method and apparatus for resetting multiple processors using a common ROM

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE757606A (fr) * 1969-10-21 1971-04-01 Western Electric Co Systeme de traitement de donnees
US4707803A (en) * 1985-06-17 1987-11-17 International Business Machines Corporation Emulator for computer system input-output adapters
US5297260A (en) * 1986-03-12 1994-03-22 Hitachi, Ltd. Processor having a plurality of CPUS with one CPU being normally connected to common bus
DE3639571A1 (de) * 1986-11-20 1988-06-01 Standard Elektrik Lorenz Ag Verfahren und schaltungsanordnung zum urladen eines zweitrechners
JP3310990B2 (ja) * 1991-04-15 2002-08-05 キヤノン株式会社 電子機器
US5754863A (en) * 1995-01-20 1998-05-19 Redcom Laboratories, Inc. System for downloading program code to a microprocessor operative as a slave to a master microprocessor
US6167494A (en) * 1998-04-28 2000-12-26 International Business Machine Corporation Method and system for recovering from operating system failure
WO2001027753A2 (en) * 1999-10-12 2001-04-19 Scientific-Atlanta, Inc. Method and apparatus for loading software into a plurality of processors
JP4908665B2 (ja) * 2000-02-02 2012-04-04 キヤノン株式会社 プロセッサシステム及びその起動方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497497A (en) * 1989-11-03 1996-03-05 Compaq Computer Corp. Method and apparatus for resetting multiple processors using a common ROM
EP0581698A1 (en) * 1992-07-28 1994-02-02 Eastman Kodak Company Programmable microprocessor booting technique

Also Published As

Publication number Publication date
US8019985B2 (en) 2011-09-13
EP1834235A1 (en) 2007-09-19
CN101091159A (zh) 2007-12-19
WO2006070306A1 (en) 2006-07-06
US20090077364A1 (en) 2009-03-19

Similar Documents

Publication Publication Date Title
US8539471B2 (en) Updating firmware of an electronic device
US6668261B1 (en) Method of upgrading a program using associated configuration data
US8612961B2 (en) System and method for downloading software upgrades
US20110283274A1 (en) Firmware image update and management
US20100023602A1 (en) Method and apparatus for updating information on an embedded system
US20070186092A1 (en) Multiprocessor system and boot-up method of slave system
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、系统和方法
JPS60116019A (ja) データプロセツサにおいて、パワーダウン命令を選択的に使用禁止にする方法及び装置
CN101091159B (zh) 数据处理装置
JP2009514084A (ja) リセット装置を具えたデータ処理装置
CN110007935B (zh) 一种程序升级的处理方法、装置及设备
CN114443083B (zh) 系统升级方法、装置、电子设备及存储介质
JP2005500604A (ja) 移動端末機におけるモデムとメモリとの間のインターフェース装置及び方法
JP2005500604A6 (ja) 移動端末機におけるモデムとメモリとの間のインターフェース装置及び方法
JP2002207599A (ja) 通信端末及びそのソフトウェア更新システム
CN114253890A (zh) 通信模组及其外部接口配置方法、配置装置和存储介质
CN112905207A (zh) Ecu数据刷写方法、ecu数据刷写装置、车载终端及介质
US20060156301A1 (en) Method for recovering from download failure of program and portable terminal employing the method
CN103677938A (zh) 一种紧急下载方法及其装置
KR100595198B1 (ko) 이동통신 단말기에서의 에러 처리방법 및 장치
JP2002076979A (ja) 無線装置
KR20040076915A (ko) 디지털 시그널 프로세서의 실시간 디버깅 방법
KR100233670B1 (ko) 스마트폰에서 자동 시간 설정방법
KR20040087583A (ko) 이동 통신 단말기의 초기화 데이터 복구 방법
CN117407023A (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
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

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

Effective date: 20080516

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

Effective date of registration: 20080516

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: 20110223

Termination date: 20121216