CN116909633A - 一种固件切换使用方法、装置以及介质 - Google Patents
一种固件切换使用方法、装置以及介质 Download PDFInfo
- Publication number
- CN116909633A CN116909633A CN202310540425.0A CN202310540425A CN116909633A CN 116909633 A CN116909633 A CN 116909633A CN 202310540425 A CN202310540425 A CN 202310540425A CN 116909633 A CN116909633 A CN 116909633A
- Authority
- CN
- China
- Prior art keywords
- firmware
- memory
- standby
- application
- switching
- 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
Links
- 238000000034 method Methods 0.000 title claims description 47
- 230000015654 memory Effects 0.000 claims abstract description 270
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 239000002699 waste material Substances 0.000 abstract description 6
- 230000006872 improvement Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000011449 brick Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本申请公开了一种固件切换使用方法、装置以及介质,相对于当前技术中,需要在系统启动接口接入多个相同的存储器,造成了系统的空间浪费和成本提高,采用本技术方案,启动接口开关连接的存储器只包括管理存储器和应用存储器,管理存储器中存放着管理固件,当切换启动接口开关与管理存储器连接后,系统加载运行管理存储器中的管理固件,通过读取系统特征从备用存储器中读取出备用固件,在切换启动接口开关与应用存储器连接后,将读取出的备用固件写入到应用存储器中作为应用固件,进行系统复位以重新启动系统,系统从应用存储器中加载运行应用固件以实现应用,相对于当前技术减少了启动接口开关连接的存储器的数量,释放了系统空间并降低了成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种固件切换使用方法、装置以及介质。
背景技术
固件是指系统中处理器运行所需的整个程序,固件就是“固化的软件”,是在外部存储器中保存固化的程序文件,是程序的静态保存状态,系统启动时往往从外部非易失性存储器中将固件复制到内部存储器中来运行。现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)系统在使用时因受到FPGA器件自身特性的限制,往往只能使用一种固件,使得系统功能较为固定,只能满足一种使用场景的需要,若使用场景的需求变更,只能重新烧写维护固件。
当前技术中为了扩展FPGA使用的固件数目,通常在FPGA系统的启动接口摆放多个相同的存储器,每个存储器都存放一个固件,各存储器和启动接口之间通过多选一开关进行选通连接,多选一开关采用上位机或系统上其它MCU/CPU等控制器作为控制单元对其进行控制。可见,该方法中存放固件的存储器均需要与启动接口连接,提高了系统成本并且占据空间,并且需要其他控制单元进行多选一开关的辅助控制,不能满足以FPGA为唯一处理器的系统的使用。
由此可见,如何避免在系统的启动接口接入过多的存储器,同时实现对系统接入固件的切换是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种固件切换使用方法、装置以及介质,用于避免在系统的启动接口接入过多的存储器,同时实现对系统接入固件的切换。
为解决上述技术问题,本申请提供一种固件切换使用方法,包括:
切换启动接口开关与管理存储器连接,启动系统以加载运行管理存储器中的管理固件;
通过所述管理固件读取系统特征;
根据读取的所述系统特征读取备用存储器中的备用固件;
切换所述启动接口开关与应用存储器连接;
将所述备用固件写入所述应用存储器中作为应用固件;
进行系统复位以重新启动系统,以使所述系统加载运行所述应用存储器中的应用固件。
优选的,所述通过所述管理固件读取系统特征为:
通过所述管理固件读取系统的管脚特征。
优选的,所述通过所述管理固件读取系统的管脚特征为:通过所述管理固件读取预设管脚的状态;
所述预设管脚包括第一管脚和第二管脚;所述备用固件包括第一备用固件、第二备用固件和第三备用固件;
进一步的,所述根据读取的所述系统特征读取备用存储器中的备用固件为:根据所述系统第一管脚和第二管脚的状态读取所述备用存储器中对应的备用固件;
对应的,若所述第一管脚和所述第二管脚均为上拉状态,则读取所述备用存储器中的第一备用固件;
若所述第一管脚和所述第二管脚均为上拉状态,则读取所述备用存储器中的第二备用固件;
若所述第一管脚为上拉状态,所述第二管脚为下拉状态,则读取备用存储器中的第三备用固件。
优选的,所述第一管脚和所述第二管脚的状态通过插入所述系统的外设的不同而进行切换;
或者根据人工输入指令进行切换。
优选的,在所述将所述备用固件写入所述应用存储器中作为应用固件的步骤之前,还包括:
验证第三管脚的状态以判断是否成功切换所述启动接口开关与应用存储器连接;
若是,则进入所述将所述备用固件写入所述应用存储器中作为应用固件的步骤;
若否,则禁止将所述备用固件写入所述应用存储器。
优选的,在应用固件损坏的情况下,还包括:
切换启动接口开关与管理存储器连接,通过管理固件重新读取系统特征以读取备用固件;
切换启动接口开关与应用存储器连接,将所述备用固件覆盖写入应用存储器中以作为新的应用固件。
优选的,将所述管理存储器定义为只读存储器。
为避免在系统的启动接口接入过多的存储器,同时实现对系统接入固件的切换,本申请还提供一种固件切换使用装置,包括:
第一切换模块,用于切换启动接口开关与管理存储器连接,启动系统以加载运行管理存储器中的管理固件;
特征模块,用于通过所述管理固件读取系统特征;
读取模块,用于根据读取的所述系统特征读取备用存储器中的备用固件;
第二切换模块,用于切换所述启动接口开关与应用存储器连接;
写入模块,用于将所述备用固件写入所述应用存储器中作为应用固件;
复位模块,用于进行系统复位以重新启动系统,以使所述系统加载运行所述应用存储器中的应用固件。
为避免在系统的启动接口接入过多的存储器,同时实现对系统接入固件的切换,本申请还提供另一种固件切换使用装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述的固件切换使用方法的步骤。
为避免在系统的启动接口接入过多的存储器,同时实现对系统接入固件的切换,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的固件切换使用方法的步骤。
本申请所提供的固件切换使用方法,包括:切换启动接口开关与管理存储器连接,启动系统以加载运行管理存储器中的管理固件;通过管理固件读取系统特征;根据读取的系统特征读取备用存储器中的备用固件;切换启动接口开关与应用存储器连接;将备用固件写入应用存储器中作为应用固件;进行系统复位以重新启动系统,以使系统加载运行应用存储器中的应用固件。相对于当前技术中,需要在系统启动接口接入多个相同的存储器,每个存储器中都存放固件,造成了系统的空间浪费和成本提高,采用本技术方案,启动接口开关连接的存储器只包括管理存储器和应用存储器,管理存储器中存放着管理固件,当切换启动接口开关与管理存储器连接后,系统加载运行管理存储器中的管理固件,通过读取系统特征从备用存储器中读取出备用固件,在切换启动接口开关与应用存储器连接后,将读取出的备用固件写入到应用存储器中作为应用固件,进行系统复位以重新启动系统,系统从应用存储器中加载运行应用固件以实现应用。在本技术方案中,在需要切换固件使用时,通过管理固件将备用存储器中的备用固件写入应用存储器中,系统复位后使用的是应用存储器中新写入的固件,从而实现了固件的切换使用。并且与启动接口开关连接的存储器只包括管理存储器和应用存储器,相对于当前技术减少了启动接口开关连接的存储器的数量,释放了系统空间并降低了成本。并且,备用存储器不与启动接口开关连接,可以连接在系统的其他不同类型的接口上,因此备用存储器类型的选择也具备多样性。
此外,本申请所提供的固件切换使用装置以及介质,与上述固件切换使用方法相对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种固件切换使用方法的流程图;
图2为本申请实施例提供的一种FPGA系统的结构图;
图3为本申请实施例提供的一种固件切换使用装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
固件是指系统中处理器运行所需的整个程序,固件就是“固化的软件”,是在外部存储器中保存固化的程序文件,是程序的静态保存状态,系统启动时往往从外部非易失性存储器中将固件复制到内部存储器中来运行。现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)系统在使用时因受到FPGA器件自身特性的限制,往往只能使用一种固件,使得系统功能较为固定,只能满足一种使用场景的需要,若使用场景的需求变更,只能重新烧写维护固件。而且当固件遭到损坏时,系统彻底崩溃,无法自行恢复,容易造成封装好的产品成为失去所有功能的“板砖”。
因此,为了使得FPGA系统可以保存多个固件,可以根据不同的运行场景从中选择一个进行使用。当前技术中为了扩展FPGA使用的固件数目,通常在FPGA系统的启动接口摆放多个相同的存储器,每个存储器都存放一个固件,各存储器和启动接口之间通过多选一开关进行选通连接,多选一开关采用上位机或系统上其它MCU/CPU等控制器作为控制单元对其进行控制。可见,该方法中存放固件的存储器均需要与启动接口连接,提高了系统成本并且占据空间,并且需要其他控制单元进行多选一开关的辅助控制,不能满足以FPGA为唯一处理器的系统的使用。
本申请的核心是提供一种固件切换使用方法、装置以及介质,用于避免在系统的启动接口接入过多的存储器,同时实现对系统接入固件的切换。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例提供的一种固件切换使用方法的流程图,如图1所示,该方法包括:
S10:切换启动接口开关与管理存储器连接,启动系统以加载运行管理存储器中的管理固件;
S11:通过管理固件读取系统特征;
S12:根据读取的系统特征读取备用存储器中的备用固件;
S13:切换启动接口开关与应用存储器连接;
S14:将备用固件写入应用存储器中作为应用固件;
S15:进行系统复位以重新启动系统,以使系统加载运行应用存储器中的应用固件。
固件是指系统中处理器运行所需的整个程序,固件就是“固化的软件”,是在外部存储器中保存固化的程序文件,是程序的静态保存状态,系统启动时往往从外部非易失性存储器中将固件复制到内部存储器中来运行。外部存储器,如flash、eeprom、eMMC等存储器,具有非易失性,断电后数据不丢失,因此可作为保存重要数据的存储器使用,由于其断电时仍能保存数据,经常被用来保存固件,系统启动时可以从外部存储器中读取加载固件程序。
首先需要说明的是,本申请所提供的固件切换使用方法应用于固件切换使用装置,在具体实施中其可以部署于FPGA系统中。为了便于对本申请技术方案的理解,本实施例还提供一种具体的FPGA系统,图2为本申请实施例提供的一种FPGA系统的结构图,如图2所示,与系统启动接口开关连接的存储器包括管理存储器和应用存储器,其中,管理存储器中存放着管理固件。该管理固件用于管理FPGA系统中存储的所有固件,该管理固件的功能为通过检测系统预置的特征,例如某个管脚的状态,来专门对系统中存储的所有固件进行管理。应用存储器中存储的固件为应用固件,FPGA系统启动后,系统从应用存储器中加载运行应用固件以进行使用。而备用存储器可以连接在系统的其他管脚上,备用存储器中存放着不同类型设备所需要的固件。可以理解的是,备用存储器可以接在系统不同类型的管脚上,因此备用存储器的种类也可以不同,其数量可以是多个,接在不同的管脚上,也可以是单个或者集群接在一个管脚上。
在FPGA系统中,还需要包括启动接口开关,该启动接口开关用于切换与启动接口连接的存储器为管理存储器还是应用存储器。因为需要进行固件切换使用时,往往是FPGA系统接入的外设发生了变化,因此该切换开关的控制可以是由技术人员进行人工控制的,在更改了外设后控制启动接口开关变化,以使管理存储器接入启动接口,进而执行本申请的固件切换使用方法。
在本实施例中,启动接口开关可同步控制一个系统GPIO管脚的上拉或下拉状态,系统运行时可通过检测该管脚的状态值来判别当前启动接口接入的是管理存储器还是应用存储器。如图2所示,FPGA启动接口为QSPI接口,通过QSPI总线连接的nor flash 1存储的固件为管理固件,nor flash 2存储的固件为应用固件,因此nor flash 1为管理存储器,nor flash 2为应用存储器。nor flash 1和nor flash 2通过切换开关进行二选一切换,连接到QSPI接口,同时第三管脚Z的状态伴随切换开关的切换同步进行管脚上拉状态和下拉状态的切换,假设当切换开关选通nor flash 1时,Z管脚为上拉状态,选通nor flash 2时,Z管脚为下拉状态。在本申请中,在管理存储器接入到启动接口后,系统上电后读取管理存储器中的管理固件,并且调用管理固件读取备用存储器中的备用固件。
备用固件中存放着用于各个场景下需要使用的固件,备用存储器不受FPGA启动机制要求的限制,可以为连接在FPGA任意接口上的不同类型的器件。如图2所示,该系统中FPGA的D组管脚用于连接显示设备,而显示设备在不同应用场景下分别为TFT设备、OLED设备以及VGA设备,假设用于驱动TFT设备的固件为第一备用固件1,用于驱动OLED设备的固件为第二备用固件2,用于驱动VGA设备的固件为第三备用固件3,第一备用固件1、第二备用固件2、第三备用固件3均存储在通过I2C总线连接的EEPROM中,作为备用固件。在具体实施中,读取备用存储器中的备用固件还包括:通过预设管脚的状态以确认读取的备用固件,在确认后进行固件读取;进一步的,备用固件包括第一备用固件、第二备用固件和第三备用固件;预设管脚包括第一管脚和第二管脚;进一步的,读取备用存储器中的备用固件为:根据系统的第一管脚和第二管脚的状态确认所读取的备用固件;对应的,若第一管脚和第二管脚均为上拉状态,则读取备用存储器中的第一备用固件;若第一管脚和第二管脚均为下拉状态,则读取备用存储器中的第二备用固件;若第一管脚为上拉状态,第二管脚为下拉状态,则读取备用存储器中的第三备用固件。图2所示的系统中还包括C管脚,用于和传感器连接,A管脚用于和DDR连接。
当需要进行固件切换时,将启动接口通过开关连接至管理存储器,管理固件加载运行,检测系统预置的特征,具体为预设管脚的状态,从而在备用固件中选取对应的固件。以图2所示系统为例,系统预置的特征为第一管脚X、第二管脚Y两个管脚的上拉状态和下拉状态,假设X、Y均置为上拉状态,则表示系统连接的是TFT设备,需要使用第一备用固件1,X、Y均置为下拉状态,表示系统连接的是OLED设备,需要使用第二备用固件2,X置为上拉状态、Y置为下拉状态,表示系统连接的是VGA设备,需要使用第三备用固件3,管理固件运行时,通过检测X、Y管脚的状态,来判断应该从EEPROM中选取哪一个固件进行使用。需要说明的是,第一管脚和第二管脚的状态可以通过插入系统的外设的不同而进行切换;或者根据人工输入指令进行主动切换。
在读取到备用固件后,通过启动接口开关将应用存储器接入启动接口,断开与管理存储器的连接,需要说明的是,该切换为热切换。在切换启动接口开关与应用存储器连接后,将备用固件写入应用存储器中以作为应用固件。将选取的备用固件进行读取并写入到应用固件存储器中,写入完成后,驱动系统复位进行重启,运行新的应用固件。以图2所示系统为例,管理固件运行时检测到Z管脚为下拉状态,表明QSPI接口已经连接到nor flash 2上,于是将第二备用固件2从EEPROM中进行读取,并写入到nor flash 2中,覆盖nor flash2中原有的固件,写入完成后,驱动B管脚使系统复位进行重启,运行第二备用固件2。
需要说明的是,由于大多数备用固件所执行的程序不同,其公共部分极少,因此将备用固件写入应用存储器中的写入方式为覆盖写。在个别实施例中,也可能会存在将备用固件增加写入应用存储器中的情况,以扩展应用存储器中已存放的固件的功能。
本申请所提供的固件切换使用方法,包括:切换启动接口开关与管理存储器连接,启动系统以加载运行管理存储器中的管理固件;通过管理固件读取系统特征;根据读取的系统特征读取备用存储器中的备用固件;切换启动接口开关与应用存储器连接;将备用固件写入应用存储器中作为应用固件;进行系统复位以重新启动系统,以使系统加载运行应用存储器中的应用固件。相对于当前技术中,需要在系统启动接口接入多个相同的存储器,每个存储器中都存放固件,造成了系统的空间浪费和成本提高,采用本技术方案,启动接口开关连接的存储器只包括管理存储器和应用存储器,管理存储器中存放着管理固件,当切换启动接口开关与管理存储器连接后,系统加载运行管理存储器中的管理固件,通过读取系统特征从备用存储器中读取出备用固件,在切换启动接口开关与应用存储器连接后,将读取出的备用固件写入到应用存储器中作为应用固件,进行系统复位以重新启动系统,系统从应用存储器中加载运行应用固件以实现应用。在本技术方案中,在需要切换固件使用时,通过管理固件将备用存储器中的备用固件写入应用存储器中,系统复位后使用的是应用存储器中新写入的固件,从而实现了固件的切换使用。并且与启动接口开关连接的存储器只包括管理存储器和应用存储器,相对于当前技术减少了启动接口开关连接的存储器的数量,释放了系统空间并降低了成本。并且,备用存储器不与启动接口开关连接,可以连接在系统的其他不同类型的接口上,因此备用存储器类型的选择也具备多样性。
在上述实施例的基础上,在本实施例中,为保证管理固件的安全,可对跟随启动接口开关同步切换的第三管脚的状态进行检测,来判断启动接口开关是否已经连接到应用存储器上,以免在通过启动接口开关对应用存储器进行写入操作时,误将数据写入到管理存储器中,从而破坏管理固件。因此,在本实施例中,在将备用固件写入应用存储器中作为应用固件的步骤之前,还包括:验证第三管脚的状态以判断是否成功切换启动接口开关与应用存储器连接;若是,则进入将备用固件写入应用存储器中作为应用固件的步骤;若否,则禁止将备用固件写入应用存储器。对应的,若第三管脚的状态为上拉状态,则确认与启动接口开关连接的存储器为管理存储器;若第三管脚的状态为下拉状态,则确认与启动接口开关连接的存储器为应用存储器。第三管脚的状态,优选设计成与启动接口开关一体切换的方案,即启动接口开关在切换存储器的同时,也切换了第三管脚的状态。假设不是一体控制的话,容易出现管脚状态和存储器状态不一致的情况,导致误操作管理固件的情况。
在具体实施中,管理固件也可以用于恢复固件,当应用固件在意外情况下遭到损坏时,导致系统无法使用,此时,可将管理存储器选通,系统预置的特征不变,则管理固件运行时会再次从备用存储器中将之前选取的备用固件读取出来,并写入到应用存储器中,从而恢复系统。因此,在本实施例中,在应用固件损坏的情况下,还包括:切换启动接口开关与管理存储器连接,通过管理固件重新读取系统特征以读取备用固件;切换启动接口开关与应用存储器连接,将备用固件覆盖写入应用存储器中以作为新的应用固件。
以图2所示系统为例,假设用户使用时因失误操作,将nor flash 2中的内容进行了更改,导致nor flash 2中原有的第二备用固件2遭受损坏,造成系统无法使用。为恢复固件,将启动接口开关进行切换,选通nor flash 1,管理固件加载运行,然后再次切换启动接口开关,选通nor flash 2,管理固件运行时检测到X、Y管脚状态仍然均为下拉状态,则从EEPROM中再次读取第二备用固件2并写入到nor flash 2中,从而对nor flash 2中原有固件进行了恢复,使得系统恢复正常。
在其他实施例中,为保证系统的绝对安全,为了进一步保证管理固件不被破坏,因此将管理存储器视为只读存储器,系统运行时,任何情况下都不应该对管理存储器进行写入操作,从而防止管理固件遭到损坏。
在上述实施例中,对于固件切换使用方法进行了详细描述,本申请还提供固件切换使用装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图3为本申请实施例提供的一种固件切换使用装置的结构图,如图3所示,该装置包括:
第一切换模块10,用于切换启动接口开关与管理存储器连接,启动系统以加载运行管理存储器中的管理固件;
特征模块11,用于通过管理固件读取系统特征;
读取模块12,用于根据读取的系统特征读取备用存储器中的备用固件;
第二切换模块13,用于切换启动接口开关与应用存储器连接;
写入模块14,用于将备用固件写入应用存储器中作为应用固件;
复位模块15,用于进行系统复位以重新启动系统,以使系统加载运行应用存储器中的应用固件。
在具体实施中,特征模块为第一特征模块,用于通过管理固件读取系统的管脚特征。
优选的,第一特征模块包括第二特征模块,用于通过管理固件读取预设管脚的状态;预设管脚包括第一管脚和第二管脚;备用固件包括第一备用固件、第二备用固件和第三备用固件;进一步的,根据读取的系统特征读取备用存储器中的备用固件为:根据系统的第一管脚和第二管脚的状态读取备用存储器中对应的备用固件;对应的,若第一管脚和第二管脚均为上拉状态,则读取备用存储器中的第一备用固件;若第一管脚和第二管脚均为上拉状态,则读取备用存储器中的第二备用固件;若第一管脚为上拉状态,第二管脚为下拉状态,则读取备用存储器中的第三备用固件。
优选的,还包括:验证模块,用于验证第三管脚的状态以判断是否成功切换启动接口开关与应用存储器连接;若是,则进入将备用固件写入应用存储器中作为应用固件的步骤;若否,则禁止将备用固件写入应用存储器。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请所提供的固件切换使用装置,相对于当前技术中,需要在系统启动接口接入多个相同的存储器,每个存储器中都存放固件,造成了系统的空间浪费和成本提高,采用本技术方案,启动接口开关连接的存储器只包括管理存储器和应用存储器,管理存储器中存放着管理固件,当切换启动接口开关与管理存储器连接后,系统加载运行管理存储器中的管理固件,通过读取系统特征从备用存储器中读取出备用固件,在切换启动接口开关与应用存储器连接后,将读取出的备用固件写入到应用存储器中作为应用固件,进行系统复位以重新启动系统,系统从应用存储器中加载运行应用固件以实现应用。在本技术方案中,在需要切换固件使用时,通过管理固件将备用存储器中的备用固件写入应用存储器中,系统复位后使用的是应用存储器中新写入的固件,从而实现了固件的切换使用。并且与启动接口开关连接的存储器只包括管理存储器和应用存储器,相对于当前技术减少了启动接口开关连接的存储器的数量,释放了系统空间并降低了成本。并且,备用存储器不与启动接口开关连接,可以连接在系统的其他不同类型的接口上,因此备用存储器类型的选择也具备多样性。
本申请实施例提供的另一种固件切换使用装置,该装置包括:存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述实施例记载的固件切换使用方法的步骤。
其中,处理器可以为具有唯一启动接口的以小型处理器为核心的嵌入式系统。MCU/SOC/DSP等处理器可以采用数字信号处理器(Digital Signal Processor,DSP)、系统级芯片(System on Chip,SOC)、微控制单元(Micro Control Unit,MCU)等。
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任一实施例公开的固件切换使用方法的相关步骤。另外,存储器所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括Windows、Unix、Linux等。
本领域技术人员可以理解,上述结构并不构成对固件切换使用装置的限定,可以包括更多或更少的组件。
本申请实施例提供的固件切换使用装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:获取与启动接口连接的管理存储器中的管理固件;调用管理固件读取备用存储器中的备用固件;在切换启动接口与应用存储器连接后,将备用固件写入应用存储器中以作为应用固件;进行系统复位以通过启动接口读取应用存储器中的应用固件以启动系统。
本申请实施例提供的固件切换使用装置,相对于当前技术中,需要在系统启动接口接入多个相同的存储器,每个存储器中都存放固件,造成了系统的空间浪费和成本提高,采用本技术方案,与启动接口连接的存储器只包括管理存储器和应用存储器,管理存储器中存放着管理固件,当启动接口与管理存储器连接后,系统获取管理存储器中的管理固件,并调用管理固件从备用存储器中读取出备用固件,在将启动接口连接的存储器切换为应用存储器后,将读取出的备用固件写入到应用存储器中作为应用固件,系统复位后,系统从应用存储器中读取出应用固件以实现应用。在本技术方案中,在需要切换固件使用时,通过管理固件将备用存储器中的备用固件写入应用存储器中,系统复位后使用的是应用存储器中新写入的固件,从而实现了固件的切换使用。并且与启动接口连接的存储器只包括管理存储器和应用存储器,相对于当前技术减少了启动接口连接的存储器的数量,释放了系统空间并降低了成本。并且,备用存储器不与启动接口连接,可以连接在系统的其他不同类型的接口上,因此备用存储器类型的选择也具备多样性。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的计算机可读存储介质,相对于当前技术中,需要在系统启动接口接入多个相同的存储器,每个存储器中都存放固件,造成了系统的空间浪费和成本提高,采用本技术方案,启动接口开关连接的存储器只包括管理存储器和应用存储器,管理存储器中存放着管理固件,当切换启动接口开关与管理存储器连接后,系统加载运行管理存储器中的管理固件,通过读取系统特征从备用存储器中读取出备用固件,在切换启动接口开关与应用存储器连接后,将读取出的备用固件写入到应用存储器中作为应用固件,进行系统复位以重新启动系统,系统从应用存储器中加载运行应用固件以实现应用。在本技术方案中,在需要切换固件使用时,通过管理固件将备用存储器中的备用固件写入应用存储器中,系统复位后使用的是应用存储器中新写入的固件,从而实现了固件的切换使用。并且与启动接口开关连接的存储器只包括管理存储器和应用存储器,相对于当前技术减少了启动接口开关连接的存储器的数量,释放了系统空间并降低了成本。并且,备用存储器不与启动接口开关连接,可以连接在系统的其他不同类型的接口上,因此备用存储器类型的选择也具备多样性。
以上对本申请所提供的固件切换使用方法、装置以及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种固件切换使用方法,其特征在于,包括:
切换启动接口开关与管理存储器连接,启动系统以加载运行管理存储器中的管理固件;
通过所述管理固件读取系统特征;
根据读取的所述系统特征读取备用存储器中的备用固件;
切换所述启动接口开关与应用存储器连接;
将所述备用固件写入所述应用存储器中作为应用固件;
进行系统复位以重新启动系统,以使所述系统加载运行所述应用存储器中的应用固件。
2.根据权利要求1所述的固件切换使用方法,其特征在于,所述通过所述管理固件读取系统特征为:
通过所述管理固件读取系统的管脚特征。
3.根据权利要求2所述的固件切换使用方法,其特征在于,所述通过所述管理固件读取系统的管脚特征为:通过所述管理固件读取预设管脚的状态;
所述预设管脚包括第一管脚和第二管脚;所述备用固件包括第一备用固件、第二备用固件和第三备用固件;
进一步的,所述根据读取的所述系统特征读取备用存储器中的备用固件为:根据所述系统第一管脚和第二管脚的状态读取所述备用存储器中对应的备用固件;
对应的,若所述第一管脚和所述第二管脚均为上拉状态,则读取所述备用存储器中的第一备用固件;
若所述第一管脚和所述第二管脚均为上拉状态,则读取所述备用存储器中的第二备用固件;
若所述第一管脚为上拉状态,所述第二管脚为下拉状态,则读取备用存储器中的第三备用固件。
4.根据权利要求3所述的固件切换使用方法,其特征在于,所述第一管脚和所述第二管脚的状态通过插入所述系统的外设的不同而进行切换;
或者根据人工输入指令进行切换。
5.根据权利要求4所述的固件切换使用方法,其特征在于,在所述将所述备用固件写入所述应用存储器中作为应用固件的步骤之前,还包括:
验证第三管脚的状态以判断是否成功切换所述启动接口开关与应用存储器连接;
若是,则进入所述将所述备用固件写入所述应用存储器中作为应用固件的步骤;
若否,则禁止将所述备用固件写入所述应用存储器。
6.根据权利要求3所述的固件切换使用方法,其特征在于,在应用固件损坏的情况下,还包括:
切换启动接口开关与管理存储器连接,通过管理固件重新读取系统特征以读取备用固件;
切换启动接口开关与应用存储器连接,将所述备用固件覆盖写入应用存储器中以作为新的应用固件。
7.根据权利要求1至6任意一项所述的固件切换使用方法,其特征在于,将所述管理存储器定义为只读存储器。
8.一种固件切换使用装置,其特征在于,包括:
第一切换模块,用于切换启动接口开关与管理存储器连接,启动系统以加载运行管理存储器中的管理固件;
特征模块,用于通过所述管理固件读取系统特征;
读取模块,用于根据读取的所述系统特征读取备用存储器中的备用固件;
第二切换模块,用于切换所述启动接口开关与应用存储器连接;
写入模块,用于将所述备用固件写入所述应用存储器中作为应用固件;
复位模块,用于进行系统复位以重新启动系统,以使所述系统加载运行所述应用存储器中的应用固件。
9.一种固件切换使用装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述的固件切换使用方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的固件切换使用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310540425.0A CN116909633A (zh) | 2023-05-11 | 2023-05-11 | 一种固件切换使用方法、装置以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310540425.0A CN116909633A (zh) | 2023-05-11 | 2023-05-11 | 一种固件切换使用方法、装置以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116909633A true CN116909633A (zh) | 2023-10-20 |
Family
ID=88349967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310540425.0A Pending CN116909633A (zh) | 2023-05-11 | 2023-05-11 | 一种固件切换使用方法、装置以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909633A (zh) |
-
2023
- 2023-05-11 CN CN202310540425.0A patent/CN116909633A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6308265B1 (en) | Protection of boot block code while allowing write accesses to the boot block | |
JP5909264B2 (ja) | セキュア・リカバリ装置及び方法 | |
KR101959359B1 (ko) | 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치 | |
CN105917306B (zh) | 用于配置系统固件配置数据的系统和方法 | |
CN111143132B (zh) | 一种bios恢复方法、装置、设备及可读存储介质 | |
US20150199190A1 (en) | System and method for updating firmware | |
US9930207B2 (en) | Information processing apparatus, method of initializing a non-volatile storage device, and storage medium | |
JPH07507651A (ja) | コンピュータの障害回復および警報システム | |
JP2007193596A (ja) | ファームウェア更新回路およびファームウェア更新方法 | |
CN113254048B (zh) | 引导程序更新方法、装置、设备及计算机可读介质 | |
KR20090091708A (ko) | 정보 처리 시스템 및 이 시스템의 기동/복구 방법 | |
EP3522021A1 (en) | System and method for automatic recovery of firmware image | |
CN105786545B (zh) | 基于异构混合内存的断点恢复方法和系统 | |
CN113190256B (zh) | 一种升级方法、装置及设备 | |
CN113641537A (zh) | 一种服务器的启动系统,方法及介质 | |
CN116909633A (zh) | 一种固件切换使用方法、装置以及介质 | |
KR100697086B1 (ko) | 백업기능이 구비된 이동통신 단말기 및 그 동작방법 | |
CN110347532A (zh) | 多分区系统备份方法及装置 | |
US8549273B1 (en) | Method and apparatus to present a unique background image on a personal computer display when the computer system is booted from an external drive | |
US11467898B2 (en) | Information processing apparatus and method of controlling the same | |
KR101850272B1 (ko) | 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치 | |
US11250929B2 (en) | System for detecting computer startup and method of system | |
JPH11327911A (ja) | 画像形成装置 | |
CN118069057A (zh) | 一种数据写入方法、装置、设备及介质 | |
CN117215657A (zh) | 系统启动方法、装置、计算机设备和可读存储介质 |
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 |