CN113703818A - 设备升级方法和装置、计算机设备和计算机可读存储介质 - Google Patents
设备升级方法和装置、计算机设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113703818A CN113703818A CN202110948124.2A CN202110948124A CN113703818A CN 113703818 A CN113703818 A CN 113703818A CN 202110948124 A CN202110948124 A CN 202110948124A CN 113703818 A CN113703818 A CN 113703818A
- Authority
- CN
- China
- Prior art keywords
- equipment
- upgrading
- data
- processor
- upgrade
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种设备升级方法和装置、计算机设备和计算机可读存储介质。所述方法包括:主处理器将多个设备中各设备的设备升级数据写入共享内存区;多个从处理器分别从所述共享内存区获取设备升级数据,基于所述设备升级数据并行升级相应的设备;所述主处理器在确定所述相应的设备已升级之后,将设备集中除所述多个设备之外的其它设备的设备升级数据写入共享内存区,直至所述设备集中的设备升级完毕。采用本方法能够缩短设备升级所花费的时间。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种设备升级方法和装置、计算机设备和计算机可读存储介质。
背景技术
随着产品设备功能的不断提升,异构系统被使用得也越来越多。随着控制器的增多,产品的升级也越来越复杂,从而导致产品升级的时间随之加长。传统的设计方式是系统得到升级数据包后,通过不同的升级接口按照指定的顺序依次升级设备,可称之为串行升级。传统的方式存在升级花费时间较长的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够缩短升级花费时间的设备升级方法和装置、计算机设备和计算机可读存储介质。
一种设备升级方法,所述方法包括:
主处理器将多个设备中各设备的设备升级数据写入共享内存区;
多个从处理器分别从所述共享内存区获取设备升级数据,基于所述设备升级数据并行升级相应的设备;
所述主处理器在确定所述相应的设备已升级之后,将设备集中除所述多个设备之外的其它设备的设备升级数据写入共享内存区,直至所述设备集中的设备升级完毕。
一种设备升级装置,所述装置包括主处理器和多个从处理器,其中:
所述主处理器用于将多个设备中各设备的设备升级数据写入共享内存区;
多个从处理器用于分别从所述共享内存区获取设备升级数据,基于所述设备升级数据并行升级相应的设备;
所述主处理器用于在确定所述相应的设备已升级之后,将设备集中除所述多个设备之外的其它设备的设备升级数据写入共享内存区,直至所述设备集中的设备升级完毕。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现各实施例中设备升级方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现各实施例中设备升级方法的步骤。
本实施例中设备升级方法和装置、计算机设备和计算机可读存储介质,采用了双核通讯方式进行信息传递,通过主处理器将设备的设备升级数据写到指定的共享内存区,其它从处理器读取共享内存区的数据从而启动对相应设备的升级;主处理器在确定相应的设备已升级之后,则将其它设备的设备升级数据写入共享内存区供从处理器读取后升级,在此过程中,主处理器充当指挥者,协调其它处理器实现对设备的升级,而从处理器作为执行者对设备执行升级动作,能够充分利用多处理器资源,大大缩短设备升级时所花费的时间。
附图说明
图1为一个实施例中设备升级方法的应用场景示意图;
图2为一个实施例中设备升级方法的流程示意图;
图3为另一个实施例中设备升级方法的流程示意图;
图4为又一个实施例中设备升级方法的流程示意图;
图5为一个实施例中设备升级装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在一个实施例中,如图1所示,为一个实施例中设备升级方法的应用场景示意图。图中包括第一设备110,第一设备中包括主处理器1102和至少两个从处理器1104。图1中还包括第二设备120、第三设备130……第N设备,以及共享内存区140。主处理器1102将第二设备120和第三设备130各自的设备升级数据写入共享内存区140。从处理器1104分别从共享内存区140获取设备升级数据,基于设备升级数据并行升级相应的设备。主处理器1102在确定第二设备120和第三设备130已升级后,将设备集中除了第二设备120和第三设备130之外的其它设备的设备升级数据写入共享内存区,直至第N设备也升级完毕。SOC(System onChip,系统级芯片)应用于第一设备110中,主处理器1102可以是A核处理器,从处理器1104可以是M核、R核中至少一种。
在一个实施例中,如图2所示,为一个实施例中设备升级方法的流程示意图,其中包括:
步骤202,主处理器将多个设备中各设备的设备升级数据写入共享内存区。
其中,设备升级数据包括设备升级参数和固件数据。其中,设备升级参数用于表示设备升级所需的参数等。例如设备升级参数包括起始内存地址、数据大小、设备名、升级标志等。固件数据是通过设备的程序代码生成的可执行文件。共享内存区是指主处理器和从处理器均可访问的内存。设备可以是指各种与MCU(Microcontroller Unit,微控制单元)相关的设备。
具体地,存在多个设备需要进行升级。一般设备的固件数据存储在flash存储器中。有些从处理器不方便读取数据,因此主处理器将多个设备中各设备的设备升级数据从flash存储器中读取,并写入共享内存区。
步骤204,多个从处理器分别从共享内存区获取设备升级数据,基于设备升级数据并行升级相应的设备。
其中,每个从处理器在同一时间升级一个设备。即从处理器单线程工作。
具体地,多个从处理器分别从共享内存区获取不同的设备升级数据,分别调用相应设备的升级接口,基于获取的设备升级数据并行升级相应的设备。例如,多个从处理器包括A处理器和B处理器。共享内存区中包括第二设备的设备升级数据和第三设备的设备升级数据。那么,A处理器从共享内存区中获取第二设备的设备升级数据,并升级第二设备。B处理器从共享内存区中获取第三设备的设备升级数据,并升级第三设备。A处理器和B处理器并行升级。
步骤206,主处理器在确定相应的设备已升级之后,将设备集中除多个设备之外的其它设备的设备升级数据写入共享内存区,直至设备集中的设备升级完毕。
其中,设备集中包括至少两个设备。每个设备均具有各自对应的设备升级数据。具体地,在设备集中的设备未全部升级完成的情况下,主处理器在确定相应的设备已升级之后,将设备集中除该多个设备之外的其它设备的设备升级数据写入共享内存区。
具体地,从处理器在对相应的设备升级之后,向主处理器发送与设备升级成功相关的消息。主处理器接收到该与设备升级成功相关的消息之后,且在设备集中的设备未全部升级完成的情况下,将设备集中除该多个设备之外的其它设备的设备升级数据写入共享内存区。之后多个从处理器分别从共享内存区获取设备升级数据,并基于设备升级数据并行升级相应的设备,直至设备集中的设备升级完毕。主处理器将设备升级完成的消息显示在屏幕或者shell中,表示完成本次的设备升级。
本实施例中,当主处理器确定共享内存区中的设备升级数据所对应的升级标志为已升级时,确定相应的设备已升级。
本实施例中,采用了双核通讯方式进行信息传递,通过主处理器将设备的设备升级数据写到指定的共享内存区,其它从处理器读取共享内存区的数据从而启动对相应设备的升级;主处理器在确定相应的设备已升级之后,则将其它设备的设备升级数据写入共享内存区供从处理器读取后升级,在此过程中,主处理器充当指挥者,协调其它处理器实现对设备的升级,而从处理器作为执行者对设备执行升级动作,能够充分利用多处理器资源,大大缩短升级时所花费的时间。
在一个实施例中,主处理器将多个设备中各设备的设备升级数据写入共享内存区,包括:主处理器在SPL阶段或者UBOOT阶段将多个设备中各设备的设备升级数据写入共享内存区;主处理器启动系统。
多个从处理器分别从共享内存区获取设备升级数据,包括:在系统启动后,从处理器分别从共享内存区获取设备升级数据。
其中,SPL阶段和UBOOT阶段是在系统启动时的第二阶段和第三阶段。具体系统启动阶段流程为BOOT→SPL→UBOOT→Linux,BOOT为SOC的原厂启动代码,无法修改。SPL和UBOOT为2级和3级启动代码,可以修改。系统具体可以是Linux系统。
具体地,主处理器在SPL阶段或者UBOOT阶段将多个设备中各设备的设备升级数据写入共享数据区。后续主处理器启动系统。在系统启动后,从处理器分别从共享内存区获取设备升级数据。
本实施例中,一些设备在系统启动时需要烧录固件,如FPGA(Field ProgrammableGate Array,现场可编程逻辑门阵列)的被动配置方式,传统方式需要等待系统启动完成后再进行固件烧录,此时会增加系统的启动时间,影响用户体验通过UBOOT会启动系统,而系统启动会消耗一定时间,并且系统内的各个处理器都忙,因此在系统启动等待时由从处理器同时升级设备,当系统启动完成后升级也结束,相比于系统启动完成后再去升级的操作,本实施例中的方式能够。因此需要在Linux系统启动前将升级数据写到内存中,因此主处理器需要在SPL或UBOOT阶段将各设备的设备升级数据写入共享内存区。本实施例中的方式利用从处理器启动速度快的特点烧录固件数据,主处理器用于正常引导系统,使得系统启动和烧录同时进行,减少启动时间。
在一个实施例中,共享内存区包括共享参数区和共享数据区。多个从处理器分别从共享内存区获取设备升级数据,基于设备升级数据并行升级相应的设备,包括:对于各从处理器,从处理器从共享参数区获取固件数据地址;从处理器根据固件数据地址从共享数据区获取对应的固件数据;多个从处理器基于对应的固件数据并行升级相应的设备。
其中,共享参数区用于存储设备升级参数。设备升级参数包括起始内存地址、数据大小、设备名、升级标志等。共享数据区用于存储固件数据。
具体地,共享内存区被划分为共享参数区和共享数据区。对于多个从处理器中各从处理器,从处理器从共享参数区获取固件数据地址;从处理器根据固件数据地址从共享数据区获取对应的固件数据。多个从处理器基于对应的固件数据并行升级相应的设备。
本实施例中,由于设备可能有多个,因此固件数据也可能会有多个,为方便管理,需要将固件数据所对应的固件数据地址记录下来放到共享参数区,从处理器读取固件数据地址便可获取到该设备的固件数据,从而提高数据读取效率。
在一个实施例中,该设备升级方法还包括:在主处理器将设备升级数据写入共享内存区后,开启定时器;主处理器在预设时长内读取到每个设备所对应的用于表征操作完成的标志时,停止定时器。
具体地,定时器用于设定升级所用的最大时间。用于表征操作完成的标志可以是指升级完成的标志,也可以是升级过程中出现错误的标志。例如升级完成的标志可以是置位bit7位,升级过程中出现错误的标志可以是置位bit1位。在主处理器将设备升级数据写入共享内存区后,主处理器开启定时器。主处理器在预设时长内读取到每个设备所对应的用于表征操作完成的标志时,停止定时器。
本实施例中,在主处理器将设备升级数据写入共享内存区后,开启定时器,主处理器在预设时长内读取到用于表征操作完成的标志时,停止定时器,能够通过定时器控制升级时间,避免在升级时出现问题难以被发觉。
在一个实施例中,在多个从处理器分别从共享内存区获取设备升级数据之后,该设备升级方法还包括:从处理器将相应的设备升级数据设置为不可用;当从处理器完成对应的设备升级时,将相应的设备升级数据置位第一升级标志;当从处理器在升级时出现错误时,将相应的设备升级数据置位第二升级标志。
主处理器在预设时长内读取到表征操作完成的标志时,停止定时器,包括:主处理器在预设时长内读取到多个设备升级数据所对应的第一升级标志和第二升级标志中至少一种时,停止定时器。
其中,不可用是指该设备升级数据在已被读取后,不可被其它从处理器读取。第一升级标志和第二升级标志均为升级标志,但不是同一升级标志。例如,第一升级标志可以是置位bit7,第二升级标志可以是置位bit1。
具体地,在多个从处理器分别从共享内存区获取设备升级数据之后,从处理器将设备升级数据设置为不可用。当从处理器完成对应的设备升级时,从处理器将相应的设备升级数据置位第一升级标志。当从处理器在升级时出现错误时,从处理器将相应的设备升级数据置位第二升级标志。主处理器在预设时长内读取到该多个设备升级数据中每个设备所对应的第一升级标志和第二升级标志中至少一种时,停止定时器。例如,设备升级数据有10个,那么主处理器读取到10个设备升级数据均有对应的第一升级标志或者第二升级标志时,停止定时器。
本实施例中,在多个处理器分别从共享内存区获取设备升级数据之后,从处理器将相应的设备升级数据设置为不可用,能够防止其他处理器重复执行该设备升级数据;当从处理器完成对应的设备升级时,置位第一升级标志,当从处理器在升级时出现错误时,置位第二升级标志,第一升级标志和第二升级标志都用于表征操作完成,那么主处理器可以停止定时器,表示设备升级成功。
在一个实施例中,该设备升级方法还包括:当存在正在升级的标志且定时器达到预设定时时间时,从处理器停止升级相应的设备并报错。
其中,正在升级的标志是指用于表征设备正在升级的标志。例如,正在升级的标志可以是置位bit3等不限于此。
本实施例中,当存在正在升级的标志且定时器达到预设定时时间时,说明设备升级时间过长,可能出现错误,因此从处理器停止升级相应的设备并报错,能够减少设备升级时间。
在一个实施例中,主处理器为A核,从处理器为M核、R核中的一种。具体地,设备升级方法应用于SOC(System on Chip,系统级芯片)中。A核是面向性能密集型系统的应用处理器内核,R核是面向实时应用的高性能内核,M核是面向各类嵌入式应用的微控制器内核。通过采用A核进行统筹,M核和R核实现设备升级,能够充分利用资源。
此外,在SOC系统中,M核和R核启动速度快,因此使用M和和R核区烧录设备升级数据,A核用于正常引导系统,使得系统启动和烧录同时进行,缩短启动时间。
在一个实施例中,如图3所示,为另一个实施例中设备升级方法的流程示意图。本实施例中适用于Linux系统启动完成后的设备升级。本实施例中采用双核通讯方式作为信息传递。利用片内各处理器都可对片上资源进行操作为依靠,将处理器分为主处理器和从处理器。划分一片内存区域即共享数据区作为升级烧录的数据交换区,一部分内存区域即共享参数区作为参数区使用。共享参数区指定升级文件数据的起始内存地址(addr)、数据大小(size)、设备名(filename)、升级标志(flag)等。共享数据区中包含固件数据。所有处理器都可访问共享参数区和共享数据区的内存。共享数据区中包含了设备db_mcu、main_FPGA、main_fgpa 的固件数据。主处理器将升级数据包的各个设备升级参数写到共享内存的参数区,将固件数据写到共享数据区。该共享内存区在各处理器之间互斥访问。从处理器读取共享数据区得到需要升级的设备及内容从而调用升级接口启动对该设备的升级烧录。当设备烧录完成后通知主处理器,主处理器再将下一个设备信息升级信息复制到内存中,启动下一个设备的升级,以此循环。当所有设备升级标志都表示成功后,主处理器将升级完成信息显示在屏幕或shell中,表示完成本次的产品升级。
其中,在Linux系统中可以为每一个处理器指定执行一个线程,该线程的作用就是读取共享参数区中的信息,得到需要升级的设备,然后根据固件起始地址找到固件数据并置位bit6位,防止其他处理器重复执行。当升级完成后,置位bit7表示升级完成。当升级过程中出现错误时置位升级标志bit1。bit1和bit7表示升级完成的状态。
本实施例中,相对于传统的升级而言,使用本实施例的技术方案可大大缩短升级所消耗的时间,因为本实施例的方案可以使得芯片上的多个处理器同时间为不同的设备更新固件,相比传统的串行升级来说,本实施例采用并行升级的方式,从而缩短升级时间,提高升级效率。
在一个实施例中,如图4所示,为又一个实施例中设备升级方法的流程示意图。系统上电启动,启动流程为boot→SPL→uboot→Linux,在进入SPL/UBOOT阶段后,A核唤醒M/R核。由于M、R核启动速度快,A和在SPL或UBOOT阶段将升级参数写入共享参数区,将升级数据写入共享数据区。共享参数区指定设备升级文件数据的起始内存地址(addr)、数据大小(size)、设备名(filename)、升级标志(flag)等。共享数据区中包含了设备db_mcu、main_FPGA、main_fgpa 的固件数据。从处理器读取共享参数区得到需要升级的设备及内容从而调用升级接口启动对该设备的升级烧录。当设备烧录完成后通知主处理器,主处理器再将下一个设备信息升级信息复制到内存中,启动下一个设备的升级,以此循环。在系统启动后,读取设备的升级标志,或者与M核和R核进行核间通讯查询设备的升级状态。当所有设备升级标志表示成功时,完成本次的产品升级。
本实施例中,应用于实验平台:系统架构Rcar-M3+FPG,传统方式从系统上电到系统启动完成时间为15秒,按照本实施例中的方案从上电运行到系统启动完成时间为12秒,因此,相对于传统的系统启动而言,本申请的方案可以在A核启动系统的同时为外围设备进行固件烧录,从而缩短启动时间。
在一个实施例中,一种设备升级方法,包括:
步骤(a1),主处理器将多个设备中各设备的设备升级数据写入共享内存区。共享内存区包括共享参数区和共享数据区。主处理器为A核。
步骤(a2),开启定时器。
步骤(a3),对于多个从处理器中各从处理器,从处理器从共享参数区获取固件数据地址,从处理器将相应的设备升级数据设置为不可用;从处理器为M核、R核中至少一种。
步骤(a4),从处理器根据固件数据地址从共享数据区获取对应的固件数据。
步骤(a5),多个从处理器基于对应的固件数据并行升级相应的设备。
步骤(a6),当从处理器完成对应的设备升级时,将相应的设备升级数据置位第一升级标志。
步骤(a7),当从处理器在升级时出现错误时,将相应的设备升级数据置位第二升级标志。
步骤(a8),主处理器在确定相应的设备已升级之后,将设备集中除多个设备之外的其它设备的设备升级数据写入共享内存区,直至设备集中的设备升级完毕。
步骤(a9),主处理器在预设时长内读取到每个设备所对应的第一升级标志和第二升级标志中至少一种时,停止定时器。
步骤(a10),当存在正在升级的标志且定时器达到预设定时时间时,从处理器停止升级相应的设备并报错。
本实施例中,与传统的设备升级方法相比,通过多个处理器并行为不同设备进行设备升级的方式,能够大大缩短升级所消耗的时间。
在一个实施例中,一种设备升级方法,包括:
步骤(b1),主处理器在SPL阶段或者UBOOT阶段将多个设备中各设备的设备升级数据写入共享内存区。共享内存区包括共享参数区和共享数据区;主处理器为A核。
步骤(b2),开启定时器。
步骤(b3),主处理器启动系统。
步骤(b4),对于多个从处理器中各从处理器,从处理器从共享参数区获取固件数据地址,从处理器将相应的设备升级数据设置为不可用;从处理器为M核、R核中至少一种。
步骤(b5),从处理器根据固件数据地址从共享数据区获取对应的固件数据。
步骤(b6),多个从处理器基于对应的固件数据并行升级相应的设备。
步骤(b7),当从处理器完成对应的设备升级时,将相应的设备升级数据置位第一升级标志。
步骤(b8),当从处理器在升级时出现错误时,将相应的设备升级数据置位第二升级标志。
步骤(b9),主处理器在确定相应的设备已升级之后,将设备集中除多个设备之外的其它设备的设备升级数据写入共享内存区,直至设备集中的设备升级完毕。
步骤(b10),主处理器在预设时长内读取到每个设备所对应的第一升级标志和第二升级标志中至少一种时,停止定时器。
步骤(b11),当存在正在升级的标志且定时器达到预设定时时间时,从处理器停止升级相应的设备并报错。
本实施例中,与传统的系统启动方式相比,能够在A核启动系统的同时对外围设备进行固件数据烧录,从而缩短系统启动时间。
应该理解的是,虽然上述图3和图4的流程图中各个步骤按照箭头的指示依次显示,步骤(a1)至步骤(a10)、步骤(b1)至步骤(b11)中的各个步骤按照标号指示依次显示,但是这些步骤并不是必然按照箭头或者数字指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3和图4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,为一个实施例中设备升级装置的结构框图,图5提供了一种设备升级装置,包括主处理器502和从处理器504,其中:
主处理器502用于将多个设备中各设备的设备升级数据写入共享内存区;
多个从处理器504用于分别从共享内存区获取设备升级数据,基于设备升级数据并行升级相应的设备;
主处理器502用于在确定相应的设备已升级之后,将设备集中除多个设备之外的其它设备的设备升级数据写入共享内存区,直至设备集中的设备升级完毕。
本实施例中,采用了双核通讯方式进行信息传递,通过主处理器将设备的设备升级数据写到指定的共享内存区,其它从处理器读取共享内存区的数据从而启动对相应设备的升级;主处理器在确定相应的设备已升级之后,则将其它设备的设备升级数据写入共享内存区供从处理器读取后升级,在此过程中,主处理器充当指挥者,协调其它处理器实现对设备的升级,而从处理器作为执行者对设备执行升级动作,能够充分利用多处理器资源,大大缩短升级时所花费的时间。
在一个实施例中,主处理器502用于在SPL阶段或者UBOOT阶段将多个设备中各设备的设备升级数据写入共享内存区;主处理器502用于启动系统;在系统启动后,从处理器504分别用于从共享内存区获取设备升级数据。
本实施例中,一些设备在系统启动时需要烧录固件,如FPGA(Field ProgrammableGate Array,现场可编程逻辑门阵列)的被动配置方式,传统方式需要等待系统启动完成后再进行固件烧录,此时会增加系统的启动时间,影响用户体验通过UBOOT会启动系统,而系统启动会消耗一定时间,并且系统内的各个处理器都忙,因此在系统启动等待时由从处理器同时升级设备,当系统启动完成后升级也结束,相比于系统启动完成后再去升级的操作,本实施例中的方式能够。因此需要在Linux系统启动前将升级数据写到内存中,因此主处理器需要在SPL或UBOOT阶段将各设备的设备升级数据写入共享内存区。本实施例中的方式利用从处理器启动速度快的特点烧录固件数据,主处理器用于正常引导系统,使得系统启动和烧录同时进行,减少启动时间。
在一个实施例中,共享内存区包括共享参数区和共享数据区。对于各从处理器504,从处理器504用于从共享参数区获取固件数据地址;从处理器504用于根据固件数据地址从共享数据区获取对应的固件数据;多个从处理器504用于基于对应的固件数据并行升级相应的设备。
本实施例中,由于设备可能有多个,因此固件数据也可能会有多个,为方便管理,需要将固件数据所对应的固件数据地址记录下来放到共享参数区,从处理器读取固件数据地址便可获取到该设备的固件数据,从而提高数据读取效率。
在一个实施例中,在主处理器502将设备升级数据写入共享内存区后,主处理器502还用于开启定时器;主处理器502用于在预设时长内读取到每个设备所对应的用于表征操作完成的标志时,停止定时器。
本实施例中,在主处理器将设备升级数据写入共享内存区后,开启定时器,主处理器在预设时长内读取到用于表征操作完成的标志时,停止定时器,能够通过定时器控制升级时间,避免在升级时出现问题难以被发觉。
在一个实施例中,从处理器504用于将相应的设备升级数据设置为不可用;当从处理器504完成对应的设备升级时,从处理器504用于将相应的设备升级数据置位第一升级标志;当从处理器504在升级时出现错误时,从处理器504用于将相应的设备升级数据置位第二升级标志。
本实施例中,在多个处理器分别从共享内存区获取设备升级数据之后,从处理器将相应的设备升级数据设置为不可用,能够防止其他处理器重复执行该设备升级数据;当从处理器完成对应的设备升级时,置位第一升级标志,当从处理器在升级时出现错误时,置位第二升级标志,第一升级标志和第二升级标志都用于表征操作完成,那么主处理器可以停止定时器,表示设备升级成功。
在一个实施例中,当存在正在升级的标志且定时器达到预设定时时间时,从处理器504用于停止升级相应的设备并报错。
本实施例中,当存在正在升级的标志且定时器达到预设定时时间时,说明设备升级时间过长,可能出现错误,因此从处理器停止升级相应的设备并报错,能够减少设备升级时间。
在一个实施例中,主处理器502为A核,从处理器504为M核、R核中的一种。
本实施例中,通过采用A核进行统筹,M核和R核实现设备升级,能够充分利用资源。此外,在SOC系统中,M核和R核启动速度快,因此使用M和和R核区烧录设备升级数据,A核用于正常引导系统,使得系统启动和烧录同时进行,缩短启动时间。
关于设备升级装置的具体限定可以参见上文中对于设备升级方法的限定,在此不再赘述。上述设备升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端设备,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的处理器包括主处理器和至少两个从处理器。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种设备升级方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各设备升级方法实施例的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各设备升级方法实施例的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例中流程。其中,本申请所提供的各实施例中所使用地对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种设备升级方法,其特征在于,所述方法包括:
主处理器将多个设备中各设备的设备升级数据写入共享内存区;
多个从处理器分别从所述共享内存区获取设备升级数据,基于所述设备升级数据并行升级相应的设备;
所述主处理器在确定所述相应的设备已升级之后,将设备集中除所述多个设备之外的其它设备的设备升级数据写入共享内存区,直至所述设备集中的设备升级完毕。
2.根据权利要求1所述的方法,其特征在于,所述主处理器将多个设备中各设备的设备升级数据写入共享内存区,包括:
主处理器在SPL阶段或者UBOOT阶段将多个设备中各设备的设备升级数据写入共享内存区;
所述主处理器启动系统;
所述多个从处理器分别从所述共享内存区获取设备升级数据,包括:
在所述系统启动后,所述从处理器分别从所述共享内存区获取设备升级数据。
3.根据权利要求1或2所述的方法,其特征在于,所述共享内存区包括共享参数区和共享数据区;
所述多个从处理器分别从所述共享内存区获取设备升级数据,基于所述设备升级数据并行升级相应的设备,包括:
对于多个从处理器中各从处理器,所述从处理器从共享参数区获取固件数据地址;
所述从处理器根据所述固件数据地址从所述共享数据区获取对应的固件数据;
多个从处理器基于对应的固件数据并行升级相应的设备。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在主处理器将设备升级数据写入共享内存区后,开启定时器;
所述主处理器在预设时长内读取到每个设备所对应的用于表征操作完成的标志时,停止所述定时器。
5.根据权利要求4所述的方法,其特征在于,在所述多个从处理器分别从所述共享内存区获取设备升级数据之后,所述方法还包括:
所述从处理器将相应的所述设备升级数据设置为不可用;
当所述从处理器完成对应的设备升级时,将相应的设备升级数据置位第一升级标志;
当所述从处理器在升级时出现错误时,将相应的设备升级数据置位第二升级标志;
所述主处理器在预设时长内读取到每个设备所对应的表征操作完成的标志时,停止所述定时器,包括:
所述主处理器在预设时长内读取到每个设备所对应的第一升级标志和第二升级标志中至少一种时,停止定时器。
6.根据权利要求1、2、4或5所述的方法,其特征在于,所述方法还包括:
当存在正在升级的标志且定时器达到预设定时时间时,所述从处理器停止升级相应的设备并报错。
7.根据权利要求1、2、4或5所述的方法,其特征在于,所述主处理器为A核,所述从处理器为M核、R核中至少一种。
8.一种设备升级装置,其特征在于,所述装置包括主处理器和多个从处理器,其中:
所述主处理器用于将多个设备中各设备的设备升级数据写入共享内存区;
多个从处理器用于分别从所述共享内存区获取设备升级数据,基于所述设备升级数据并行升级相应的设备;
所述主处理器用于在确定所述相应的设备已升级之后,将设备集中除所述多个设备之外的其它设备的设备升级数据写入共享内存区,直至所述设备集中的设备升级完毕。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948124.2A CN113703818B (zh) | 2021-08-18 | 设备升级方法和装置、计算机设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948124.2A CN113703818B (zh) | 2021-08-18 | 设备升级方法和装置、计算机设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113703818A true CN113703818A (zh) | 2021-11-26 |
CN113703818B CN113703818B (zh) | 2024-05-17 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116466973A (zh) * | 2023-04-24 | 2023-07-21 | 合芯科技有限公司 | 一种多并发固件升级方法、系统、计算机设备及存储介质 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030055698A (ko) * | 2001-12-27 | 2003-07-04 | 한국전자통신연구원 | 네트워크 시스템에서의 이미지 파일 업그레이드 방법 |
CN1752933A (zh) * | 2005-11-08 | 2006-03-29 | 北京中星微电子有限公司 | 一种支持固件在线升级的芯片系统及其在线升级方法 |
US20080168434A1 (en) * | 2007-01-04 | 2008-07-10 | International Business Machines Corporation | Apparatus and method to update multiple devices disposed in a computing system |
CN101860852A (zh) * | 2010-03-03 | 2010-10-13 | 宇龙计算机通信科技(深圳)有限公司 | 一种升级软件的方法、系统及移动终端升级软件的方法 |
KR20140057869A (ko) * | 2012-11-05 | 2014-05-14 | 콘티넨탈 오토모티브 시스템 주식회사 | 차량용 임베디드 시스템의 데이터 제어 방법 |
CN104821896A (zh) * | 2015-04-27 | 2015-08-05 | 成都腾悦科技有限公司 | 多设备同时升级系统及方法 |
CN104969183A (zh) * | 2013-03-14 | 2015-10-07 | 英特尔公司 | 软件模块的并行操作 |
CN106951277A (zh) * | 2017-02-15 | 2017-07-14 | 青岛亿联客信息技术有限公司 | 多芯片固件程序更新方法及多芯片固件程序更新系统 |
CN108073545A (zh) * | 2016-11-17 | 2018-05-25 | 联芯科技有限公司 | 一种多处理器通信装置及方法 |
CN109375934A (zh) * | 2018-09-30 | 2019-02-22 | 天津天地伟业电子工业制造有限公司 | 一种网络集群设备系统的升级方法 |
CN110764924A (zh) * | 2018-07-27 | 2020-02-07 | 普天信息技术有限公司 | 一种多核处理器的核间通信方法及装置 |
CN110990034A (zh) * | 2019-10-25 | 2020-04-10 | 上海艾拉比智能科技有限公司 | Ecu升级方法、系统、电子设备及存储介质 |
CN111273931A (zh) * | 2020-01-20 | 2020-06-12 | 宁波吉利汽车研究开发有限公司 | 一种车载行车电脑并行升级方法及装置 |
US20200193027A1 (en) * | 2018-12-18 | 2020-06-18 | Ubtech Robotics Corp Ltd | Firmware upgrade method, slave station of robot, and machine readable storage medium |
CN111611001A (zh) * | 2020-05-20 | 2020-09-01 | 江苏阿诗特能源科技有限公司 | 一种移动终端、储能管理器及其升级系统 |
US20200301699A1 (en) * | 2019-03-22 | 2020-09-24 | International Business Machines Corporation | Embedded application upgrade |
CN111831350A (zh) * | 2020-06-02 | 2020-10-27 | 深圳木成林科技有限公司 | 应用进程配置更新方法、系统、终端设备及存储介质 |
CN112463190A (zh) * | 2020-11-24 | 2021-03-09 | 广州橙行智动汽车科技有限公司 | 一种车辆升级方法和装置 |
CN112650513A (zh) * | 2020-12-28 | 2021-04-13 | 深圳市亚辉龙生物科技股份有限公司 | 程序升级方法、装置、计算机设备和存储介质 |
CN112732310A (zh) * | 2021-01-22 | 2021-04-30 | 深圳市信义科技有限公司 | 基于嵌入式引导分区固件升级方法、系统、设备及介质 |
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030055698A (ko) * | 2001-12-27 | 2003-07-04 | 한국전자통신연구원 | 네트워크 시스템에서의 이미지 파일 업그레이드 방법 |
CN1752933A (zh) * | 2005-11-08 | 2006-03-29 | 北京中星微电子有限公司 | 一种支持固件在线升级的芯片系统及其在线升级方法 |
US20080168434A1 (en) * | 2007-01-04 | 2008-07-10 | International Business Machines Corporation | Apparatus and method to update multiple devices disposed in a computing system |
CN101860852A (zh) * | 2010-03-03 | 2010-10-13 | 宇龙计算机通信科技(深圳)有限公司 | 一种升级软件的方法、系统及移动终端升级软件的方法 |
KR20140057869A (ko) * | 2012-11-05 | 2014-05-14 | 콘티넨탈 오토모티브 시스템 주식회사 | 차량용 임베디드 시스템의 데이터 제어 방법 |
CN104969183A (zh) * | 2013-03-14 | 2015-10-07 | 英特尔公司 | 软件模块的并行操作 |
CN104821896A (zh) * | 2015-04-27 | 2015-08-05 | 成都腾悦科技有限公司 | 多设备同时升级系统及方法 |
CN108073545A (zh) * | 2016-11-17 | 2018-05-25 | 联芯科技有限公司 | 一种多处理器通信装置及方法 |
CN106951277A (zh) * | 2017-02-15 | 2017-07-14 | 青岛亿联客信息技术有限公司 | 多芯片固件程序更新方法及多芯片固件程序更新系统 |
CN110764924A (zh) * | 2018-07-27 | 2020-02-07 | 普天信息技术有限公司 | 一种多核处理器的核间通信方法及装置 |
CN109375934A (zh) * | 2018-09-30 | 2019-02-22 | 天津天地伟业电子工业制造有限公司 | 一种网络集群设备系统的升级方法 |
US20200193027A1 (en) * | 2018-12-18 | 2020-06-18 | Ubtech Robotics Corp Ltd | Firmware upgrade method, slave station of robot, and machine readable storage medium |
US20200301699A1 (en) * | 2019-03-22 | 2020-09-24 | International Business Machines Corporation | Embedded application upgrade |
CN110990034A (zh) * | 2019-10-25 | 2020-04-10 | 上海艾拉比智能科技有限公司 | Ecu升级方法、系统、电子设备及存储介质 |
CN111273931A (zh) * | 2020-01-20 | 2020-06-12 | 宁波吉利汽车研究开发有限公司 | 一种车载行车电脑并行升级方法及装置 |
CN111611001A (zh) * | 2020-05-20 | 2020-09-01 | 江苏阿诗特能源科技有限公司 | 一种移动终端、储能管理器及其升级系统 |
CN111831350A (zh) * | 2020-06-02 | 2020-10-27 | 深圳木成林科技有限公司 | 应用进程配置更新方法、系统、终端设备及存储介质 |
CN112463190A (zh) * | 2020-11-24 | 2021-03-09 | 广州橙行智动汽车科技有限公司 | 一种车辆升级方法和装置 |
CN112650513A (zh) * | 2020-12-28 | 2021-04-13 | 深圳市亚辉龙生物科技股份有限公司 | 程序升级方法、装置、计算机设备和存储介质 |
CN112732310A (zh) * | 2021-01-22 | 2021-04-30 | 深圳市信义科技有限公司 | 基于嵌入式引导分区固件升级方法、系统、设备及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116466973A (zh) * | 2023-04-24 | 2023-07-21 | 合芯科技有限公司 | 一种多并发固件升级方法、系统、计算机设备及存储介质 |
CN116466973B (zh) * | 2023-04-24 | 2024-04-05 | 合芯科技有限公司 | 一种多并发固件升级方法、系统、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9558016B2 (en) | Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product | |
JP4886866B2 (ja) | 主記憶装置へのアクセスを高速化する方法および記憶装置システム | |
US9317397B2 (en) | Programmable logic controller (PLC) simulation system, PLC simulator, recording medium, and simulation method | |
CN114580344B (zh) | 测试激励生成方法、验证方法、验证系统及相关设备 | |
WO2017020647A1 (zh) | 基于新型存储器的嵌入式文件系统及其实现方法 | |
JP4834362B2 (ja) | メモリ制御装置。 | |
WO2015127642A1 (en) | Method for debugging computer program | |
US11487258B2 (en) | Controller and control management system | |
TWI707274B (zh) | 用於更新系統之rom編碼之電腦實施方法、電腦系統以及電腦可讀取媒體 | |
JP2014194682A (ja) | 情報処理装置およびその処理方法 | |
CN112631536A (zh) | 一种能源控制器lcd液晶显示控制系统及方法 | |
CN113703818A (zh) | 设备升级方法和装置、计算机设备和计算机可读存储介质 | |
CN113703818B (zh) | 设备升级方法和装置、计算机设备和计算机可读存储介质 | |
JP2007034680A (ja) | システムシミュレーション方法 | |
TWI431530B (zh) | 嵌入式系統及其程式更新方法 | |
JP2009146051A (ja) | 設備管理装置、設備機器ネットワークシステム、データアクセス制御方法、通信トラフィック制御方法、データアクセス制御プログラム、通信トラフィック制御プログラム | |
US11762593B2 (en) | System and method for updating firmware of non-volatile storage devices | |
CN114138314A (zh) | 一种cpu微码升级方法、系统及相关组件 | |
US9563931B2 (en) | Control method and information processing device | |
JP6169306B2 (ja) | 制御システム及びプログラマブルロジックコントローラ | |
US20100049962A1 (en) | Method for loading and updating central processing unit microcode into basic input/output system | |
US20150212826A1 (en) | Information processing apparatus, information processing method, and storage medium | |
CN104937560A (zh) | 用于远程系统调试的方法和装置 | |
KR20190127110A (ko) | Plc 프로그램 처리 장치 | |
JP2010039644A (ja) | 周辺デバイスの動作検証方法、デバイスドライバ・プログラム及びアプリケーション・プログラム |
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 | ||
GR01 | Patent grant |