一种自适应型固件启动方法及系统技术方案

技术编号:23314827 阅读:37 留言:0更新日期:2020-02-11 17:42
本发明专利技术属于固件开发技术领域,具体涉及一种自适应型固件启动方法及系统,自适应型固件启动方法包括如下步骤:步骤S1,对存贮固件的第一存储介质进行上电启动,第一存储介质是掉电非易失存储设备;步骤S2,固件对第一存储介质进行识别,确定第一存储介质的类型;步骤S3,固件根据第一存储介质的类型执行与第一存储介质的类型相对应的启动程序对固件进行启动。本发明专利技术可以使得固件不必根据第一存储介质的不同而做相应的重新开发,有效的缩短固件开发流程和减少固件开发成本,提高了企业效率,并增加产品的鲁棒性。

An adaptive firmware start method and system

【技术实现步骤摘要】
一种自适应型固件启动方法及系统
本专利技术属于固件开发
,具体涉及一种自适应型固件启动方法及系统。
技术介绍
固件(firmware)作为一个系统最基础、最底层的工作软件。在硬件设备中若没有固件就无法工作。固件一般存放在设备中的掉电非易失存储区中,并且大部分固件放在只擦可读存储区中;导致用户只能通过特定的程序进行固件的刷新;而随着产品的升级固件存储介质可能有EEPROM以及FLASH等掉电非易失设备;而不同的掉电非易失设备的操作流程又不同,如若每次更换固件的存储介质时需要针对不同的存储介质重新开发,增加了固件开发的流程和固件开发成本,降低了企业效率。传统的固件启动方法流程的示意图见图1,启动流程分为读取、执行、启动,三个部分;在图1中,系统上电后固件根据实现写好的程序从存储介质中读取指令;并且根据固件中写好的内容进行从介质中读取指令并执行;当传统的固件启动过程中发现读取出来的指令无法执行则放弃读取过程;整个引导过程失败;综上所述,传统的固件启动方式包括了:1)根据固件中的存储介质初始化驱动;2)在初始化完驱动后将指令从存储介质中读取出来;3)根据读取的指令执行对应的操作;
技术实现思路
为了解决现有技术中固件在不同存储介质中操作流程的不同导致的固件重新开发的问题,本专利技术的目的是提供一种自适应型固件启动技术,使得固件自身能够识别不同的存储介质并使用不同的启动程序进行启动。为达到以上目的,本专利技术采用的技术方案是一种自适应型固件启动方法,包括如下步骤:步骤S1,对存贮固件的第一存储介质进行上电启动,所述第一存储介质是掉电非易失存储设备;步骤S2,所述固件对所述第一存储介质进行识别,确定所述第一存储介质的类型;步骤S3,所述固件根据所述第一存储介质的类型执行与所述第一存储介质的类型相对应的启动程序对所述固件进行启动。进一步,还包括步骤S4,在所述固件启动后,将所述固件中的指令代码写入第二存储介质,实现对所述第一存储介质的屏蔽;所述第二存储介质是掉电易失存储设备;所述指令代码是指与所述第一存储介质无关的指令代码。进一步,在所述步骤S2中,所述识别是通过对所述第一存储介质的标识号进行匹配实现对所述第一存储介质的类型的确认。为达到以上目的,本专利技术还提供了用于以上的自适应型固件启动方法的一种自适应型固件启动系统,包括设置在所述固件上的识别模块和启动程序模块和自适应启动模块;所述识别模块用于对所述第一存储介质进行识别,确定所述第一存储介质的类型;所述启动程序模块,包含有与不同类型的所述第一存储介质相对应的启动程序;所述自适应启动模块,用于根据所述识别模块确定的所述第一存储介质的类型从所述启动程序模块中选择与所述第一存储介质的类型相对应的启动程序,并使用所述启动程序对所述固件进行启动。进一步,还包括设置在所述固件上的指令读取模块,所述指令读取模块用于在所述固件启动后,将所述固件中的指令代码写入第二存储介质,实现对所述第一存储介质的屏蔽;所述第二存储介质是掉电易失存储设备;所述指令代码是指与所述第一存储介质无关的指令代码。本专利技术的有益效果在于:1.本专利技术可以使得固件不必根据第一存储介质的不同而做相应的重新开发,有效的缩短固件开发流程和减少固件开发成本,提高了企业效率。2.由于第一存储介质(掉电非易失存储设备)在固件启动后被屏蔽,固件的指令代码写入第二存储介质(掉电易失存储设备)中,从而减少了第一存储介质的使用时间;因为第一存储介质的寿命比第二存储介质的寿命要短,所以多使用第二存储介质可以有效增加产品的鲁棒性、减少产品出错的几率。附图说明图1是本专利技术
技术介绍
部分所述的传统的固件启动方法的流程示意图;图2是本专利技术具体实施方式部分所述的一种自适应型固件启动方法的流程示意图;图3是本专利技术具体实施方式部分所述的一种自适应型固件启动系统的示意图;图4是本专利技术具体实施方式部分所述的屏蔽第一存储介质的示意图;图中:1-识别模块,2-启动程序模块,3-自适应启动模块,4-第一存储介质,5-第二存储介质。具体实施方式下面结合附图和实施例对本专利技术作进一步描述。如图2所示,本专利技术提供的一种自适应型固件启动方法,包括如下步骤:步骤S1,上电启动,即对存贮固件的第一存储介质4进行上电启动,第一存储介质4是掉电非易失存储设备;步骤S2,识别第一存储介质4,即固件对第一存储介质4进行识别,确定第一存储介质4的类型;识别是通过对第一存储介质4的标识号(即ID号)进行匹配实现对第一存储介质4的类型的确认;不同的第一存储介质有着不同的标识号;目前已知的普遍的商用的固件存储介质主要有镁光、三星、海力士等NANDFLASH或SPIFLASH或NORFLASH等;步骤S3,自适应启动,即固件根据第一存储介质4的类型执行与第一存储介质4的类型相对应的启动程序对固件进行启动(启动程序是固件在第一存储介质内进行启动的驱动程序,固件内针对不同类型的第一存储介质均设有相对应的启动程序);步骤S4,读取指令代码,即在固件启动后,读取固件中的指令代码,将固件中的指令代码写入第二存储介质5,实现对第一存储介质4的屏蔽(如图4所示);指令代码是指与第一存储介质4无关的指令代码(这些指令代码也不包括针对不同类型的第一存储介质的启动程序部分的代码),相当于第一存储介质4在启动后就不再使用(无需再关心第一存储介质4),延长了第二存储介质5的使用时间;第二存储介质5是掉电易失存储设备(如DDRRAM等等可读可写设备)。如图3所示,本专利技术还提供用于以上所述的自适应型固件启动方法的一种自适应型固件启动系统,包括设置在固件上的识别模块1、启动程序模块2、自适应启动模块3和指令读取模块;识别模块1用于对第一存储介质4进行识别,确定第一存储介质4的类型;启动程序模块2包含有与不同类型的第一存储介质4相对应的启动程序,启动程序是固件在第一存储介质4内进行启动的驱动程序;自适应启动模块3用于根据识别模块1确定的第一存储介质4的类型从启动程序模块2中选择与第一存储介质4的类型相对应的启动程序,并使用选择的启动程序对固件进行启动。指令读取模块用于在固件启动后,将固件中的指令代码写入第二存储介质5,实现对第一存储介质4的屏蔽;第二存储介质5是掉电易失存储设备;指令代码是指与第一存储介质4无关的指令代码。本专利技术所述的装置并不限于具体实施方式中所述的实施例,本领域技术人员根据本专利技术的技术方案得出其他的实施方式,同样属于本专利技术的技术创新范围。本文档来自技高网
...

【技术保护点】
1.一种自适应型固件启动方法,包括如下步骤:/n步骤S1,对存贮固件的第一存储介质(4)进行上电启动,所述第一存储介质(4)是掉电非易失存储设备;/n步骤S2,所述固件对所述第一存储介质(4)进行识别,确定所述第一存储介质(4)的类型;/n步骤S3,所述固件根据所述第一存储介质(4)的类型执行与所述第一存储介质(4)的类型相对应的启动程序对所述固件进行启动。/n

【技术特征摘要】
1.一种自适应型固件启动方法,包括如下步骤:
步骤S1,对存贮固件的第一存储介质(4)进行上电启动,所述第一存储介质(4)是掉电非易失存储设备;
步骤S2,所述固件对所述第一存储介质(4)进行识别,确定所述第一存储介质(4)的类型;
步骤S3,所述固件根据所述第一存储介质(4)的类型执行与所述第一存储介质(4)的类型相对应的启动程序对所述固件进行启动。


2.如权利要求1所述的自适应型固件启动方法,其特征是:
还包括步骤S4,在所述固件启动后,将所述固件中的指令代码写入第二存储介质(5),实现对所述第一存储介质(4)的屏蔽;所述第二存储介质(5)是掉电易失存储设备;所述指令代码是指与所述第一存储介质(4)无关的指令代码。


3.如权利要求1所述的自适应型固件启动方法,其特征是:在所述步骤S2中,所述识别是通过对所述第一存储介质(4)的标识号进行匹配实现对所述第一存储介质(4)的类型的确认。


...

【专利技术属性】
技术研发人员:吴汉明朱敏
申请(专利权)人:芯创智北京微电子有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1