一种基于Linux的NandFlash镜像读取与升级的方法、介质及终端技术

技术编号:35638394 阅读:17 留言:0更新日期:2022-11-19 16:29
本发明专利技术适用于计算机操作系统技术领域,涉及一种基于Linux的Nand Flash镜像读取与升级的方法、介质及终端,包括以下步骤:在已升级内核与应用程序的终端上挂载U盘并自动运行U盘中的镜像读取脚本;U盘中的镜像读取脚本读取已升级内核与应用程序的终端Nand Flash各分区镜像文件并存放在U盘中,同时生成一个升级脚本;在待升级终端上挂载含有镜像文件和升级脚本的U盘,待升级终端自动重启并在uboot模式下运行升级脚本;所以升级脚本将存放在U盘的nand flash镜像文件分别写入待升级终端的nand flash从而完成对待升级终端的升级。本发明专利技术无需借助主控芯片的烧录工具对待升级终端进行底层内核烧写,也无需对待升级终端进行单独的应用程序升级和参数配置,更新升级效率大大提高。大提高。大提高。

【技术实现步骤摘要】
一种基于Linux的Nand Flash镜像读取与升级的方法、介质及终端


[0001]本专利技术属于计算机操作系统
,尤其涉及一种基于Linux的Nand Flash镜像读取与升级的方法、介质及终端。

技术介绍

[0002]当前,运行Linux系统的各类ARM主控芯片众多,而ARM主控芯片需要外接Flash芯片来存储底层内核镜像、文件系统和应用程序等数据;由于Nand Flash(Flash存储器的一种)有存储容量大、读写速度快等优点,非常适用于大量数据的存储,因此ARM主控芯片外接Nand Flash在电子领域使用得非常广泛。
[0003]一个运行Linux系统且使用Nand Flash的成品终端,在Nand Flash中一般存有引导程序bootstrap、uboot、环境变量env、内核kernel、文件系统和应用程序,终端升级的过程既需要烧录内核等底层文件,还需要升级上层应用程序。在批量生产的时候,一般会使用Nand Flash拷贝机对Nand Flash空片进行批量烧写,提前将内核等底层文件烧写到Nand Flash中。在实际使用中,很多时候需要单独升级上层应用程序,而一台终端可能同时运行两个及以上的应用程序,每升级一个应用程序就需要一次升级操作,升级多个应用程序便需要通过多次的升级操作才能完成。成品终端也可能需要更新升级底层内核,已焊接Nand Flash的成品终端不便使用Nand Flash拷贝机进行底层文件的烧写,如果使用ARM主控芯片厂家提供的底层烧录工具,需要手动使终端进入底层烧录模式,再使用厂家的工具进行底层的烧写。因此,不论是多次升级应用程序,还是使用芯片厂家的烧录工具进行内核底层的升级,在批量生产的时候都会存在效率低下的问题。
[0004]公开号为CN103997683B的专利提供了一种利用机顶盒平台实现可定制Flash烧录器的系统及其方法,包括CPU、主控SPI Flash、红外接收头、Boot swith控制模块、遥控器、TV电视机和若干个Flash模块,主控SPI Flash通过SPI总线与CPU电连接,CPU与TV电视机通过CVBS模块电连接。主控SPI Flash与Flash模块电连接,红外接收头与CPU电连接,遥控器与红外接收头无线通信连接;Boot swith控制模块与CPU电连接。此专利通过切换主控Flash从而烧写不同种类的Flash和软件升级,对于同种类的多个Flash采用批量烧写的方法,存在效率不高的问题。
[0005]因此,如何提供一种无需批量烧写,且可以将底层内核与上层应用程序一起更新升级到待升级终端的方法是本
人员亟待解决的问题。

技术实现思路

[0006]针对现有技术的不足,本专利技术的目的是提供一种基于Linux的Nand Flash镜像读取与升级的方法,以解决现有技术中需要批量烧写,无法将底层内核与上层应用程序一起更新升级到待升级终端的问题;另外本专利技术还提供了一种基于Linux的Nand Flash镜像读取与升级的介质及终端。
[0007]为了解决上述技术问题,本专利技术采用了如下的技术方案:
[0008]第一方面,本专利技术提供了一种基于Linux的Nand Flash镜像读取与升级的方法,包括以下步骤:
[0009]S10、在已升级内核与应用程序的终端上挂载U盘并自动运行所述U盘中的镜像读取脚本;
[0010]S20、所述U盘中的镜像读取脚本读取所述已升级内核与应用程序的终端Nand Flash各分区镜像文件并存放在所述U盘中,同时生成一个升级脚本;
[0011]S30、在待升级终端上挂载含有镜像文件和升级脚本的所述U盘,待升级终端自动重启并在uboot模式下运行所述升级脚本;
[0012]S40、所述升级脚本将存放在所述U盘的Nand Flash镜像文件分别写入待升级终端的Nand Flash从而完成对待升级终端的升级。
[0013]进一步的,所述步骤S10具体包括以下步骤:
[0014]S101、所述U盘中存放编译好的nanddump、mkfs.ubifs和mkyaffs2image工具,以及液晶显示程序和Nand Flash镜像读取脚本;
[0015]S102、所述已升级内核与应用程序的终端通过Linux内核mdev机制识别所述U盘的热拔插操作,并运行文件系统中指定命名的U盘挂载脚本,将所述U盘挂载到文件系统指定的路径;
[0016]S103、所述U盘挂载脚本到U盘挂载路径查找并自动运行所述U盘中指定命名的Nand Flash镜像读取脚本;
[0017]S104、所述镜像读取脚本判断所述U盘中是否存在指定命名的升级脚本,若不存在所述升级脚本,则代表所述U盘没有进行镜像读取操作,需要执行镜像读取的步骤。
[0018]进一步的,所述步骤S20具体包括以下步骤:
[0019]S201、所述镜像读取脚本调用液晶显示程序,在液晶屏上显示开始读取Nand Flash镜像的提示信息;
[0020]S202、所述镜像读取脚本根据系统的分区情况分别读取所述已升级内核与应用程序的终端Nand Flash各分区镜像文件;
[0021]S203、计算每个镜像文件的md5值,再生成一个uboot模式下可执行的升级脚本,所述升级脚本与读取的镜像文件全部存储在所述U盘中;
[0022]S204、所述镜像读取脚本调用液晶显示程序,在液晶屏上显示镜像读取完成的提示信息。
[0023]进一步的,所述步骤S30具体包括以下步骤:
[0024]S301、待升级终端通过Linux内核mdev机制检测到所述U盘的热拔插,运行文件系统中的U盘挂载脚本,自动挂载所述U盘并运行所述U盘中的镜像读取脚本;
[0025]S302、所述镜像读取脚本判断所述U盘中是否存在升级脚本,若存在则说明U盘已进行镜像读取操作,需要进行镜像升级操作;
[0026]S303、所述镜像读取脚本修改系统启动命令bootcmd,将启动命令修改为系统启动时自动加载所述升级脚本到系统内存中运行,所述镜像读取脚本操作reboot命令重启系统;
[0027]S304、重启待升级终端,根据bootcmd设置的命令在uboot模式下将所述U盘中的升
级脚本加载到系统内存,并运行所述升级脚本。
[0028]进一步的,所述步骤S40具体包括以下步骤:
[0029]S401、所述升级脚本调用uboot中已添加的液晶屏显示命令,在液晶屏上显示开始升级的提示信息;
[0030]S402、所述升级脚本分别校验各分区镜像文件的md5值,若所有镜像文件校验无误,则对待升级终端执行升级操作;
[0031]S403、所述升级脚本通过uboot下nand相关命令将镜像文件分别写入各指定分区,并在液晶屏同步显示升级过程的信息,全部镜像文件成功写入到待升级终端的nand flash后,在液晶屏显示升级完成的提示信息。
[0032]进一步的,在所述步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Linux的Nand Flash镜像读取与升级的方法,其特征在于,包括以下步骤:S10、在已升级内核与应用程序的终端上挂载U盘并自动运行所述U盘中的镜像读取脚本;S20、所述U盘中的镜像读取脚本读取所述已升级内核与应用程序的终端Nand Flash各分区镜像文件并存放在所述U盘中,同时生成一个升级脚本;S30、在待升级终端上挂载含有镜像文件和升级脚本的所述U盘,待升级终端自动重启并在uboot模式下运行所述升级脚本;S40、所述升级脚本将存放在所述U盘的Nand Flash镜像文件分别写入待升级终端的Nand Flash从而完成对待升级终端的升级。2.根据权利要求1所述的一种基于Linux的Nand Flash镜像读取与升级的方法,其特征在于,所述步骤S10具体包括以下步骤:S101、所述U盘中存放编译好的nanddump、mkfs.ubifs和mkyaffs2image工具,以及液晶显示程序和Nand Flash镜像读取脚本;S102、所述已升级内核与应用程序的终端通过Linux内核mdev机制识别所述U盘的热拔插操作,并运行文件系统中指定命名的U盘挂载脚本,将所述U盘挂载到文件系统指定的路径;S103、所述U盘挂载脚本到U盘挂载路径查找并自动运行所述U盘中指定命名的Nand Flash镜像读取脚本;S104、所述镜像读取脚本判断所述U盘中是否存在指定命名的升级脚本,若不存在所述升级脚本,则代表所述U盘没有进行镜像读取操作,需要执行镜像读取的步骤。3.根据权利要求2所述的一种基于Linux的Nand Flash镜像读取与升级的方法,其特征在于,所述步骤S20具体包括以下步骤:S201、所述镜像读取脚本调用液晶显示程序,在液晶屏上显示开始读取Nand Flash镜像的提示信息;S202、所述镜像读取脚本根据系统的分区情况分别读取所述已升级内核与应用程序的终端Nand Flash各分区镜像文件;S203、计算每个镜像文件的md5值,再生成一个uboot模式下可执行的升级脚本,所述升级脚本与读取的镜像文件全部存储在所述U盘中;S204、所述镜像读取脚本调用液晶显示程序,在液晶屏上显示镜像读取完成的提示信息。4.根据权利要求3所述的一种基于Linux的Nand Flash镜像读取与升级的方法,其特征在于,所述步骤S30具体包括以下步骤:S301、待升级终端通过Linux内核mdev机制检测到所述U盘的热拔插,运行文件系统中的U盘挂载脚本,自动挂载...

【专利技术属性】
技术研发人员:彭水明余伟峰吴志鹏罗强陈超鑫
申请(专利权)人:威胜信息技术股份有限公司
类型:发明
国别省市:

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

1