【技术实现步骤摘要】
一种基于Bootloader的系统软件选择性启动和远程更新方法
本专利技术涉及嵌入式系统
,尤其涉及一种基于Bootloader的系统软件选择性启动和远程更新方法。
技术介绍
Bootloader(引导加载程序)是嵌入式系统在加电后执行的第一段代码,它负责完成CPU和相关硬件的初始化、将操作系统镜像加载到内存中,并跳转到操作系统所在的空间,引导启动操作系统运行的工作。对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。Bootloader有很多种类型,如开源项目的RedBoot、U-Boot、ARMBoot等。这些Bootloader,一般是只提供较为通用和常用的功能,如使用TFTP客户端加载镜像、使用TSFS加载镜像,引导指定地址或文件系统中操作系统镜像或应用镜像。通用的Bootloader在使用时,经过较少的修改,就能适配到不同类型的硬件板卡上,使用方便,能有效提升开发效率,但通用的Bootloader在提供便利性的同时,也有一些比较明显的缺点:1.使用通用通信协议,有信息安全风险。在Bootloader阶段更新待加载的操作系统镜像时,使用TFTP、TSFS等通用通信协议,通信安全性不容易保证;2.更新镜像,无法进行可视化交互。在Bootloader阶段更新待加载的操作系统镜像时,在一侧,使用通用的TFTP服务器、TSFS服务器软件,无法实现更多的上下位机交互,一旦通信错误,无法了解具体的错误信息;3.启动逻辑简单,无法选择版本。Bootloader加载操作系统时 ...
【技术保护点】
1.一种基于Bootloader的系统软件选择性启动和远程更新方法,其特征在于,在目标硬件板卡上设置有两个文件系统,两个文件系统中均存放多个文件,该些文件包括:操作系统镜像文件、数据文件、配置文件;/n当目标硬件板卡上通电后启动Bootloader,Bootloader选择运行远程更新模块或选择运行选择性启动模块,若Bootloader启动后在设定的一段时间内收到远程更新上位机发起的通信信号,则目标硬件板卡运行远程更新模块;若Bootloader启动后在设定的一段时间内未收到远程更新上位机发起的通信信号则目标硬件板卡运行选择性启动模块。/n
【技术特征摘要】
1.一种基于Bootloader的系统软件选择性启动和远程更新方法,其特征在于,在目标硬件板卡上设置有两个文件系统,两个文件系统中均存放多个文件,该些文件包括:操作系统镜像文件、数据文件、配置文件;
当目标硬件板卡上通电后启动Bootloader,Bootloader选择运行远程更新模块或选择运行选择性启动模块,若Bootloader启动后在设定的一段时间内收到远程更新上位机发起的通信信号,则目标硬件板卡运行远程更新模块;若Bootloader启动后在设定的一段时间内未收到远程更新上位机发起的通信信号则目标硬件板卡运行选择性启动模块。
2.如权利要求1所述的基于Bootloader的系统软件选择性启动和远程更新方法,其特征在于,Bootloader启动后包括以下步骤:
S1:Bootloader执行完成必要的CPU初始化和硬件初始化;
S2:若目标硬件板卡在设定的一段时间内接收到来自远程更新上位机的通信信号,则运行远程更新模块;否则运行选择性启动模块;
S3:判断目标硬件板卡上是否存在两个文件系统,若两个文件系统都存在;则进入S4步骤;否则停止;
S4:若目标硬件板卡运行了远程更新模块,通过选择对其中一个文件系统上的相应的文件进行操作;该文件包括操作系统镜像文件、数据文件、配置文件;
若目标硬件板卡运行了选择性启动模块,通过选择对其中一个文件系统上的相应的操作系统镜像文件进行启动;
S5:对S4步骤相应的文件系统上的操作系统镜像文件进行MD5校验,若校验成功,则进入S6步骤;若校验失败,则校验另一个文件系统上的操作系统镜像文件;若另一个操作系统镜像文件校验成功则进入S6步骤,否则Bootloader启动过程终止,并报错;
S6:将S5步骤校验成功的操作系统镜像文件先在内存中解压缩,然后CPU将跳转到操作系统镜像入口处,运行操作系统镜像文件。
3.如权利要求2所述的基于Bootloader的系统软件选择性启动和远程更新方法,其特征在于,所述S4步骤包含以下两个步骤:
S41:若目标硬件板卡收到远程更新上位机发送的命令,则按照命令执行;若未收到命令则目标硬件板卡自动更新旧版本操作系统镜像文件;
S42:若运行选择性启动模块,选择相应的文件系统上的新版本操作系统镜像文件进行启动。
4.如权利要求3所述的基于Bootloader的系统软件选择性启动和远程更新方法,其特征在于,所述S41步骤的命令包含以下命令;
文件更新命令:根据该命令更新指定文件系统上的指定文件;
查询命令:查询目标硬件板卡上指定文件的保存位置和版本号;
删除命令:删除指定文件系统上的文件;
重启命令:重启目标硬件板卡;
所述文件包括操作系统镜像文件、数据文件、配置文件,目标硬件板卡根据远程更新上位机的命令做出相应的反馈操作。
5.如权利要求3所述的基于Bootloader的系统软件选择性启动和远程更新方法,其特征在于,所述S41步骤的命令发出后,首先对该命令的命令帧进行校验,如果校验通过,则命令有效,目标硬件板卡将针对不同的命令,回复对应的响应命令;如果校验不通过,目标硬件板卡继续等待新的命令,并将错误码发送远程更新上位机。
6.如权利要求5所述的基于Bootloader的系统软件选择性启动和远程更新方法,其特征在于,所述目标硬件板卡继续等待新的命令的设定为一段时间,若等待时间超过设定的一段时间,则远程更新上位机不再主动发起任何命令,Bootloader将退出远程更新模块;若等待时间不超过设定的一段时间,则目标硬件板卡继续执行远程更新上位机发出的命令。
7.如权利要求3所述的基于Bootloader的系统软件选择性启动和远程更新方法,其特征在于,所述S41步骤中目标硬件板卡自...
【专利技术属性】
技术研发人员:宋志坚,潘雷,丁辉,唐俊,冯虎,张彬,刘辉,钟莉娟,
申请(专利权)人:卡斯柯信号有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。