CN106843918B - 对嵌入式系统进行程序更新的方法 - Google Patents

对嵌入式系统进行程序更新的方法 Download PDF

Info

Publication number
CN106843918B
CN106843918B CN201611010997.4A CN201611010997A CN106843918B CN 106843918 B CN106843918 B CN 106843918B CN 201611010997 A CN201611010997 A CN 201611010997A CN 106843918 B CN106843918 B CN 106843918B
Authority
CN
China
Prior art keywords
chip
fpga
arm
dsp
storage unit
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
Application number
CN201611010997.4A
Other languages
English (en)
Other versions
CN106843918A (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.)
Beijing Jingdong Qianshi Technology Co Ltd
Original Assignee
Beijing Jingdong Qianshi Technology Co Ltd
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 Beijing Jingdong Qianshi Technology Co Ltd filed Critical Beijing Jingdong Qianshi Technology Co Ltd
Priority to CN201611010997.4A priority Critical patent/CN106843918B/zh
Publication of CN106843918A publication Critical patent/CN106843918A/zh
Application granted granted Critical
Publication of CN106843918B publication Critical patent/CN106843918B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种对包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系统进行程序更新的方法。其中,FPGA芯片分别与ARM芯片和DSP芯片相连,FPGA芯片和DSP芯片之一连接到第一存储单元,该第一存储单元存储有FPGA芯片和DSP芯片的程序,所述ARM芯片连接到第二存储单元,该第二存储单元存储有ARM芯片的程序,所述方法包括通过串行数据接口执行以下步骤:向FPGA芯片发送针对ARM芯片、DSP芯片和/或FPGA芯片的升级指令;从FPGA芯片接收针对所述升级指令的响应;向FPGA芯片发送针对ARM芯片、DSP芯片和/或FPGA芯片的更新数据,其中,对FPGA芯片和DSP芯片的程序更新与对ARM芯片的程序更新是并行的。

Description

对嵌入式系统进行程序更新的方法
技术领域
本发明涉及嵌入式硬件领域,具体地涉及对包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系统进行程序更新的方法。
背景技术
在嵌入式硬件领域,基于ARM(低成本RISC微处理器)、DSP(数字信号处理器)、FPGA(现场可编程逻辑阵列)的硬件结构有着广泛的应用。在一些复杂的应用场合中,三种硬件能够优势互补,共同完成特定的复杂功能。举例来讲,在一些组合导航控制系统中,可以用ARM实现惯性测量单元的数据采集、标定、补偿,用DSP实现组合导航和控制算法,以及用FPGA实现各种外部接口。通常情况下,通过这三者各自的JTAG接口将它们的程序数据下载到FLASH芯片中。但在有些场合,当产品封装并交付使用后,通过JTAG接口更新程序数据就变的比较困难,尤其是ARM/DSP/FPGA联合使用的场合,可能会同时需要三个JTAG接口,这是不期望的。此外,在产品调试过程中,JTAG接口可能并不方便使用。因此,期待一种能够对三者的程序数据方便地进行更新升级的方法。
发明内容
为了解决现有技术中存在的上述问题,本发明提出了一种对包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系统进行程序更新的方法。
根据本发明的一个方面,提出了一种对包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系统进行程序更新的方法。在所述嵌入式系统中,FPGA芯片分别与ARM芯片和DSP芯片相连,FPGA芯片和DSP芯片之一连接到第一存储单元,该第一存储单元存储有FPGA芯片和DSP芯片的程序,所述ARM芯片连接到第二存储单元,该第二存储单元存储有ARM芯片的程序。所述方法包括通过串行数据接口执行以下步骤:向FPGA芯片发送针对ARM芯片、DSP芯片和/或FPGA芯片的升级指令;从FPGA芯片接收针对所述升级指令的响应;向FPGA芯片发送针对ARM芯片、DSP芯片和/或FPGA芯片的更新数据,其中,对FPGA芯片和DSP芯片的程序更新与对ARM芯片的程序更新是并行的。
在一个实施例中,如果所述第一存储单元连接FPGA芯片,则所述方法包括:通过串行数据接口向FPGA芯片发送升级指令,并使得所述FPGA芯片将所述升级指令转发到ARM芯片;通过串行数据接口从FPGA芯片接收分别来自FPGA芯片和ARM芯片的升级响应;通过串行数据接口向FPGA发送针对FPGA芯片、DSP芯片和ARM芯片中的至少一种芯片的更新数据,以及如果所述更新数据中包括针对FPGA芯片和/或DSP芯片的更新数据,则使FPGA芯片使用所接收到的针对FPGA芯片和/或DSP芯片的更新数据对第一存储单元中存储的程序进行更新,如果所述更新数据中包括针对ARM芯片的更新数据,则使FPGA芯片将针对ARM芯片的更新数据转发到ARM芯片,以便由ARM芯片使用所述针对ARM芯片的更新数据对第二存储单元中存储的程序进行更新。
在一个实施例中,如果所述第一存储单元连接DSP芯片,则所述方法包括:通过串行数据接口向FPGA芯片发送升级指令,并使得所述FPGA芯片将所述升级指令转发到DSP芯片和ARM芯片;通过串行数据接口从FPGA芯片接收分别来自DSP芯片和ARM芯片的升级响应;通过串行数据接口向FPGA发送针对FPGA芯片、DSP芯片和ARM芯片中的至少一种芯片的更新数据,以及如果所述更新数据中包括针对FPGA芯片和/或DSP芯片的更新数据,则使FPGA芯片将所述针对FPGA芯片和/或DSP芯片的更新数据转发到DSP芯片,以便由DSP芯片使用所述针对FPGA芯片和/或DSP芯片的更新数据对第一存储单元中存储的程序进行更新,如果所述更新数据中包括针对ARM芯片的更新数据,则使FPGA芯片将针对ARM芯片的更新数据转发到ARM芯片,以便由ARM芯片使用所述针对ARM芯片的更新数据对第二存储单元中存储的程序进行更新。
在一个实施例中,所述串行数据接口是RS232接口、RS422接口和RS485接口之一。
在一个实施例中,所述第一存储单元是EPCS存储单元,所述第二存储单元是FLASH(闪存)存储单元。
在一个实施例中,所述第一存储单元和所述第二存储单元都是FLASH存储单元。
在一个实施例中,所述第二存储单元是所述ARM芯片的一部分。
在一个实施例中,所述FPGA芯片包括与运算模块,所述与运算模块能够对自身的信号或来自DSP芯片的信号与来自ARM芯片的信号进行与运算,并将得到的信号发送到串行数据接口。
在一个实施例中,所述FPGA芯片与所述串行数据接口之间通过UART协议进行通信,所述FPGA芯片与所述ARM芯片之间通过UART协议进行通信,所述FPGA芯片与所述DSP接口之间通过EMIF协议进行通信。
在一个实施例中,在通过串行数据接口向FPGA发送针对FPGA芯片、DSP芯片和ARM芯片中的至少一种芯片的更新数据之前,向FPGA发送指示更新文件大小的指令。
在本发明所提出的对包括ARM、DSP、FPGA芯片的嵌入式系统进行程序更新的方法中,通过使用串行数据接口(例如,RS422接口),能够在不增加系统硬件和软件成本的前提下,方便地完成对三种芯片的程序数据的更新。
附图说明
图1示出了根据本发明的实施例的嵌入式系统的结构框图。
图2示出了根据第一情形的嵌入式系统的结构框图。
图3示出了根据第二情形的嵌入式系统的结构框图。
图4示出了第一存储单元的示例数据存储结构。
图5示出了第二存储单元的示例数据存储结构。
图6示出了根据本发明的实施例的对包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系统进行程序更新的方法的流程图。
图7示意性地示出了基于图3的情形的包括与运算模块的FPGA芯片以及其与ARM芯片和DSP芯片的连接关系。
具体实施方式
下面将详细描述本发明的具体实施例,应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。在以下描述中,为了提供对本发明的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的电路、材料或方法。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和/或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
以下参考附图对本发明进行具体描述。
图1示出了根据本发明的实施例的嵌入式系统100的结构框图。如图所示,嵌入式系统100包括ARM芯片110、DSP芯片120、FPGA芯片130和串行数据接口140。在所述嵌入式系统100中,FPGA芯片130分别与ARM芯片110和DSP芯片120相连。在一个实施例中,所述FPGA芯片与所述串行数据接口之间通过UART(通用异步收发)协议进行通信,所述FPGA芯片与所述ARM芯片之间通过UART协议进行通信,所述FPGA芯片与所述DSP接口之间通过EMIF(外部存储接口)协议进行通信。
具体地,ARM可以使用意法半导体公司的STM32FXXX系列芯片,FPGA可以使用ALTERA公司cyclone系列芯片,DSP以使用TI公司C6000系列芯片。此外,实际应用过程中,ARM的UART发送/接收可使用DMA方式。
ARM芯片110、DSP芯片120、FPGA芯片130应该分别连接到用于存储它们的程序文件的存储单元。在本发明的实施例中,考虑将ARM芯片110的程序与DSP芯片120和FPGA芯片1230的程序分别存储的情形。具体地,根据存储单元的连接不同,可以分两种示例情形进行讨论。
第一情形
图2示出了根据第一情形的嵌入式系统200的结构框图。图2中的ARM芯片210、DSP芯片220、FPGA芯片230和串行数据接口240与图1中的相应单元一致,在此不再赘述。
在图2中,FPGA芯片230连接到第一存储单元250,ARM芯片210连接到第二存储单元260。第一存储单元250存储有FPGA芯片230和DSP芯片220的程序,第二存储单元260存储有ARM芯片210的程序。
在一个实施例中,所述第一存储单元250是EPCS存储单元,所述第二存储单元260是FLASH存储单元。
在一个实施例中,所述第二存储单元260是所述ARM芯片210的一部分。
第二情形
图3示出了根据第二情形的嵌入式系统300的结构框图。图3中的ARM芯片310、DSP芯片320、FPGA芯片330和串行数据接口340与图1中的相应单元一致,在此不再赘述。
在图3中,DSP芯片320连接到第一存储单元350,ARM芯片310连接到第二存储单元360。第一存储单元350存储有FPGA芯片330和DSP芯片320的程序,第二存储单元360存储有ARM芯片310的程序。
在一个实施例中,所述第一存储单元350和第二存储单元360都是FLASH存储单元。
在一个实施例中,所述第二存储单元360是ARM芯片310的一部分。
下文中,将在“系统启动”部分以第二情形为例描述嵌入式系统的启动过程,并在“系统更新”部分针对第一情形和第二情形分别描述对嵌入式系统进行更新的方法。
在一个实施例中,串行数据接口140是RS232接口、RS422接口和RS485接口之一。在进行升级更新时,所示串行数据接口140连接上位机(或其他能够提供更新文件的接口或设备)。
系统启动
本部分描述参照图3中所示的嵌入式系统300的结构进行。
首先,图4和图5分别示出了作为FLASH存储单元的第一存储单元350和连接到ARM芯片310的(或位于ARM芯片310的内部)的第二存储单元360(同样以FLASH存储单元为例)的数据存储结构。
如图4所示,第一存储单元350的数据存储结构包括FIRST_BOOT_1K、SECOND_BOOT、FPGA_BOOT、FPGA_APP和DSP_APP五部分。如图5所示,对第二存储单元360的数据存储结构包括ARM_BOOT和ARM_APP两部分。需要指出的是,对嵌入式系统进行程序更新的方法是指FPGA_APP、DSP_APP和ARM_APP这三段用户程序数据的更新方法。FIRST_BOOT_1K、SECOND_BOOT、FPGA_BOOT和ARM_BOOT都是在单板调试的过程中,分别通过DSP和ARM的JTAG接口烧写至对应存储器的地址空间。
系统上电后,DSP通过EMIF从第一存储单元350的基地址处开始,将FIRST_BOOT_1K复制到其内部随机存取存储器(RAM)中,然后开始执行这段程序。然而,FIRST_BOOT_1K受制于其1K字节代码长度的限制,能完成的工作很少。本发明的实施例中还将SECOND_BOOT复制到DSP的内部RAM中,并加以执行。SECOND_BOOT开始运行后,首先从第一存储单元350中读取FPGA_BOOT,完成FPGA的配置。然后,查询是否有来自例如上位机的升级指令。如果有升级指令,则与上位机建立升级通信,完成FPGA_APP或者DSP_APP的数据更新,如果没有升级指令,则读取FPGA_APP数据,控制完成FPGA的配置,最后将DSP_APP复制内部RAM中,并加以执行。至此,用户FPGA程序和DSP应用程序都开始运行。
同时,系统上电后,ARM开始运行ARM_BOOT程序,ARM_BOOT等待DSP用FPGA_BOOT配置完FPGA后,同样查询是否有经由FPGA传递的上位机升级指令。如果有,则经由FPGA与上位机建立通信,完成ARM_APP的更新。如果没有则跳转至ARM_APP,开始执行ARM的应用程序。
系统更新
本部分描述对嵌入式系统进行更新的方法。并将针对图2和图3所示的结构分别进行描述。
图6示出了根据本发明的实施例的对包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系统进行程序更新的方法600的流程图。
所述方法600包括通过串行数据接口执行步骤S610-S630。
在步骤S610中,通过串行数据接口向FPGA芯片发送针对ARM芯片、DSP芯片和/或FPGA芯片的升级指令。
针对图2所示的情形,所述第一存储单元250连接FPGA芯片230。此时,通过串行数据接口240向FPGA芯片230发送升级指令,并使得所述FPGA芯片230将所述升级指令转发到ARM芯片210。
针对图3所示的情形,所述第一存储单元350连接DSP芯片320。此时,通过串行数据接口340向FPGA芯片330发送升级指令,并使得所述FPGA芯片330将所述升级指令转发到DSP芯片320和ARM芯片310。
在步骤S620中,通过串行数据接口从FPGA芯片接收针对所述升级指令的响应。
针对图2中的情形,通过串行数据接口240从FPGA芯片230接收分别来自FPGA芯片230和ARM芯片210的升级响应。而针对图3中的情形,通过串行数据接口340从FPGA芯片330接收分别来自DSP芯片320和ARM芯片310的升级响应。
在步骤S630中,通过串行数据接口向FPGA芯片发送针对ARM芯片、DSP芯片和/或FPGA芯片的更新数据。
其中,对FPGA芯片和DSP芯片的程序更新与对ARM芯片的程序更新是并行的。
针对图2中的情形,通过串行数据接口240向FPGA芯片230发送针对FPGA芯片230、DSP芯片220和ARM芯片210中的至少一种芯片的更新数据。如果所述更新数据中包括针对FPGA芯片230和/或DSP芯片220的更新数据,则使FPGA芯片230使用所接收到的针对FPGA芯片230和/或DSP芯片220的更新数据对第一存储单元250中存储的程序进行更新。如果所述更新数据中包括针对ARM芯片210的更新数据,则使FPGA芯片230将针对ARM芯片210的更新数据转发到ARM芯片210,以便由ARM芯片210使用所述针对ARM芯片210的更新数据对第二存储单元260中存储的程序进行更新。
针对图3中的情形,通过串行数据接口340向FPGA芯片330发送针对FPGA芯片330、DSP芯片320和ARM芯片310中的至少一种芯片的更新数据。如果所述更新数据中包括针对FPGA芯片330和/或DSP芯片320的更新数据,则使FPGA芯片330将所述针对FPGA芯片330和/或DSP芯片320的更新数据转发到DSP芯片320,以便由DSP芯片320使用所述针对FPGA芯片330和/或DSP芯片320的更新数据对第一存储单元350中存储的程序进行更新。如果所述更新数据中包括针对ARM芯片310的更新数据,则使FPGA芯片330将针对ARM芯片310的更新数据转发到ARM芯片310,以便由ARM芯片310使用所述针对ARM芯片310的更新数据对第二存储单元360中存储的程序进行更新。
在本发明的实施例中,所述FPGA芯片还可包括与运算模块。针对图2的情形,所述与运算模块能够对自身的信号与来自ARM芯片210的信号进行与运算,并将得到的信号发送到串行数据接口240。针对图3的情形,所述与运算模块能够对来自DSP芯片320的信号与来自ARM芯片310的信号进行与运算,并将得到的信号发送到串行数据接口340。
图7示意性地示出了基于图3的情形的包括与运算模块731的FPGA芯片730以及其与ARM芯片710和DSP芯片720的连接关系。
更新发送信号Tx分为两路,一路进入FPGA芯片730的UART模块,另一路通过直连的方式进入ARM芯片710。根据UART协议层的信号规范,信号在空闲时刻为高电平。因此,接收信号Rx可以由ARM芯片710的发送信号和来自UART模块的发送信号在与运算模块731处进行与运算后驱动。通过这样的连接,可以通过一个串行数据接口同时与DSP芯片720和ARM芯片710进行通信。进行数据发送时,DSP芯片720和ARM芯片710可以同时接收,并做出相应响应。另外,DSP芯片720和ARM芯片710也可以分时反馈数据。
在一个实施例中,在步骤S630之前,还可向FPGA芯片发送指示更新文件大小的指令,以便相应的芯片擦除存储单元中的相应存储空间。
在一个实施例中,在更新完程序数据后,还可进行校验。
以上的详细描述通过使用示意图、流程图和/或示例,已经阐述了众多实施例。在这种示意图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种示意图、流程图或示例中的每一功能和/或操作可以通过各种结构、硬件、软件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施例中,本发明的实施例所述主题的若干部分可以通过专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或其他集成格式来实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式的任意组合,并且本领域技术人员根据本公开,将具备设计电路和/或写入软件和/或固件代码的能力。此外,本领域技术人员将认识到,本公开所述主题的机制能够作为多种形式的程序产品进行分发,并且无论实际用来执行分发的信号承载介质的具体类型如何,本公开所述主题的示例性实施例均适用。信号承载介质的示例包括但不限于:可记录型介质,如软盘、硬盘驱动器、紧致盘(CD)、数字通用盘(DVD)、数字磁带、计算机存储器等;以及传输型介质,如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。

Claims (10)

1.一种对包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系统进行程序更新的方法,其中,FPGA芯片分别与ARM芯片和DSP芯片相连,FPGA芯片和DSP芯片之一连接到第一存储单元,该第一存储单元存储有FPGA芯片和DSP芯片的程序,所述ARM芯片连接到第二存储单元,该第二存储单元存储有ARM芯片的程序,所述方法包括通过串行数据接口执行以下步骤:
向FPGA芯片发送针对FPGA芯片、DSP芯片和ARM芯片中的至少一种芯片的升级指令;
从FPGA芯片接收针对所述升级指令的响应;
向FPGA芯片发送针对FPGA芯片、DSP芯片和ARM芯片中的至少一种芯片的更新数据;
如果所述更新数据中包括针对ARM芯片的更新数据,则使FPGA芯片将针对ARM芯片的更新数据转发到ARM芯片,
其中,在对DSP芯片和FPGA芯片中的至少一种芯片以及ARM芯片进行程序更新的情况下,对FPGA芯片和DSP芯片的程序更新与对ARM芯片的程序更新是并行的。
2.根据权利要求1所述的方法,其中,如果所述第一存储单元连接FPGA芯片,则所述方法包括:
通过串行数据接口向FPGA芯片发送升级指令,并使得所述FPGA芯片将所述升级指令转发到ARM芯片;
通过串行数据接口从FPGA芯片接收分别来自FPGA芯片和ARM芯片的针对所述升级指令的响应;
通过串行数据接口向FPGA发送针对FPGA芯片、DSP芯片和ARM芯片中的至少一种芯片的更新数据,以及
如果所述更新数据中包括针对FPGA芯片和/或DSP芯片的更新数据,则使FPGA芯片使用所接收到的针对FPGA芯片和/或DSP芯片的更新数据对第一存储单元中存储的程序进行更新,
如果所述更新数据中包括针对ARM芯片的更新数据,则使FPGA芯片将针对ARM芯片的更新数据转发到ARM芯片,以便由ARM芯片使用所述针对ARM芯片的更新数据对第二存储单元中存储的程序进行更新。
3.根据权利要求1所述的方法,其中,如果所述第一存储单元连接DSP芯片,则所述方法包括:
通过串行数据接口向FPGA芯片发送升级指令,并使得所述FPGA芯片将所述升级指令转发到DSP芯片和ARM芯片;
通过串行数据接口从FPGA芯片接收分别来自DSP芯片和ARM芯片的升级响应;
通过串行数据接口向FPGA发送针对FPGA芯片、DSP芯片和ARM芯片中的至少一种芯片的更新数据,以及
如果所述更新数据中包括针对FPGA芯片和/或DSP芯片的更新数据,则使FPGA芯片将所述针对FPGA芯片和/或DSP芯片的更新数据转发到DSP芯片,以便由DSP芯片使用所述针对FPGA芯片和/或DSP芯片的更新数据对第一存储单元中存储的程序进行更新,
如果所述更新数据中包括针对ARM芯片的更新数据,则使FPGA芯片将针对ARM芯片的更新数据转发到ARM芯片,以便由ARM芯片使用所述针对ARM芯片的更新数据对第二存储单元中存储的程序进行更新。
4.根据权利要求1-3中的任一项所述的方法,其中,所述串行数据接口是RS232接口、RS422接口和RS485接口之一。
5.根据权利要求2所述的方法,其中,所述第一存储单元是EPCS存储单元,所述第二存储单元是FLASH存储单元。
6.根据权利要求3所述的方法,其中,所述第一存储单元和所述第二存储单元都是FLASH存储单元。
7.根据权利要求1-3中的任一项所述的方法,其中,所述第二存储单元是所述ARM芯片的一部分。
8.根据权利要求1-3中的任一项所述的方法,其中,所述FPGA芯片包括与运算模块,所述与运算模块能够对自身的信号或来自DSP芯片的信号与来自ARM芯片的信号进行与运算,并将得到的信号发送到串行数据接口。
9.根据权利要求1-3中的任一项所述的方法,其中,所述FPGA芯片与所述串行数据接口之间通过UART协议进行通信,所述FPGA芯片与所述ARM芯片之间通过UART协议进行通信,所述FPGA芯片与所述DSP接口之间通过EMIF协议进行通信。
10.根据权利要求1-3中的任一项所述的方法,其中,在通过串行数据接口向FPGA发送针对FPGA芯片、DSP芯片和ARM芯片中的至少一种芯片的更新数据之前,向FPGA发送指示更新文件大小的指令。
CN201611010997.4A 2016-11-17 2016-11-17 对嵌入式系统进行程序更新的方法 Active CN106843918B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611010997.4A CN106843918B (zh) 2016-11-17 2016-11-17 对嵌入式系统进行程序更新的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611010997.4A CN106843918B (zh) 2016-11-17 2016-11-17 对嵌入式系统进行程序更新的方法

Publications (2)

Publication Number Publication Date
CN106843918A CN106843918A (zh) 2017-06-13
CN106843918B true CN106843918B (zh) 2020-07-31

Family

ID=59145693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611010997.4A Active CN106843918B (zh) 2016-11-17 2016-11-17 对嵌入式系统进行程序更新的方法

Country Status (1)

Country Link
CN (1) CN106843918B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002306A (zh) * 2018-06-25 2018-12-14 深圳市创鑫激光股份有限公司 软件升级方法、升级终端、激光打标机以及激光打标系统
CN109542481B (zh) * 2018-11-19 2022-06-24 中电科思仪科技股份有限公司 一种多模式多功能测试仪器自动配置装置和方法
CN109558158B (zh) * 2019-01-30 2024-05-31 北京昊海雅正科技有限公司 基于网络更新fpga和dsp程序的装置及方法
CN110134622B (zh) * 2019-05-07 2022-11-11 电子科技大学 数据采集模块与数据传输模块的数据交互系统
CN112783531A (zh) * 2021-01-29 2021-05-11 湖北三江航天红峰控制有限公司 一种fpga与dsp架构下以太网升级dsp程序方法
CN113360163A (zh) * 2021-04-19 2021-09-07 深圳市创成微电子有限公司 多芯片装置及芯片升级方法
CN115033356B (zh) * 2022-05-06 2024-06-04 西安电子科技大学 一种基于异构可重构的动态资源调度方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722390A (zh) * 2012-06-05 2012-10-10 上海联影医疗科技有限公司 多处理器共用flash的装置及固件程序加载与升级方法
CN103019779A (zh) * 2012-11-30 2013-04-03 北京遥测技术研究所 一种fpga/dsp嵌入式系统的程序更新方法
CN103591961A (zh) * 2013-11-26 2014-02-19 北京航空航天大学 一种基于dsp和fpga的捷联罗经导航计算机
CN103677905A (zh) * 2013-11-30 2014-03-26 成都天奥信息科技有限公司 Fpga嵌入式终端的远程配置程序升级电路
CN203588252U (zh) * 2013-11-30 2014-05-07 成都天奥信息科技有限公司 一种fpga现场可编程门阵列配置程序的升级电路
CN105550004A (zh) * 2016-01-05 2016-05-04 新达通科技股份有限公司 一种多系统的升级装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722390A (zh) * 2012-06-05 2012-10-10 上海联影医疗科技有限公司 多处理器共用flash的装置及固件程序加载与升级方法
CN103019779A (zh) * 2012-11-30 2013-04-03 北京遥测技术研究所 一种fpga/dsp嵌入式系统的程序更新方法
CN103591961A (zh) * 2013-11-26 2014-02-19 北京航空航天大学 一种基于dsp和fpga的捷联罗经导航计算机
CN103677905A (zh) * 2013-11-30 2014-03-26 成都天奥信息科技有限公司 Fpga嵌入式终端的远程配置程序升级电路
CN203588252U (zh) * 2013-11-30 2014-05-07 成都天奥信息科技有限公司 一种fpga现场可编程门阵列配置程序的升级电路
CN105550004A (zh) * 2016-01-05 2016-05-04 新达通科技股份有限公司 一种多系统的升级装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Design of embedded multiprocessor platform with cooperating synchrony";Haiyong Wang 等;《2009 9th International Conference on Electronic Measurement & Instruments》;20091002;全文 *

Also Published As

Publication number Publication date
CN106843918A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106843918B (zh) 对嵌入式系统进行程序更新的方法
CN103942061A (zh) 电池固件更新方法、便携式电子装置及充电电池模块
US7640424B2 (en) Initialization of flash storage via an embedded controller
KR101385872B1 (ko) 호스트로부터의 메모리 장치의 부팅
US10853503B2 (en) Selective encoding method and electronic device using same
CN102165418A (zh) 涡轮引导系统和方法
CN110196795B (zh) 检测移动终端应用运行状态的方法及相关装置
CN109669729B (zh) 一种处理器的启动引导方法
CN100461105C (zh) 一种智能化设备软件升级与修复的方法和系统
US7908417B2 (en) Motherboard system, storage device for booting up thereof and connector
CN106095528B (zh) 一种检测虚拟机盘符的方法
WO2018054060A1 (zh) 一种处理器及BootLoader程序的更新方法、存储介质
US10146557B2 (en) Method and electronic device for initializing memory and updating firmware
TWI421686B (zh) 資料存取方法與系統、儲存媒體控制器與儲存系統
CN103970565A (zh) 一种服务器系统中fpga多途径下载配置实现方法
CN103677897A (zh) 系统芯片及对系统芯片的烧写方法
WO2020118719A1 (zh) 无人飞行器的固件升级方法、固件升级装置、控制装置、无人飞行器及介质
CN103186267A (zh) 触摸屏校准方法及装置
CN116030877A (zh) 基于固态硬盘的全功能测试系统、实现方法和计算机设备
US8595418B2 (en) Memory configuring method, memory controller and memory storage apparatus
CN113272785A (zh) 一种挂载文件系统的方法、终端设备及存储介质
KR20230020352A (ko) 장치 로컬 메모리의 관리를 위한 시스템들, 방법들 및 장치들
CN101908016A (zh) 多核心嵌入式装置的除错信息与断点管理方法
CN102750167A (zh) 应用程序启动方法、装置和计算机系统
US8595417B2 (en) Memory configuring method, memory controller and memory storage apparatus

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190731

Address after: 300 457 days First Floor, Phase 2, No. 10, Fourth Avenue, Binhai New Area Economic and Technological Development Zone, Tianjin

Applicant after: Tianjin Jingdong Shentuo Robot Technology Co., Ltd.

Address before: 100195 Beijing city Haidian District xingshikou Road No. 65 building 11C Creative Park West West west Shan East 1-4 layer 1-4 layer

Applicant before: Beijing Jingdong Shangke Information Technology Co., Ltd.

Applicant before: Beijing Jingdong Century Commerce Co., Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200603

Address after: Room A1905, 19th floor, No. 2 Building, 18 Kechuang 11th Street, Beijing Daxing District, Beijing

Applicant after: Beijing Jingdong Qianshi Technology Co.,Ltd.

Address before: 300 457 days First Floor, Phase 2, No. 10, Fourth Avenue, Binhai New Area Economic and Technological Development Zone, Tianjin

Applicant before: Tianjin Jingdong Shentuo Robot Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant