CN112783818A - 一种多核嵌入式系统的在线升级方法及系统 - Google Patents

一种多核嵌入式系统的在线升级方法及系统 Download PDF

Info

Publication number
CN112783818A
CN112783818A CN202011611590.3A CN202011611590A CN112783818A CN 112783818 A CN112783818 A CN 112783818A CN 202011611590 A CN202011611590 A CN 202011611590A CN 112783818 A CN112783818 A CN 112783818A
Authority
CN
China
Prior art keywords
core embedded
memory
file
upgrading
module
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.)
Pending
Application number
CN202011611590.3A
Other languages
English (en)
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.)
Celestica Technology Consultancy Shanghai Co Ltd
Original Assignee
Celestica Technology Consultancy Shanghai 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 Celestica Technology Consultancy Shanghai Co Ltd filed Critical Celestica Technology Consultancy Shanghai Co Ltd
Priority to CN202011611590.3A priority Critical patent/CN112783818A/zh
Publication of CN112783818A publication Critical patent/CN112783818A/zh
Priority to US17/468,677 priority patent/US11899612B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/0026PCI express
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种多核嵌入式系统的在线升级方法及系统,所述系统包括服务系统和多核嵌入式系统;服务系统用于提供升级固件文件;多核嵌入式系统包括:片上系统,包括多核嵌入式处理器系统和可编程逻辑模块,可编程逻辑模块将多核嵌入式处理器系统的内存映射于服务系统中;通信模块,用于建立片上系统与服务系统之间的通信连接,从服务系统接收并缓存升级固件文件;可编程逻辑模块和多核嵌入式处理器系统共享寄存器模块;DMA模块,用于通信模块和多核嵌入式处理器系统的内存之间的数据快速搬运;中断控制器,执行中断处理,以使得多核嵌入式处理器系统通过内存获取升级固件文件。本发明可以实现MPSoC平台固件的升级。

Description

一种多核嵌入式系统的在线升级方法及系统
技术领域
本发明属于嵌入式系统技术领域,特别是涉及一种多核嵌入式系统的在线升级方法及系统。
背景技术
MPSoC是赛灵思公司公司推出的第二代多处理SoC系统,MPSoC包括先进的电源管理系统,高密度片上静态存储器,单通道速率高达32Gbps的高速收发器,PCI-Express接口以及高性能可编程逻辑等。传统的MPSoC平台固件一般需要外置JTAG、SD卡或Ethernet接口,但是在数据中心领域应用的MPSoC往往是不存在这些外置接口,只有PCI-Express接口。
未配置JTAG、SD卡或Ethernet接口等外置接口的MPSoC在升级时,需要应用MPSoC的电子设备例如服务器进行断电重启,这会对服务器中其他功能模块造成影响。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种多核嵌入式系统的在线升级方法及系统,用于解决现有技术中多核嵌入式系统升级不便的技术问题。
为实现上述目的及其他相关目的,本发明的实施例提供一种多核嵌入式系统的在线升级系统,包括服务系统和多核嵌入式系统;所述服务系统用于提供所述多核嵌入式系统升级所需的升级固件文件;所述多核嵌入式系统包括:片上系统,所述片上系统包括多核嵌入式处理器系统和位于所述片上系统的可编程逻辑模块,其中,所述可编程逻辑模块将所述多核嵌入式处理器系统的内存映射于所述服务系统中;通信模块,与所述片上系统的可编程逻辑模块连接,用于建立所述片上系统与所述服务系统之间的通信连接,从所述服务系统接收并缓存升级固件文件;寄存器模块,配置于所述片上系统的可编程逻辑模块中,所述片上系统的可编程逻辑模块和所述多核嵌入式处理器系统共享所述寄存器模块,所述寄存器模块用于所述多核嵌入式处理器系统与所述服务系统之间进行控制信息交互;DMA模块,用于所述通信模块和所述多核嵌入式处理器系统的内存之间的数据快速搬运;中断控制器,配置于所述片上系统的可编程逻辑模块中,通过所述寄存器模块触发中断请求,用于在从所述服务系统接收到所述升级固件文件时,执行中断处理,以使得所述多核嵌入式处理器系统通过内存获取所述升级固件文件,实现所述多核嵌入式系统进行在线升级。
于本申请的一实施例中,所述所述可编程逻辑模块为FPGA,所述多核嵌入式处理器系统为多核嵌入式ARM处理器系统;所述服务系统为X86服务系统。
于本申请的一实施例中,所述所述可编程逻辑模块通过外部PCI-Express总线和内部AXI4总线的转换将所述多核嵌入式处理器系统的内存映射于所述服务系统中。
于本申请的一实施例中,所述多核嵌入式处理器系统采用MPSoC架构。
于本申请的一实施例中,所述片上系统中还设有与所述多核嵌入式处理器系统相连的双倍速率内存颗粒或者是内存芯片,嵌入式多媒体存储器,基于队列串行外围接口协议的闪存器。
于本申请的一实施例中,所述多核嵌入式处理器系统将从内存获取的所述升级固件文件写入所述嵌入式多媒体存储器或基于队列串行外围接口协议的闪存器。
于本申请的一实施例中,所述通信模块为PCI-Express接口。
本发明的实施例还提供一种多核嵌入式系统的在线升级方法,包括:将多核嵌入式处理器系统与提供升级固件文件的服务系统通过通信模块相连,令可编程逻辑模块将多核嵌入式处理器系统的内存映射于服务系统中,并令所述多核嵌入式处理器系统和所述所述可编程逻辑模块共享寄存器模块;在所述多核嵌入式系统接收到所述服务系统发送的升级固件文件时,所述多核嵌入式处理器系统通过内存获取所述升级固件文件,实现所述多核嵌入式系统进行在线升级。
于本申请的一实施例中,所述多核嵌入式处理器系统通过内存获取所述升级固件文件的过程包括:在所述多核嵌入式系统接收到所述服务系统发送的升级固件文件传输指令时,所述多核嵌入式处理系统从寄存器模块中获取即将升级固件文件的文件大小和文件类型,所述多核嵌入式处理器系统基于所述升级固件文件大小申请内存地址并配置寄存器模块中的地址寄存器;所述服务器系统根据寄存器模块中的地址寄存器提供的地址信息,通过所述通信接口发送升级固件文件,并在所述升级固件文件传输结束时,配置文件传输状态;所述多核嵌入式处理器系统基于所述文件传输状态和文件类型,通过内存获取升级固件文件。
于本申请的一实施例中,在通过内存获取所述升级固件文件之后,还包括根据获取的升级固件文件的类型将所述升级固件文件写入嵌入式多媒体存储器或基于队列串行外围接口协议的闪存器。
如上所述,本发明的多核嵌入式系统的在线升级方法及系统,具有以下有益效果:
1、本发明提供的多核嵌入式系统可以在电子设备不掉电的情况下实现对MPSoC平台固件的升级,不会对电子设备中其他功能模块造成影响。
2、本发明中多核嵌入式系统实现方式简单,无需额外的硬件接口,并且还具有在线升级速度快的优点。
附图说明
图1显示为本发明的多核嵌入式系统的在线升级系统的原理结构示意图。
图2显示为本发明的多核嵌入式系统的在线升级系统的原理框架结构示意图。
图3显示为本发明的多核嵌入式系统的在线升级系统的软件框架示意图。
图4显示为本发明的多核嵌入式系统的在线升级方法中多核嵌入式处理器系统通过内存获取所述升级固件文件的过程流程示意图。
图5显示为本发明的多核嵌入式系统的在线升级方法的流程示意图。
元件标号说明
1 多核嵌入式系统的在线升级系统
10 服务系统
20 多核嵌入式系统
200 片上系统
210 多核嵌入式处理器系统
211 内存模块
212 存储器
213 闪存模块
220 可编程逻辑模块
221 DMA模块
222 寄存器模块
223 中断控制器
240 通信模块
S100~S200 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本实施例的目的在于提供一种多核嵌入式系统的在线升级方法及系统,用于解决现有技术中多核嵌入式系统升级不便的技术问题。
以下将详细阐述本实施例的多核嵌入式系统的在线升级方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的多核嵌入式系统的在线升级方法及系统。
实施例1
如图1所示,本实施例提供一种多核嵌入式系统的在线升级系统1,所述多核嵌入式系统的在线升级系统1包括服务系统10和多核嵌入式系统20。本实施例中的多核嵌入式系统的在线升级系统1采用异构处理器内存(Memory)共享。通过将所述多核嵌入式系统20中的内存(Memory)和寄存器组映射到服务系统10中,以达到服务系统10和多核嵌入式系统20之间数据交互,实现多核嵌入式系统20从服务系统10获取升级固件文件的目的。
其中,于本实施例中,所述服务系统10用于提供所述多核嵌入式系统20升级所需的升级固件文件。具体地,所述服务系统10为但不限于X86服务系统,X86服务系统是标准的X86架构,本实施例中对所述服务系统10不再赘述。
于本实施例中,所述多核嵌入式系统20包括片上系统200,通信模块240,寄存器模块222以及中断控制器223。
其中,所述片上系统200包括多核嵌入式处理器系统210和位于所述片上系统200的可编程逻辑模块220。
图2显示为本实施例的多核嵌入式系统的在线升级系统1的原理框架结构示意图。如图2所示,于本实施例中,所述多核嵌入式处理器系统210采用MPSoC架构。MPSoC架构主要由FPGA和Cortex-A53 ARM组成。进一步地,于本实施例中,所述可编程逻辑模块220为FPGA(Field Programmable Gate Array,现场可编程门阵列),所述多核嵌入式处理器系统210为多核嵌入式ARM处理器系统。
如图2所示,于本实施例中,所述多核嵌入式处理器系统210采用MPSoC架构,所述MPSoC架构还包括内存模块211,存储器212和闪存模块213等。更进一步地,即于本实施例中,所述片上系统200中设有与所述多核嵌入式处理器系统210相连的双倍速率内存颗粒或者是内存芯片,嵌入式多媒体存储器212(eMMC,Embedded Multi Media Card),基于队列串行外围接口协议(QSPI)的闪存器。其中双倍速率内存颗粒或者是内存芯片优选采用第四代双倍速率动态内存颗粒或者是动态内存芯片(DDR4)。
于本实施例中,所述可编程逻辑模块220用于实现通信模块240,寄存器模块222,中断控制器223,并且所述可编程逻辑模块220将所述多核嵌入式处理器系统210的内存映射于所述服务系统10中。
具体地,于本实施例中,所述可编程逻辑模块220(FPGA)通过外部PCI-Express总线和内部AXI4总线的转换将所述多核嵌入式处理器系统210的内存映射于所述服务系统10中。
其中,所述可编程逻辑模块220(FPGA)通过外部PCI-Express总线和内部AXI4总线的转换将所述多核嵌入式处理器系统210的内存映射于所述服务系统10中的原理如下:
服务系统10和所述可编程逻辑模块220(FPGA)之间的PCI-Express总线数据传输是基于PCI-Express总线地址域,所述可编程逻辑模块220(FPGA)与多核嵌入式ARM处理器系统之间的AXI4总线数据传输是基于AXI4总线地址域,这两个地址域不能直接进行数据传输,需要于所述可编程逻辑模块220(FPGA)内部进行总线地址域的转换,所以通过外部PCI-Express总线和内部AXI4总线的转换即对应于实现所述多核嵌入式处理器系统210与所述服务系统10之间的内存映射。
其中,在所述可编程逻辑模块220(FPGA)内部通过AXI4总线将多核嵌入式ARM处理器系统的内存映射到所述服务系统10(X86 server系统)中。AXI4总线的数据位宽为128bit,总线频率为250Mhz,数据传输带宽为4GB/s,从而使得所述服务系统10(X86 server系统)可以达到几乎零延时访问多核嵌入式ARM处理器系统的内存。
于本实施例中,所述通信模块240与所述片上系统200连接,用于建立所述片上系统200与所述服务系统10之间的通信连接,通信模块240通过通信接口从所述服务系统10接收并缓存升级固件文件。
其中,所述通信模块240通过高速缓存来缓存所述升级固件文件。所述DMA(直接存储器访问,Direct Memory Access)模块221用于所述通信模块和所述多核嵌入式处理器系统的内存之间的数据快速搬运。
于本实施例中,所述通信模块240优选为PCI-Express通信接口。
即所述服务系统10(X86服务系统)与所述多核嵌入式ARM处理器系统通过PCI-Express接口总线进行通信。
于本实施例中,所述寄存器模块222配置于所述片上系统200的可编程逻辑模块220中,所述片上系统200的可编程逻辑模块220和所述多核嵌入式处理器系统210共享所述寄存器模块222,所述寄存器模块222用于所述多核嵌入式处理器系统210与所述服务系统10之间进行控制信息交互。
具体地,于本实施例中,在所述可编程逻辑模块220(FPGA)内部定义一组寄存器,用于所述服务系统10(X86 server系统)和多核嵌入式ARM处理器系统共享访问。所述可编程逻辑模块220(FPGA)实现寄存器访问仲裁逻辑,避免所述寄存器模块222中的寄存器访问出现死锁现象。所述寄存器模块222中的共享寄存器用于所述服务系统10(X86 server系统)和多核嵌入式ARM处理器系统间的控制信息交互。
所以本实施例的多核嵌入式系统20的在线升级通过将多核嵌入式处理器系统210(MPSoC)本地的内存和寄存器组映射到所述服务系统10(X86 server系统),来达到所述服务系统10(X86 server系统)和多核嵌入式ARM处理器系统间数据的交互。
于本实施例中,所述中断控制器223配置于所述片上系统200的可编程逻辑模块220中,用于在从所述服务系统10接收到所述升级固件文件时,执行中断处理,以使得所述多核嵌入式处理器系统210通过内存从高速缓存获取所述升级固件文件,实现所述多核嵌入式系统20进行在线升级。所以本实施例提供的多核嵌入式系统20可以在电子设备不掉电的情况下实现对MPSoC平台固件的升级,不会对电子设备中其他功能模块造成影响,而且实现方式简单,无需额外的硬件接口,在线升级速度快。
其中,于本实施例中,所述多核嵌入式处理器系统210将从内存获取的所述升级固件文件写入所述嵌入式多媒体存储器212(DDR4)或基于队列串行外围接口协议的闪存器(QSPI Flash)。
图3显示为本实施例的多核嵌入式系统的在线升级系统1的软件框架示意图。如图3所示,所述服务系统10(X86 server系统)由应用程序和通信设备驱动即PCIE设备驱动组成;其中应用程序实现功能主要是将要升级的文件下发至PCIE设备驱动以及共享寄存器的访问;PCIE设备驱动的程序主要实现与多核嵌入式系统20中的PCIE设备驱动的交互功能。
多核嵌入式ARM处理器系统由ARM应用程序和ARM设备驱动程序组成;其中,ARM设备驱动程序包括共享寄存器设备驱动和内存设备驱动,设备驱动程序用于应用程序访问外部硬件。ARM应用程序的功能为访问共享寄存器,从内存中读取所述服务系统10(X86server系统)下发的升级固件文件,将升级固件文件写入基于队列串行外围接口协议(QSPI)的闪存器和嵌入式多媒体存储器(eMMC,Embedded Multi Media Card)存储,实现所述多核嵌入式系统20进行在线升级。
本实施例中,如图4所示,所述多核嵌入式系统的在线升级系统1中多核嵌入式系统20从服务系统10获取用于升级的升级固件文件的过程如下:
通信接口(PCI-Express通信接口)接收到服务系统10(X86 server系统)下发的要传输升级固件文件的文件指令,通信接口写文件类型和文件大小寄存器,通信接口触发中断所述中断控制器223,在多核嵌入式系统20收到中断请求,以确定服务器系统10即将对多核嵌入式系统20进行升级后,多核嵌入式ARM处理器系统读取文件类型和文件大小寄存器,并根据文件大小进行连续物理内存的动态内存分配(malloc),多核嵌入式ARM处理器系统将申请的连续物理内存首地址写入地址寄存器,然后将地址准备(ready)位写1。通信接口在检测到地址准备位为1时,读取地址寄存器获得地址,并清除地址准备位,然后通信接口开始传输升级固件文件。在通信接口传输完毕升级固件文件时,通信接口写文件传输状态位为1,多核嵌入式ARM处理器系统在检测到文件传输状态位为1时,从内存读取升级固件文件的文件数据,并清除文件传输状态位。在多核嵌入式ARM处理器系统完成升级固件文件的数据读取时,写文件读完成位为1,并根据获取的文件类型将升级固件文件写入基于队列串行外围接口协议(QSPI)的闪存器或嵌入式多媒体存储器212(eMMC,Embedded Multi MediaCard)存储,实现所述多核嵌入式系统20进行在线升级。同时,通信接口在检测到文件读完成位为1时,通信接口清除文件读完成位,完成多核嵌入式系统20从服务系统10获取用于升级的升级固件文件的过程。
实施例2
如图5所示,本实施例提供一种多核嵌入式系统的在线升级方法,应用于MPSoC平台,所述多核嵌入式系统的在线升级方法包括以下步骤:
步骤S100,将多核嵌入式处理器系统与提供升级固件文件的服务系统通过通信模块相连,令可编程逻辑模块将多核嵌入式处理器系统的内存映射于服务系统中,并令所述多核嵌入式处理器系统和所述可编程逻辑模块共享寄存器模块;
步骤S200,在所述多核嵌入式系统接收到所述服务系统发送的升级固件文件时,所述多核嵌入式处理器系统通过内存获取所述升级固件文件,实现所述多核嵌入式系统进行在线升级。
具体地,于本实施例中,所述多核嵌入式处理器系统通过内存获取所述升级固件文件的过程包括:
1)在所述多核嵌入式系统接收到所述服务系统发送的升级固件文件传输指令时,所述多核嵌入式处理系统从寄存器模块中获取即将升级固件文件的文件大小和文件类型,所述多核嵌入式处理器系统基于所述升级固件文件大小申请内存地址并配置寄存器模块中的地址寄存器。
2)所述服务器系统根据寄存器模块中的地址寄存器提供的地址信息,通过所述通信接口发送升级固件文件,并在所述升级固件文件传输结束时,配置文件传输状态。
3)所述多核嵌入式处理器系统基于所述文件传输状态和文件类型,通过内存获取升级固件文件。
4)在通过内存获取所述升级固件文件之后,根据获取的升级固件文件的类型将所述升级固件文件写入嵌入式多媒体存储器或基于队列串行外围接口协议的闪存器。
本实施例中多核嵌入式系统的在线升级方法与的实现原理与实施例1中的多核嵌入式系统的在线升级系统1的实现原理相同,原理间相似或相同的技术特征不再赘述。
综上所述,本发明提供的多核嵌入式系统可以在电子设备不掉电的情况下实现对MPSoC平台固件升级的升级,不会对电子设备中其他功能模块造成影响。本发明中多核嵌入式系统实现方式简单,无需额外的硬件接口,并且还具有在线升级速度快的优点。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种多核嵌入式系统的在线升级系统,其特征在于:包括服务系统和多核嵌入式系统;
所述服务系统用于提供所述多核嵌入式系统升级所需的升级固件文件;
所述多核嵌入式系统包括:
片上系统,所述片上系统包括多核嵌入式处理器系统和位于所述片上系统的可编程逻辑模块,其中,所述可编程逻辑模块将所述多核嵌入式处理器系统的内存映射于所述服务系统中;
通信模块,与所述片上系统的可编程逻辑模块连接,用于建立所述片上系统与所述服务系统之间的通信连接,从所述服务系统接收并缓存升级固件文件;
寄存器模块,配置于所述片上系统的可编程逻辑模块中,所述片上系统的可编程逻辑模块和所述多核嵌入式处理器系统共享所述寄存器模块,所述寄存器模块用于所述多核嵌入式处理器系统与所述服务系统之间进行控制信息交互;
DMA模块,用于所述通信模块和所述多核嵌入式处理器系统的内存之间的数据快速搬运;
中断控制器,配置于所述片上系统的可编程逻辑模块中,通过所述寄存器模块触发中断请求,用于在从所述服务系统接收到所述升级固件文件时,执行中断处理,以使得所述多核嵌入式处理器系统通过内存获取所述升级固件文件,实现所述多核嵌入式系统进行在线升级。
2.根据权利要求1所述的多核嵌入式系统的在线升级系统,其特征在于:所述可编程逻辑模块为FPGA,所述多核嵌入式处理器系统为多核嵌入式ARM处理器系统;所述服务系统为X86服务系统。
3.根据权利要求1或2所述的多核嵌入式系统的在线升级系统,其特征在于:所述所述可编程逻辑模块通过外部PCI-Express总线和内部AXI4总线的转换将所述多核嵌入式处理器系统的内存映射于所述服务系统中。
4.根据权利要求1或2所述的多核嵌入式系统的在线升级系统,其特征在于:所述多核嵌入式处理器系统采用MPSoC架构。
5.根据权利要求1或2所述的多核嵌入式系统的在线升级系统,其特征在于:所述片上系统中还设有与所述多核嵌入式处理器系统相连的双倍速率内存颗粒或者是内存芯片,嵌入式多媒体存储器,基于队列串行外围接口协议的闪存器。
6.根据权利要求5所述的多核嵌入式系统的在线升级系统,其特征在于:所述多核嵌入式处理器系统将从内存获取的所述升级固件文件写入所述嵌入式多媒体存储器或基于队列串行外围接口协议的闪存器。
7.根据权利要求1所述的多核嵌入式系统的在线升级系统,其特征在于:所述通信模块为PCI-Express接口。
8.一种多核嵌入式系统的在线升级方法,其特征在于:包括:
将多核嵌入式处理器系统与提供升级固件文件的服务系统通过通信模块相连,令可编程逻辑模块将多核嵌入式处理器系统的内存映射于服务系统中,并令所述多核嵌入式处理器系统和所述所述可编程逻辑模块共享寄存器模块;
在所述多核嵌入式系统接收到所述服务系统发送的升级固件文件时,所述多核嵌入式处理器系统通过内存获取所述升级固件文件,实现所述多核嵌入式系统进行在线升级。
9.根据权利要求8所述的多核嵌入式系统的在线升级方法,其特征在于:所述多核嵌入式处理器系统通过内存获取所述升级固件文件的过程包括:
在所述多核嵌入式系统接收到所述服务系统发送的升级固件文件传输指令时,所述多核嵌入式处理系统从寄存器模块中获取即将升级固件文件的文件大小和文件类型,所述多核嵌入式处理器系统基于所述升级固件文件大小申请内存地址并配置寄存器模块中的地址寄存器;
所述服务器系统根据寄存器模块中的地址寄存器提供的地址信息,通过所述通信接口发送升级固件文件,并在所述升级固件文件传输结束时,配置文件传输状态;
所述多核嵌入式处理器系统基于所述文件传输状态和文件类型,通过内存获取升级固件文件。
10.根据权利要求8或9所述的多核嵌入式系统的在线升级方法,其特征在于:在通过内存获取所述升级固件文件之后,还包括根据获取的升级固件文件的类型将所述升级固件文件写入嵌入式多媒体存储器或基于队列串行外围接口协议的闪存器。
CN202011611590.3A 2020-12-30 2020-12-30 一种多核嵌入式系统的在线升级方法及系统 Pending CN112783818A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011611590.3A CN112783818A (zh) 2020-12-30 2020-12-30 一种多核嵌入式系统的在线升级方法及系统
US17/468,677 US11899612B2 (en) 2020-12-30 2021-09-08 Online upgrading method and system for multi-core embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011611590.3A CN112783818A (zh) 2020-12-30 2020-12-30 一种多核嵌入式系统的在线升级方法及系统

Publications (1)

Publication Number Publication Date
CN112783818A true CN112783818A (zh) 2021-05-11

Family

ID=75753947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011611590.3A Pending CN112783818A (zh) 2020-12-30 2020-12-30 一种多核嵌入式系统的在线升级方法及系统

Country Status (2)

Country Link
US (1) US11899612B2 (zh)
CN (1) CN112783818A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434179A (zh) * 2021-07-08 2021-09-24 恒安嘉新(北京)科技股份公司 一种可编程电源的在线升级方法、装置、设备及存储介质
CN113485953A (zh) * 2021-05-26 2021-10-08 加弘科技咨询(上海)有限公司 多核嵌入式系统及其基于串口虚拟化实现通信的方法
CN116578326A (zh) * 2023-05-23 2023-08-11 南京国电南自电网自动化有限公司 基于多核处理器的继电保护程序在线升级的装置及方法
CN116743883A (zh) * 2023-08-15 2023-09-12 中移(苏州)软件技术有限公司 一种智能网卡、数据处理系统及其工作方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934631B (zh) * 2022-12-30 2023-10-27 武汉麓谷科技有限公司 一种基于MPSoC的智能存储平台
CN115857998B (zh) * 2023-02-10 2023-05-23 国仪量子(合肥)技术有限公司 基于zynq和fpga架构的升级方法、装置和介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189225B2 (en) * 2012-10-16 2015-11-17 Imprivata, Inc. Secure, non-disruptive firmware updating
US9472248B2 (en) * 2014-03-28 2016-10-18 Intel Corporation Method and apparatus for implementing a heterogeneous memory subsystem
GB2549722B (en) * 2016-04-25 2018-09-26 Imagination Tech Ltd Communications interface circuit architecture
US10860305B1 (en) * 2017-09-29 2020-12-08 Amazon Technologies, Inc. Secure firmware deployment
US11048552B2 (en) * 2018-05-30 2021-06-29 Texas Instruments Incorporated High-speed broadside communications and control system
US11079784B2 (en) * 2019-04-19 2021-08-03 Samsung Electronics Co., Ltd. Power management integrated circuit (PMIC), memory module and computing system including a PMIC, and method of operating a memory system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485953A (zh) * 2021-05-26 2021-10-08 加弘科技咨询(上海)有限公司 多核嵌入式系统及其基于串口虚拟化实现通信的方法
CN113434179A (zh) * 2021-07-08 2021-09-24 恒安嘉新(北京)科技股份公司 一种可编程电源的在线升级方法、装置、设备及存储介质
CN113434179B (zh) * 2021-07-08 2023-12-19 恒安嘉新(北京)科技股份公司 一种可编程电源的在线升级方法、装置、设备及存储介质
CN116578326A (zh) * 2023-05-23 2023-08-11 南京国电南自电网自动化有限公司 基于多核处理器的继电保护程序在线升级的装置及方法
CN116743883A (zh) * 2023-08-15 2023-09-12 中移(苏州)软件技术有限公司 一种智能网卡、数据处理系统及其工作方法
CN116743883B (zh) * 2023-08-15 2023-11-03 中移(苏州)软件技术有限公司 一种智能网卡、数据处理系统及其工作方法

Also Published As

Publication number Publication date
US20220206780A1 (en) 2022-06-30
US11899612B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
CN112783818A (zh) 一种多核嵌入式系统的在线升级方法及系统
WO2019228077A1 (zh) 实现数据传输的方法、装置、电子设备及计算机可读存储介质
US20120290763A1 (en) Method and system of complete mutual access of multiple-processors
US9952643B2 (en) Device power management state transition latency advertisement for faster boot time
US10296356B2 (en) Implementation of reset functions in an SoC virtualized device
US8041867B2 (en) Method and apparatus for enhancing data rate of advanced micro-controller bus architecture
US9424193B2 (en) Flexible arbitration scheme for multi endpoint atomic accesses in multicore systems
KR102365312B1 (ko) 스토리지 컨트롤러, 연산 스토리지 장치, 및 연산 스토리지 장치의 동작 방법
CN110941578B (zh) 一种具有dma功能的lio的设计方法及装置
Kodama et al. PEACH2: an FPGA-based PCIe network device for tightly coupled accelerators
CN113742269B (zh) 用于epa设备的数据传输方法、处理设备和介质
WO2015169054A1 (zh) 一种实现数据一致性的方法、装置及计算机存储介质
JP2012520533A (ja) オン・ダイ・システム・ファブリック・ブロックの制御
CN112965924A (zh) 一种AHB-to-AXI桥接器及激进式处理方法
US9183150B2 (en) Memory sharing by processors
US9304925B2 (en) Distributed data return buffer for coherence system with speculative address support
US9372796B2 (en) Optimum cache access scheme for multi endpoint atomic access in a multicore system
CN109597651B (zh) 一种基于mpc7410处理器的串口和网口模块开发方法
US6425071B1 (en) Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus
CN113485953A (zh) 多核嵌入式系统及其基于串口虚拟化实现通信的方法
US20160314086A1 (en) Secure digital host controller virtualization
US11327899B1 (en) Hardware-based virtual-to-physical address translation for programmable logic masters in a system on chip
KR100475438B1 (ko) 데이터 버스 시스템 및 버스간 크로스 액세스 방법
KR100496652B1 (ko) 고성능 병렬신호처리 시스템을 위한 hpi-emif 브릿지
Lv et al. Design of Key Components of Remote Sensing Satellite Scene Simulation Simulator Based on NVMe Technology

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