数据处理装置的制作方法

文档序号:6553466阅读:184来源:国知局
专利名称:数据处理装置的制作方法
技术领域
本发明的一个方面涉及一种数据处理装置,该数据处理装置包括主处理器和辅处理器,辅处理器具有应用程序存储器。例如,该数据处理装置可以是蜂窝电话的多处理器系统。主处理器可以执行涉及用户控制或系统控制、或两者的多种操作。辅处理器可以执行多种数字信号处理操作,用于对接收到的信号进行解码,或者对待发送的信号进行编码,或者两者兼有。本发明的其他方面涉及一种方法下载应用程序代码的方法、计算机程序产品、以及通信设备。
背景技术
美国专利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。
输入-输出接口IO适配人接口输出信号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
...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
,这是应用程序代码的更新版本APCi+1所存储的地址A
...A[n]的范围边界。待读取的字节数NBB对应于范围A
...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+1。
以下情况可能发生在发生复位时,不需要将应用程序代码的任何更新版本存储到应用程序存储器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)而非标记,来同步主处理器和辅处理器。
对本发明而言,存在多种不同的应用。蜂窝电话仅仅是个示例。例如,本发明可应用于基站或航空领域。本发明尤其适用于具有相对复杂的嵌入式软件的多处理器应用。
存在多种依靠硬件或软件项、或两者来实现功能的方法。在这个方面,附图非常概略,每个附图只表示本发明一个可能的实施例。因此,虽然附图将不同功能示出为不同块,这决不排除单一硬件或软件项可以执行多个功能。也不排除硬件或软件项的组合可以执行一个功能。
上文所作的陈词根据附图展示了详细描述,例证而并非限制了本发明。存在落入所附权利要求的范围的多个可选实施例,权利要求中的任意附图标记不应构成对权利要求的限制。词“包括”不排除权利要求中列出的其他元素或步骤的存在。元素或步骤之前的词“一个”或“一”不排除多个这种元素或步骤的存在。
权利要求
1.一种数据处理装置(MPS),包括-主处理器(MPR),具有系统程序代码(SYS),所述系统程序代码(SYS)使主处理器将应用程序代码(APCi+1)写入共享存储器(DPRAM),而且使主处理器(MPR)将地址指示(SRC@)写入预定的存储器位置(A[k]...A[k+3]),所述地址指示(SRC@)指示出应用程序代码写入共享存储器的位置;-辅处理器(APR),具有启动程序代码(SPC),所述启动程序代码(SPC)使辅处理器从预定存储器位置取回地址指示,以便随后将所述应用程序代码从共享存储器传输到属于辅处理器的应用程序存储器(APM)。
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.如权利要求1所述的数据处理装置,其中,所述系统程序代码(SYS)使主处理器(MPR)将另外的目的地址指示(DST@)写入预定存储器位置(A[k]...A[k+3]),所述另外的地址指示指示出应该将应用程序代码(APCi+1)写入共享存储器的位置。
5.如权利要求2和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.一种在数据处理装置(MPS)中下载应用程序代码(APCi+1)的方法,所述数据处理装置(MPS)包括主处理器(MPR)和辅处理器(APR),所述方法包括以下步骤-系统程序代码执行步骤,其中,主处理器将应用程序代码写入共享存储器(DPRAM),以及,主处理器将地址指示(SRC@)写入预定存储器位置(A[k]...A[k+3]),所述地址指示(SRC@)指示出应用程序代码写入共享存储器的位置;-启动程序执行步骤,其中,辅处理器从预定存储器位置取回地址指示,以及,随后将所述应用程序代码从共享存储器传输到属于辅处理器的应用程序存储器(APM)。
9.一种用于包括主处理器(MPR)和辅处理器(APR)的数据处理装置(MPS)的计算机产品,包括-系统程序代码(SYS),在将所述系统程序代码(SYS)加载到主处理器时,所述系统程序代码(SYS)使主处理器将应用程序代码(APCi+1)写入共享存储器(DPRAM),并使主处理器将地址指示(SRC@)写入预定存储器位置(A[k]...A[k+3]),所述地址指示(SRC@)指示出应用程序代码写入共享存储器的位置;-启动程序代码(SPC),在将所述启动程序代码(SPC)加载到属于辅处理器的启动程序存储器(SPM)时,所述启动程序代码(SPC)使辅处理器从预定存储器位置取回地址指示,并随后将所述应用程序代码从共享存储器传输到属于辅处理器的应用程序存储器(APM)。
10.一种通信设备(CPH),包括如权利要求1所述的数据处理装置(MPS),以及功能上连接到所述数据处理装置的收发电路(TXC)。
全文摘要
一种数据处理装置(MPS),包括主处理器(MPR)和辅处理器(APR)。系统程序代码(SYS)使主处理器将应用程序代码(APCi+1)写入共享存储器(DPRAM)。系统程序代码还使主处理器将地址指示写入预定的存储器位置,该地址指示指示出应用程序代码写入共享存储器的位置。启动程序代码(SPC)使辅处理器从预定存储器位置取回地址指示,以便随后将应用程序代码从共享存储器传输到属于辅处理器的应用程序存储器(APM)。
文档编号G06F9/445GK101091159SQ200580045073
公开日2007年12月19日 申请日期2005年12月16日 优先权日2004年12月30日
发明者让-保罗·库皮尼, 奥利弗·米洛 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1