CN103645918A - 一种工业内窥镜的软件升级方法和装置 - Google Patents
一种工业内窥镜的软件升级方法和装置 Download PDFInfo
- Publication number
- CN103645918A CN103645918A CN201310670615.0A CN201310670615A CN103645918A CN 103645918 A CN103645918 A CN 103645918A CN 201310670615 A CN201310670615 A CN 201310670615A CN 103645918 A CN103645918 A CN 103645918A
- Authority
- CN
- China
- Prior art keywords
- file
- upgrading
- upgrade
- aku
- industrial endoscope
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Endoscopes (AREA)
Abstract
本发明公开了一种工业内窥镜的软件升级方法和装置,属于软件技术领域。该方法包括:检测是否升级按键被按下且SD卡中有升级包,如果否,则结束升级流程;解压升级包;解析解压的升级包中的升级列表文件,得到升级文件列表及对应的文件路径;当需要升级Boot分区时,擦除Boot分区,调用flash读写工具将Boot镜像写入Boot分区中;当需要升级文件系统分区部分时,将升级文件列表中的文件复制到其对应的文件路径下。采用本发明实施例,只针对Boot分区才擦除然后再写入,文件系统分区部分不进行擦写,提高了升级效率和升级速度。
Description
技术领域
本发明涉及软件技术领域,尤其涉及一种工业内窥镜的软件升级方法和装置。
背景技术
工业内窥镜,是一种典型的嵌入式系统,硬件方面主要由CPU,动态存储器(DDR),静态存储器(Nandflash,norflash),外围接口电路,包括USB(UniversalSerial BUS)接口或SD(Secure Digital Card)卡接口。软件方面多采用多任务的嵌入式操作系统(linux,ucos)和文件系统;随着软件性能的不断提高和完善,嵌入式系统软件也需要不断地升级以适应新的应用要求。
目前,一般采用平台供应商提供的软件烧录方式来实现升级,或者在引导程序中加入升级程序通过USB与PC机中的升级软件来实现数据交换,完成软件的升级。这种方式需要通讯双方非常严格的数据验证过程,而且需要全部擦除Flash上的所有分区,对于有多任务操作系统和文件系统的镜像文件一般在60M左右,下载的速度较慢,如果只更改其中的个别文件效率就非常低。
发明内容
有鉴于此,本发明要解决的技术问题是提供一种工业内窥镜的软件升级方法和装置,以解决需要全部擦除Flash上的所有分区,软件升级速度慢、效率低的问题。
本发明解决上述技术问题所采用的技术方案如下:
根据本发明的一个方面,提供的一种工业内窥镜的软件升级方法包括:
检测是否升级按键被按下且SD卡中有升级包,如果否,则结束升级流程;
解压压缩升级包;
解析解压的升级包中的升级列表文件,得到升级文件列表及对应的文件路径;
当需要升级Boot分区时,擦除Boot分区,调用flash读写工具将Boot镜像写入Boot分区中;
当需要升级文件系统分区部分时,将升级文件列表中的文件复制到其对应的文件路径下。
优选地,上述升级包包括:Bootloader、操作系统内核镜像和文件系统中要升级的文件,以及升级列表文件。
优选地,上述升级列表文件中,每一行记录一个升级文件在当前文件夹下的相对路径、在要替换文件系统的文件的绝对路径,其中,相对路径和绝对路径用分隔符隔开。
优选地,上述解压压缩升级包之前还包括:判断是否未接电源适配器且电池电量不充足,如果是,结束升级流程。
优选地,上述升级包中的升级文件是加密文件,升级文件的密钥记录在所述升级列表文件中的每一行记录中,相应地,将升级文件列表中的升级文件复制到其对应的文件路径下之前还包括:用于对升级文件进行解密和完整性校验。
根据本发明的另一个方面,提供的一种工业内窥镜的软件升级装置包括:
升级检测模块,用于检测是否升级按键被按下且SD卡中有升级包,当没有升级按键被按下且SD卡中有升级包时,结束升级流程;
解压模块,用于解压压缩升级包;
解析模块,用于解析解压的升级包中的升级列表文件,得到升级文件列表及对应的文件路径;
Boot升级模块,用于当需要升级Boot分区时,擦除Boot分区,调用flash读写工具将Boot镜像写入Boot分区中;
文件系统升级模块,用于将升级文件列表中的文件复制到其对应的文件路径下。
优选地,上述升级包包括:Bootloader、操作系统内核镜像和文件系统中要升级的文件,以及升级列表文件。
优选地,上述升级列表文件,每一行记录一个升级文件在当前文件夹下的相对路径、在要替换文件系统的文件的绝对路径,其中,相对路径和绝对路径用分隔符隔开。
优选地,该装置还包括电源检测模块,用于判断是否未接电源适配器且电池电量不充足,如果是,则结束升级流程。
优选地,该装置还包括校验模块,用于对升级文件进行解密和完整性校验。
本发明提供的工业内窥镜的软件升级方法和装置,本发明提供的工业内窥镜的软件升级方法和装置,通过升级软件时不全部擦除Flash上的数据,只针对特定分区(如Boot分区),才擦除然后再写入,文件系统分区部分不进行擦写,只是替换其中的需要升级的文件,升级更简单稳定,提高了升级效率。同时,将SD卡中的文件复制到Flash比用USB下载到内存再烧写到Flash中要快,提高了升级速度。此外升级前采取保护措施,防止低电时关机造成写Boot分区不成功而引起的灾难性后果,提高了升级的安全性。
附图说明
图1为本发明实施例提供的工业内窥镜的软件升级方法的流程图。
图2为本发明优选实施例提供的工业内窥镜的软件升级方法的流程图。
图3为本发明优选实施例提供的工业内窥镜的软件升级装置的模块结构图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供的工业内窥镜的软件升级方法包括:
S102、检测是否升级按键被按下且SD卡中有升级包,如果否,则结束升级流程。
具体来说,在Boot程序启动完成后升级程序启动,先检测有某一按键或组合按键一直按下,按下并且sd卡中检测到了有升级包,进入升级模式。其中,升级包包括:Bootloader、操作系统内核镜像和文件系统中要升级的文件,以及升级列表文件。
S104、解压压缩升级包。
S106、解析解压的升级包中的升级列表文件,得到升级文件列表及对应的文件路径。
具体来说,升级列表文件中每一行记录一个升级文件在当前文件夹下的相对路径、在要替换文件系统的文件的绝对路径,其中,相对路径和绝对路径用分隔符隔开。
举例来说,制作升级包时,首先将所有升级文件进行加密,并拷贝到文件夹中,然后建立升级列表文件upgrade.lst,文件的每一行记录一个升级文件在当前文件夹下的相对路径、要替换文件系统的文件的绝对路径、及升级文件的密钥,中间用TAB隔开,例如:bin/xxx.bin/usr/autel/abcde,分隔符TAB主要是方便升级程序的解析;最后压缩和加密拷贝到SD卡中。当然,实际使用时升级文件也可以不加密,此时upgrade.lst文件中每一行不用包括密钥。
S108、当需要升级Boot分区时,擦除Boot分区,调用flash读写工具将Boot镜像写入Boot分区中。
S110、当需要升级文件系统分区部分时,将升级文件列表中的文件复制到其对应的文件路径下。
如图2所示,本发明优选实施例提供的工业内窥镜的软件升级方法包括:
S202、检测是否升级按键被按下且SD卡中有升级包,如果否,则结束升级流程。
S204、判断是否未接电源适配器且电池电量不充足,如果是,结束升级流程。
S206、对升级包进行解压。
S208、解析解压的升级包中的升级列表文件,得到升级文件列表及对应的升级文件路径和密钥。
S210、对升级文件进行解密和完整性校验。
具体来说,升级包中的升级文件是加密文件,升级文件的密钥记录在所述升级列表文件中的每一行记录中,利用从升级列表文件中获取的密钥对升级文件进行解密和完整性校验。
S212、判断是否成功解密且文件完整,如果是,则执行步骤S214,否则结束升级流程。
S214、判断是否需要升级Boot分区,如果是,则执行步骤S216,否则执行步骤S218。
S216、擦除Boot分区,调用flash读写工具将Boot镜像写入Boot分区中。
S218、判断是否需要升级文件系统分区,如果是,则执行步骤S220,否则执行步骤S222。
S220、将升级文件列表中的文件复制到其对应的文件路径下。
S222、重新启动系统。
如图3所示,本发明实施例提供的工业内窥镜的软件升级装置包括:
升级检测模块10,用于检测是否升级按键被按下且SD卡中有升级包,当没有升级按键被按下且SD卡中有升级包时,结束升级流程;
其中,压缩升级包包括:Bootloader、操作系统内核镜像和文件系统中要升级的文件,以及升级列表文件。升级列表文件,每一行记录一个升级文件在当前文件夹下的相对路径、在要替换文件系统的文件的绝对路径,其中,相对路径和绝对路径用分隔符隔开。作为优选的方式,升级包中的升级文件还可以是加密文件,升级文件的密钥记录在所述升级列表文件中的每一行记录中。
解压模块20,用于解压压缩升级包;
解析模块30,用于解析解压的升级包中的升级列表文件,得到升级文件列表及对应的文件路径;
Boot升级模块40,用于当需要升级Boot分区时,擦除Boot分区,调用flash读写工具将Boot镜像写入Boot分区中;
文件系统升级模块50,用于当需要升级文件系统分区时,将升级文件列表中的文件复制到其对应的文件路径下。
作为本实施例的一种优选方案,该装置还包括校验模块60,用于对升级文件进行解密和完整性校验。具体来说,升级包中的升级文件是加密文件,升级文件的密钥记录在所述升级列表文件中的每一行记录中,利用解析模块30从升级列表文件中获取的密钥对升级文件进行解密和完整性校验,当解密不成功或者文件不完整时,结束升级流程。
作为本实施例的一种优选方案,该装置还包括电源检测模块70,用于判断是否未接电源适配器且电池电量不充足,当未接电源适配器且电池电量不充足时,结束升级流程。
本发明提供的工业内窥镜的软件升级方法和装置,通过升级软件时不全部擦除Flash上的数据,只针对特定分区(如Boot分区),才擦除然后再写入,文件系统分区部分不进行擦写,只是替换其中的需要升级的文件,升级更简单稳定,提高了升级效率。同时,将SD卡中的文件复制到Flash比用USB下载到内存再烧写到Flash中要快,提高了升级速度。此外升级前采取保护措施,防止低电时关机造成写Boot分区不成功而引起的灾难性后果,提高了升级的安全性。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (10)
1.一种工业内窥镜的软件升级方法,其特征在于,该方法包括:
检测是否升级按键被按下且SD卡中有升级包,如果否,则结束升级流程;
解压所述压缩升级包;
解析所述解压的升级包中的升级列表文件,得到升级文件列表及对应的文件路径;
当需要升级Boot分区时,擦除Boot分区,调用flash读写工具将Boot镜像写入Boot分区中;
当需要升级文件系统分区部分时,将升级文件列表中的文件复制到其对应的文件路径下。
2.根据权利要求1所述的工业内窥镜的软件升级方法,其特征在于,所述升级包包括:Bootloader、操作系统内核镜像和文件系统中要升级的文件,以及升级列表文件。
3.根据权利要求2所述的工业内窥镜的软件升级方法,其特征在于,所述升级列表文件中,每一行记录一个升级文件在当前文件夹下的相对路径、在要替换文件系统的文件的绝对路径,其中,所述相对路径和绝对路径用分隔符隔开。
4.根据权利要求1所述的工业内窥镜的软件升级方法,其特征在于,所述解压所述压缩升级包之前还包括:
判断是否未接电源适配器且电池电量不充足,如果是,结束升级流程。
5.根据权利要求1-4任意一项权利要求所述的工业内窥镜的软件升级方法,其特征在于,所述升级包中的升级文件是加密文件,所述升级文件的密钥记录在所述升级列表文件中的每一行记录中,相应地,所述将升级文件列表中的升级文件复制到其对应的文件路径下之前还包括:用于对所述升级文件进行解密和完整性校验。
6.一种工业内窥镜的软件升级装置,其特征在于,该装置包括:
升级检测模块,用于检测是否升级按键被按下且SD卡中有升级包,当没有升级按键被按下且SD卡中有升级包时,结束升级流程;
解压模块,用于解压所述压缩升级包;
解析模块,用于解析所述解压的升级包中的升级列表文件,得到升级文件列表及对应的文件路径;
Boot升级模块,用于当需要升级Boot分区时,擦除Boot分区,调用flash读写工具将Boot镜像写入Boot分区中;
文件系统升级模块,用于当需要升级文件系统分区部分时,将升级文件列表中的文件复制到其对应的文件路径下。
7.根据权利要求6所述的工业内窥镜的软件升级装置,其特征在于,所述升级包包括:Bootloader、操作系统内核镜像和文件系统中要升级的文件,以及升级列表文件。
8.根据权利要求6所述的工业内窥镜的软件升级装置,其特征在于,所述升级列表文件,每一行记录一个升级文件在当前文件夹下的相对路径、在要替换文件系统的文件的绝对路径,其中,所述相对路径和绝对路径用分隔符隔开。
9.根据权利要求6所述的工业内窥镜的软件升级装置,其特征在于,该装置还包括电源检测模块,用于在解压压缩升级包之前判断是否未接电源适配器且电池电量不充足,当未接电源适配器且电池电量不充足时,结束升级流程。
10.根据权利要求6-9任意一项权利要求所述的工业内窥镜的软件升级装置,其特征在于,该装置还包括校验模块,用于对所述升级文件进行解密和完整性校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310670615.0A CN103645918A (zh) | 2013-12-10 | 2013-12-10 | 一种工业内窥镜的软件升级方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310670615.0A CN103645918A (zh) | 2013-12-10 | 2013-12-10 | 一种工业内窥镜的软件升级方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103645918A true CN103645918A (zh) | 2014-03-19 |
Family
ID=50251141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310670615.0A Pending CN103645918A (zh) | 2013-12-10 | 2013-12-10 | 一种工业内窥镜的软件升级方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103645918A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750527A (zh) * | 2015-03-27 | 2015-07-01 | 广州快飞计算机科技有限公司 | 一种嵌入式系统升级方法及系统 |
CN105005491A (zh) * | 2015-08-11 | 2015-10-28 | 上海斐讯数据通信技术有限公司 | 一种Linux内核和应用程序的升级方法及系统 |
CN105022644A (zh) * | 2014-04-29 | 2015-11-04 | 宇龙计算机通信科技(深圳)有限公司 | 终端、系统更新方法、系统更新文件下发方法及装置 |
CN106909418A (zh) * | 2017-02-13 | 2017-06-30 | 深圳市广和通无线股份有限公司 | 单片机系统更新方法和装置 |
CN107172493A (zh) * | 2017-04-26 | 2017-09-15 | 贵州省广播电视信息网络股份有限公司 | 一种能兼容不同分区类型的ota升级方法 |
CN107888751A (zh) * | 2016-09-30 | 2018-04-06 | 惠州市蓝微电子有限公司 | 一种智能割草机系统的升级方法 |
CN112799698A (zh) * | 2021-01-14 | 2021-05-14 | 陕西建工安装集团(河南)有限公司 | 一种U-boot下基于SD卡自动升级方法 |
CN115562697A (zh) * | 2022-04-14 | 2023-01-03 | 荣耀终端有限公司 | 升级方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003293332A1 (en) * | 2002-12-17 | 2004-07-29 | John Alan Hensley | Method of altering a computer operating system to boot and run from protected media |
CN101505331A (zh) * | 2008-02-04 | 2009-08-12 | 希姆通信息技术(上海)有限公司 | 升级智能手机系统软件的方法和装置 |
CN102033790A (zh) * | 2010-12-15 | 2011-04-27 | 中兴通讯股份有限公司 | 一种嵌入式系统bootrom的升级方法和装置 |
CN102609290A (zh) * | 2012-02-17 | 2012-07-25 | 青岛海信电器股份有限公司 | 电子产品的软件升级方法 |
-
2013
- 2013-12-10 CN CN201310670615.0A patent/CN103645918A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003293332A1 (en) * | 2002-12-17 | 2004-07-29 | John Alan Hensley | Method of altering a computer operating system to boot and run from protected media |
CN101505331A (zh) * | 2008-02-04 | 2009-08-12 | 希姆通信息技术(上海)有限公司 | 升级智能手机系统软件的方法和装置 |
CN102033790A (zh) * | 2010-12-15 | 2011-04-27 | 中兴通讯股份有限公司 | 一种嵌入式系统bootrom的升级方法和装置 |
CN102609290A (zh) * | 2012-02-17 | 2012-07-25 | 青岛海信电器股份有限公司 | 电子产品的软件升级方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022644A (zh) * | 2014-04-29 | 2015-11-04 | 宇龙计算机通信科技(深圳)有限公司 | 终端、系统更新方法、系统更新文件下发方法及装置 |
CN104750527A (zh) * | 2015-03-27 | 2015-07-01 | 广州快飞计算机科技有限公司 | 一种嵌入式系统升级方法及系统 |
CN105005491A (zh) * | 2015-08-11 | 2015-10-28 | 上海斐讯数据通信技术有限公司 | 一种Linux内核和应用程序的升级方法及系统 |
CN105005491B (zh) * | 2015-08-11 | 2018-06-29 | 上海斐讯数据通信技术有限公司 | 一种Linux内核和应用程序的升级方法及系统 |
CN107888751A (zh) * | 2016-09-30 | 2018-04-06 | 惠州市蓝微电子有限公司 | 一种智能割草机系统的升级方法 |
CN106909418A (zh) * | 2017-02-13 | 2017-06-30 | 深圳市广和通无线股份有限公司 | 单片机系统更新方法和装置 |
CN107172493A (zh) * | 2017-04-26 | 2017-09-15 | 贵州省广播电视信息网络股份有限公司 | 一种能兼容不同分区类型的ota升级方法 |
CN107172493B (zh) * | 2017-04-26 | 2020-08-04 | 贵州省广播电视信息网络股份有限公司 | 一种能兼容不同分区类型的ota升级方法 |
CN112799698A (zh) * | 2021-01-14 | 2021-05-14 | 陕西建工安装集团(河南)有限公司 | 一种U-boot下基于SD卡自动升级方法 |
CN115562697A (zh) * | 2022-04-14 | 2023-01-03 | 荣耀终端有限公司 | 升级方法、设备及存储介质 |
CN115562697B (zh) * | 2022-04-14 | 2023-05-23 | 荣耀终端有限公司 | 升级方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103645918A (zh) | 一种工业内窥镜的软件升级方法和装置 | |
CN108614718B (zh) | 启动操作系统的方法、装置和实现装置 | |
CN111045714B (zh) | 一种固件更新方法、装置、耳机及计算机可读存储介质 | |
WO2008007922A1 (en) | Program upgrade system and method for ota-capable mobile terminal | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
CN102647701B (zh) | 一种更新移动终端的应用信息的方法及装置 | |
CN102646043A (zh) | 移动终端软件升级方法、升级装置及移动终端 | |
CN105468396A (zh) | 差分包生成方法、升级方法、生成装置及Linux终端 | |
CN105740425A (zh) | 一种文件存储的方法及装置 | |
CN107995284B (zh) | 一种适用于pos机的ota升级方法 | |
CN111124464B (zh) | 一种用于嵌入式系统的差分升级的方法、系统及计算机可读存储介质 | |
CN104506639A (zh) | 一种获取Root权限的方法及装置 | |
CN109375937A (zh) | 系统升级方法、装置、终端设备及存储介质 | |
KR102693699B1 (ko) | 전자 장치에서 어플리케이션 업데이트 시 런타임 성능 개선 방법 및 장치 | |
CN111263354B (zh) | 一种ota差分升级方法及装置 | |
CN103049287A (zh) | 移动终端和移动终端应用安装的方法 | |
CN101984406A (zh) | 一种通过无线局域网对终端进行升级的方法和系统 | |
CN104035842A (zh) | 一种删除和恢复内置应用程序的方法 | |
CN105786636B (zh) | 一种系统修复方法及装置 | |
CN105446739A (zh) | Ui界面设置方法及装置 | |
CN105426761A (zh) | 一种非法应用的识别方法及移动终端 | |
CN104750492A (zh) | 基于嵌入式操作系统的移动设备的开机控制方法及装置 | |
CN111258613B (zh) | 固件升级方法、装置、电子设备以及存储介质 | |
CN108509215A (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN108322540A (zh) | 客制化数据导入方法、终端及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 518000 Guangdong city of Shenzhen province Nanshan District Xili Street Xueyuan Road No. 1001 Chi Park B1 building 7 layer, 8 layer, 10 layer Applicant after: SHENZHEN AUTEL TECHNOLOGY CO., LTD. Address before: 518000 Guangdong city of Shenzhen province Nanshan District Xili town tea light road on the south side of Shenzhen integrated circuit design and application of Industrial Park 106, 107, 109, 114 Applicant before: Shenzhen Autel Technology Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140319 |