一种嵌入式多操作系统的引导程序升级方法技术方案

技术编号:14514930 阅读:35 留言:0更新日期:2017-02-01 16:21
本发明专利技术公开了一种嵌入式多操作系统引导程序的升级方法,在嵌入式操作系统引导程序之前加入预引导程序并且将PRE‑Loader预先固化到一片独立的只读存储器中,避免在使用过程中由于人为写入错误程序导致出错。在PRE‑Loader执行过程中,目标板的串口、Flash、内存、堆栈等被初始化,因此操作人员可以通过串口来升级、加载多种操作系统的引导程序,将其写入到Nor flash中,进而通过引导程序升级、加载存储在Nor flash中的操作系统内核,以及存储在Nand flash中的根文件系统等,从而实现了对多种操作系统进行引导、升级的功能,同时避免了操作系统引导程序在升级过程中由于断电等原因使系统遭到破坏,此外还降低了在目标板上留JTAG口导致程序遭到窃取的风险。

【技术实现步骤摘要】

本专利技术涉及一种嵌入式操作系统的升级方法,具体是一种升级多种嵌入式操作系统引导程序的方法,属于计算机

技术介绍
在自动化程度日益提高的今天,嵌入式设备无处不在,随着自动化程度的提高,愈来愈多的嵌入式设备运行着嵌入式操作系统。一般而言,系统的启动都需要Boot-Loader的引导,当Boot-Loader不能正常运行时,整个系统就完全不能工作,所以Boot-Loader在整个系统中占有举足轻重的地位。嵌入式操作系统类型很多,且各有各的优势,常用的操作系统包括Linux、VXWORKS、UCOSII(MicroControlOperationSystemTwo)等,它们的启动都需要Boot-Loader的引导,升级Boot-Loader一般有以下几种方法:方法一:在制作目标板之前,Norflash芯片还没有焊接到目标板上,此时先用烧片机将Boot-Loader烧写到Norflash中,然后将其焊接在目标板上;方法二:目标板中已经有可以运行的Boot-Loader程序,通过编程使Boot-Loader具有升级的功能,因此,当Boot-Loader被调入内存运行的过程中,通过Boot-Loader升级命令将新的Boot-Loader文件写入NorFlash中,重启目标板即可运行新的Boot-Loader程序,从而完成升级;方法三:设计一定的物理电路连接,将目标芯片上的JTAG接口引出,从而可以通过JTAG接口对Boot-Loader进行升级。然而,对常用的三种升级方法进行分析可发现现有技术存在不足,具体而言如下:方法一只能在NorFlash芯片还没有焊接到目标板上之前使用一次,焊上去之后方法一无用武之地,不能再实现对Boot-Loader的升级;方法二是最常用的一种方式,它利用的是Boot-Loader在执行的过程中被加载到内存中,可以对Flash中的Boot-Loader文件进行重写。但存在的问题是,当在升级Boot-Loader的过程中断电,内存中的Boot-Loader丢失且NorFlash中的Boot-Loader文件被破坏;又或者升级的Boot-Loader文件有问题,断电重启之后升级之后的Boot-Loader无法执行,这两种情况导致的后果就是,系统再也无法启动;方法三通过JTAG口对Boot-Loader进行升级,可以解决方法二中升级掉电和文件错误的问题,只需要重新升级即可。但是它存在的问题是,通过JTAG升级需要设计额外的电路,此外,升级的过程比较复杂繁琐,升级所需时间较长,更为重要的是,它需要在目标板上留JTAG口,这给目标板的程序带来了严重的安全隐患。
技术实现思路
针对上述现有技术存在问题,本专利技术提供一种嵌入式多操作系统的引导程序升级方法,用于解决现有升级方法所存在的不可靠、不安全的问题,同时还能够提供一种升级引导多种操作系统的方法。本专利技术通过以下技术方案来实现上述目的:一种嵌入式多操作系统的引导程序升级方法,该引导程序升级方法包括如下步骤:1)在嵌入式操作系统的引导程序(Boot-Loader)之前加入一段预引导程序(PRE-Loader),并将PRE-Loader固化于独立的只读存储器ROM中,同时在硬件上指定处理器上电后首先运行PRE-Loader;2)PRE-Loader对目标芯片的串口、Flash、内存和堆栈完成初始化操作,然后等待用户输入指令,输入指令包括升级引导程序和加载引导程序;3)若用户选择升级引导程序,则系统通过串口将计算机指定路径下的引导程序写入到目标板Norflash中,若用户选择加载引导程序,则系统将Norflash中的引导程序加载到内存中并执行,进而升级、引导操作系统内核(kernel)和根文件系统(rootfilesystem,ROOTFS);4)若用户没有输入指令,则系统执行默认操作加载指定存储区的引导程序并执行。进一步,所述PRE-loader程序能够使得整个嵌入式系统升级或加载多种操作系统的引导程序,进而引导多种操作系统进一步,所述引导程序通过串口从计算机写入到目标板(Norflash)中。进一步,所述PRE-loader中完成的工作包括初始化串口、Flash、内存、堆栈、指定引导程序存储区和接受用户指定输入。所述目标板(Norflash)中存储多种操作系统的引导程序和系统内核,并且在Nandflash中存储相应操作系统的根文件系统,从而使得系统可以运行多种操作系统。本专利技术的有益效果是:1)该方法能够升级、加载多种嵌入式操作系统的引导程序,从而引导多种操作系统,实现同一套硬件系统上多种操作系统的切换,并且操作方便;2)由于在引导程序之前通过PRE-Loader初始化了串口,因此可以通过串口升级引导程序,而不需要初始化但操作复杂的JTAG口,同时去JTAG扣也大大地提高了程序的安全性;3)由于PRE-Loader程序固化在只读存储器中,很难由于人为的误操作将其损坏,所以系统的可靠性很高,同时避免了操作系统的引导程序在升级过程中由于断电或者升级了错误的引导程序,不会掉电丢失或因错误升级损坏。附图说明图1为嵌入式多操作系统整体结构框图;图2为本专利技术PRE-Loader的工作流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1和图2所示,一种嵌入式多操作系统的引导程序升级方法,该引导程序的升级方法包括如下步骤:1)在嵌入式操作系统的引导程序Boot-Loader之前加入一段预引导程序PRE-Loader,并将预引导程序PRE-Loader固化于独立的只读存储器中,同时在硬件上指定处理器上电后首先运行预引导程序PRE-Loader;2)预引导程序PRE-Loader对目标芯片的串口、Flash、内存和堆栈完成初始化操作,然后等待用户输入指令,输入指令包括升级引导程序和加载引导程序;3)若用户选择升级引导程序,则系统通过串口将计算机指定路径下的引导程序写入到目标板Norflash中,若用户选择加载引导程序,则系统将Norflash中的引导程序加载到内存中并执行,进而升级、引导操作系统内核和根文件系统;4)若用户没有输入指令,则系统执行默认操作加载指定存储区的引导程序并执行。在PRE-Loader执行过程中用户选择需要加载何种引导程序,然后该引导程序去加载相应的操作系统及根文件系统,从而实现多种操作系统的升级。作为本专利技术改进后的技术方案为:所述PRE-loader程序能够使得整个嵌入式系统升级或加载多种操作系统的引导程序,进而引导多种操作系统。作为本专利技术改进后的技术方案为:所述引导程序通过串口从计算机写入到目标板Norflash中,而不需要JTAG烧写器,使这一操作过程得到大大的简化;由于PRE-Loader使得引导程序可以通过串口升级,因此目标板上不用留JTAG接口,避免程序遭到窃取,整个系统的安全性大大提高。作为本专利技术改进后的技术方案为:所述PRE-loader程序中完成的工作包括初始化串口、Flash、内存、堆本文档来自技高网
...

【技术保护点】
一种嵌入式多操作系统的引导程序升级方法,其特征在于,该引导程序的升级方法包括如下步骤:1)在嵌入式操作系统的引导程序Boot‑Loader之前加入一段预引导程序PRE‑Loader,并将预引导程序PRE‑Loader固化于独立的只读存储器ROM中,同时在硬件上指定处理器上电后首先运行预引导程序PRE‑Loader;2)预引导程序PRE‑Loader对目标芯片的串口、Flash、内存和堆栈完成初始化操作,然后等待用户输入指令,输入指令包括升级引导程序和加载引导程序;3)若用户选择升级引导程序,则系统通过串口将计算机指定路径下的引导程序写入到目标板Nor flash中,若用户选择加载引导程序,则系统将Nor flash中的引导程序加载到内存中并执行,进而升级、引导操作系统内核和根文件系统;4)若用户没有输入指令,则系统执行默认操作加载指定存储区的引导程序并执行。

【技术特征摘要】
1.一种嵌入式多操作系统的引导程序升级方法,其特征在于,该引导程序的升级方法包括如下步骤:1)在嵌入式操作系统的引导程序Boot-Loader之前加入一段预引导程序PRE-Loader,并将预引导程序PRE-Loader固化于独立的只读存储器ROM中,同时在硬件上指定处理器上电后首先运行预引导程序PRE-Loader;2)预引导程序PRE-Loader对目标芯片的串口、Flash、内存和堆栈完成初始化操作,然后等待用户输入指令,输入指令包括升级引导程序和加载引导程序;3)若用户选择升级引导程序,则系统通过串口将计算机指定路径下的引导程序写入到目标板Norflash中,若用户选择加载引导程序,则系统将Norflash中的引导程序加载到内存中并执行,进而升级、引导操作系统内核和根文件系统;4)若用户没有输入指令,则系统执行默认操作加载指定存储区的引导程...

【专利技术属性】
技术研发人员:喻亮付力刘兵
申请(专利权)人:武汉光迅科技股份有限公司
类型:发明
国别省市:湖北;42

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

1