一种嵌入式系统的系统固件更新方式设计技术方案

技术编号:31499380 阅读:27 留言:0更新日期:2021-12-22 23:06
本发明专利技术公开了一种嵌入式系统的系统固件更新方式设计,包括包含在嵌入式系统内的U-boot源码和一个基于bootloader且集合了其它命令的命令工具,所述命令工具能自动完成一系列硬件相关的操作命令。本发明专利技术中,能够有效降低系统固件更新的操作难度,使操作者不用记忆大量的操作指令及其参数用法。同时,充分考虑到了不同硬件平台的可兼容性,避免因为硬件平台的变化而导致的操作流程变化。该方案能够有效的提升开发效率,帮助开发人员更好更快的完成系统固件更新操作。成系统固件更新操作。成系统固件更新操作。

【技术实现步骤摘要】
一种嵌入式系统的系统固件更新方式设计


[0001]本专利技术涉及系统固件更新
,尤其涉及一种嵌入式系统的系统固件更新方式设计。

技术介绍

[0002]目前很多嵌入式处理器都采用bootloader完成板卡启动与内核加载的工作,因此在实际应用中进行系统固件(bootloader镜像、内核镜像、文件系统镜像)更新工作时,bootloader控制台命令行下的自有命令是必不可少的命令工具。
[0003]嵌入式系统的bootloader必须承担起嵌入式系统固件更新的工作。系统固件更新工作主要包括:bootloader烧写、内核烧写、文件系统烧写、启动参数设置、环境变量设置、网络参数设置等工作。
[0004]bootloader本身集成了丰富的系统固件更新命令工具,可以进行环境变量设置、启动参数设置、网络测试、FLASH烧录等操作,还可以根据实际平台定制一些如网络传输、串口传输、USB传输等特殊固件传输命令工具。
[0005]在实际应用方案中,常见的bootloader系统固件更新操作有:
[0006]更新NAND FLASH中的bootloader镜像;
[0007]更新NAND FLASH中的内核镜像;
[0008]更新NAND FLASH中的RAMDISK或者YAFFS2文件系统镜像;
[0009]更新SPI FLASH中的bootloader镜像;
[0010]更新SPI FLASH中的内核镜像;
[0011]更新SPI FLASH中的RAMDISK文件系统镜像;
[0012]而想要将这些镜像烧录入对应的FLASH,需要先通过外设将镜像传输到系统内存中,然后才能将其烧写到FLASH中,常见的bootloader命令行镜像传输方式有:网络传输、串口传输、USB传输、SD卡传输等。
[0013]此外,bootloader中对SPI FLAHS和NAND FLASH的有各自独立的操作命令,其参数也会受到FLASH大小以及所挂载总线的不同而又所区别。由于FLASH本身的物理特性,需要先对需要烧录的区域进行擦除,然后才能将内存中对应的镜像烧写到指定的区域,无疑增加了操作的复杂程度。而且对于NAND FLASH独有的YAFFS2文件系统,需要用特殊的命令参数进行烧写,在实际操作中很容易被使用者遗漏,造成文件系统无法正常挂载。
[0014]由此可见无论进行哪种固件的更新,都需要通过bootloader命令行下的命令集进行实现,需要操作人员精通平台下的bootloader工具集,并熟悉平台硬件外设具体情况,才能进行固件烧录操作。在整个固件更新过程中要输入大量的操作命令,需要根据每一步的具体设置不同的命令参数,并且整个操作过程不能出现任何命令输入错误,否则会导致系统无法正常完成更新,甚至破坏bootloader固件,无法进入bootloader命令行,为开发带来诸多不便。
[0015]在完成系统固件的烧录工作之后,还需根据烧录的固件位置及格式进行环境变量
和启动参数的设置,进一步提高了系统固件更新操作的难度。并且在实际应用中,设备批量化生产会需要批量烧录,如果使用原有方式更新系统固件会大大降低设备出厂设置的效率。
[0016]因此,对于使用bootloader启动系统的嵌入式板卡,在早期调试、中期生产和后期维护过程中随时进行系统固件更新操作,需要一种简便高效的、低风险的bootloader系统固件更新方法。该方法需要具有不依赖于人员技术水平、人员误操作低风险、基于平台既有命令环境、操作简便,普适性强的特性。

技术实现思路

[0017]本专利技术的目的在于:为了解决上述提出的问题,而提出的一种嵌入式系统的系统固件更新方式设计。
[0018]为了实现上述目的,本专利技术采用了如下技术方案:
[0019]一种嵌入式系统的系统固件更新方式设计,包括包含在嵌入式系统内的U-boot源码和一个基于bootloader且集合了其它命令的命令工具,所述命令工具能自动完成一系列硬件相关的操作命令。
[0020]作为上述技术方案的进一步描述:
[0021]所述操作命令为分离操作目的与平台硬件相关的操作命令。
[0022]作为上述技术方案的进一步描述:
[0023]所述命令工具可根据操作人对照命令工具使用要求输入参数自动执行一系列相关命令。
[0024]作为上述技术方案的进一步描述:
[0025]所述U-boot源码中根据硬件平台配置了设备信息,从而使用该命令工具进行操作时无需关注硬件信息。
[0026]作为上述技术方案的进一步描述:
[0027]所述命令工具能够实现的功能有:系统固件更新到FLASH、格式化FLASH设备分区、查看FLASH设备分区信息和动态启动系统。
[0028]作为上述技术方案的进一步描述:
[0029]所述命令工具可以移植到不同的硬件平台上,且命令工具的使用方式不受影响。
[0030]作为上述技术方案的进一步描述:
[0031]所述硬件平台配置的设备信息包括FLASH分区、FLASH挂载的总线和FLASH的片选引脚。
[0032]作为上述技术方案的进一步描述:
[0033]所述命令工具所有功能可根据实际应用进行扩展。
[0034]作为上述技术方案的进一步描述:
[0035]所述动态启动包含动态加载内核和挂载网络文件系统,不局限于这两种动态启动方式。
[0036]作为上述技术方案的进一步描述:
[0037]所述FLASH可以是任何接口的任何种类的FLASH。
[0038]综上所述,由于采用了上述技术方案,本专利技术的有益效果是:
[0039]设计一个操作命令,使操作人员通过该操作命令可以完成所有系统固件更新操作,减少操作人员在bootloader命令行输入的命令个数及指令参数,且无需记忆繁多的命令工具的用法,也无需关注硬件设备的具体信息。只需指定文件传输方式、需要更新的系统固件名称、以及烧录的FLASH位置代号即可完成系统固件的更新。有效减少操作人员的工作量,并避免了因输错参数而导致的系统更新失败的问题,大大减少了对操作人员的专业要求,使初次使用者更加容易操作。
[0040]并且,板级相关的参数信息,可以由专业人员在初始阶段根据板卡实际硬件情况进行配置,当硬件平台有所改变时,只需修改硬件配置,生成新的bootloader即可。硬件平台的改变不会对该方案的操作方式产生任何影响,进一步加强了该方案的普适性。
[0041]此外,该命令会根据烧录系统固件的信息自动设置启动参数和环境变量,操作人员只需设置网络、调试口等简单的固定信息即可。
[0042]如上所述,通过采取上述的设计方案,能够有效降低系统固件更新的操作难度,使操作者不用记忆大量的操作指令及其参数用法。同时,充分考虑到了不同硬件平台的可兼容性,避免因为硬件平台的变化而导致的操作流程变化。该方案能够有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种嵌入式系统的系统固件更新方式设计,其特征在于,包括包含在嵌入式系统内的U-boot源码和一个基于bootloader且集合了其它命令的命令工具,所述命令工具能自动完成一系列硬件相关的操作命令。2.根据权利要求1所述的一种嵌入式系统的系统固件更新方式设计,其特征在于,所述操作命令为分离操作目的与平台硬件相关的操作命令。3.根据权利要求1所述的一种嵌入式系统的系统固件更新方式设计,其特征在于,所述命令工具可根据操作人对照命令工具使用要求输入参数自动执行一系列相关命令。4.根据权利要求1所述的一种嵌入式系统的系统固件更新方式设计,其特征在于,所述U-boot源码中根据硬件平台配置了设备信息,从而使用该命令工具进行操作时无需关注硬件信息。5.根据权利要求1所述的一种嵌入式系统的系统固件更新方式设计,其特征在于,所述命令工具能够实现的功能有:系统固件更新到FLASH、格式...

【专利技术属性】
技术研发人员:张凯
申请(专利权)人:神州龙芯智能科技有限公司
类型:发明
国别省市:

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

1