CN101650662A - 一种嵌入式系统的存储器件、固件启动及升级方法 - Google Patents
一种嵌入式系统的存储器件、固件启动及升级方法 Download PDFInfo
- Publication number
- CN101650662A CN101650662A CN200910166564A CN200910166564A CN101650662A CN 101650662 A CN101650662 A CN 101650662A CN 200910166564 A CN200910166564 A CN 200910166564A CN 200910166564 A CN200910166564 A CN 200910166564A CN 101650662 A CN101650662 A CN 101650662A
- Authority
- CN
- China
- Prior art keywords
- subregion
- firmware
- main partition
- upgrading
- crc
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种嵌入式系统的存储器件、固件启动及升级方法,所述存储器件为可读写的闪存,至少包括:第一分区,用于存放嵌入式系统启动引导部分;主分区与从分区,容量大小一致,用于存储固件启动及升级需要用到的参数及数据;本发明提供的基于上述存储器件的启动方法,包括:启动引导部分,判断两个分区的固件属性;验证当前从分区的循环冗余校验码有效性,若有效,则擦除主分区数据,将从分区内容拷贝到主分区上,之后从主分区启动;若无效,则从主分区启动程序映像。本发明将闪存进行分区设置,只利用一个存储器实现系统功能,相对于现有技术具有降低系统电路复杂性和成本的效果。本发明的启动方法,具有更好的可靠性。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种嵌入式系统的存储器件、固件启动及升级方法。
背景技术
嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电机工程师协会的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。
嵌入式系统的内核是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者微控制器组成。与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的;所以经常称为“固件”。
嵌入式系统往往为了使固件运行升级安全可靠,一般在硬件设计上采用两个存储器件,一个是只读存储器(ROM),存放CPU(中央处理单元)/ASIC(Application-Specific Integrated Circuit,专用集成电路)运行时固件;另外一个存储器件选用可读写的闪存(Flash),作为升级备份用的存储器件。这样两个存储器的设置方式在嵌入式硬件系统电路上增加了复杂性和成本,对一些嵌入式系统电路空间大小要求较高、成本敏感的系统来说,是一个缺点。
发明内容
本发明所要解决的技术问题是提供一种嵌入式系统的存储器件及基于该存储器件的固件启动及升级方法,通过该存储器件的布局减少外部电路布局;通过启动方法来进行固件的选择启动,提高嵌入式系统的启动可靠性;通过升级方法使固件安全可靠地升级。
为了解决上述技术问题,本发明提供了一种嵌入式系统的存储器件,为可读写的闪存,所述存储器件至少包括:
第一分区,用于存放嵌入式系统启动引导部分;
主分区与从分区,容量大小一致,用于存储固件启动及升级需要用到的参数及数据。
为了解决上述技术问题,本发明还提供了一种固件启动方法,用于对嵌入式系统上的固件进行启动,包括:
启动引导部分,判断两个分区的固件属性;
验证当前从分区的循环冗余校验码有效性,若有效,则擦除主分区数据,将从分区内容拷贝到主分区上,之后从主分区启动;若无效,则从主分区启动程序映像。
为了解决上述技术问题,本发明还提供了一种固件升级方法,用于对嵌入式系统上的固件进行升级,包括:
根据固件属性选择升级分区;
擦除选择的升级分区的数据,并将更新的内容写入选择的升级分区;
判断是否是最后一个固件数据写入,如果是,则从选择的升级分区读出来数据计算固件更新后的循环冗余校验码;
将固件更新后的循环冗余校验码与嵌入式系统发来的循环冗余校验码进行对比,若匹配,则将固件长度和循环冗余校验码写入到选择的升级分区,返回嵌入式系统固件升级成功;若不匹配则将选择的升级分区固件大小区域和循环冗余校验码区域清0,同时返回嵌入式系统升级失败。
本发明通过将闪存进行分区设置,从而只利用一个存储器即能实现系统功能,相对于现有技术采用两个存储器件的方式,具有降低系统电路复杂性和成本的效果。并且本发明基于分区设置的存储器件的启动方法,由于该分区的存储器件设置了主、从两个分区,都可以实现固件的启动,因而具有更好的可靠性。本发明基于该分区设置,并提出了固件升级方法,使固件安全可靠地升级。
附图说明
图1为本发明中Flash的逻辑分区图;
图2为本发明中的分区内部示意图;
图3为本发明的BootLoader启动流程图;
图4为本发明的固件升级流程图。
具体实施方式
本发明的主要思想是:设置嵌入式系统的Flash空间至少包括3个分区,第一分区用于存放嵌入式系统启动引导部分。第二分区与第三分区容量大小一致,并且均设置有存储固件数据,固件属性,固件大小和CRC(循环冗余校验码)校验数据的区间。在基于该存储器件的固件启动及升级时,通过主从分区的判断选择实现启动,可以提高系统启动的可靠性。
下面结合附图及优选的实施例对本发明技术方案作进一步的详细说明。
参照图1及图2所示,Flash逻辑布局如下:
Flash空间至少包括3个分区,第一个分区为BootLoader,第二个分区为Image0,第三个分区为Image1。Image0和Image1的容量大小一致。其中BootLoader存放嵌入式系统启动引导部分,实现程序镜像的加载选择;Image0和Image1至少分别存放固件数据,固件属性,固件大小和CRC校验数据。其中固件数据包括了嵌入式系统运行所需要的二进制程序以及可选的运行所需要的操作系统等软件。其中固件属性标识所在分区是否为主分区或者是从分区,固件大小表示有效的固件大小,CRC校验数据表示固件CRC校验数据。当然,图2所示的Image0和Image1的分区内部,还包括擦除区域,具体应用中,Image0和Image1的分区内部可以设置成包括其他的区域结构,本发明对此不加以限定。
参照图3所示,为本发明的BootLoader启动流程图,所示启动方法包括:
步骤301:BootLoader首先加载,判断两个分区的主从标志位;
步骤302:BootLoader验证当前从分区的CRC-32有效性;若有效则执行步骤303,无效执行步骤308;
步骤303:BootLoader擦除主分区数据,将从分区内容拷贝到主分区上,进入步骤304;
步骤304:重新验证主分区的CRC-32,验证成功进入步骤305;若失败,则进入步骤306,
步骤305:记录主分区和从分区良好状态,从主分区启动程序映像,结束;
步骤306:判断重试是否超过阈值,是则进入步骤307;否则进入步骤303;
步骤307:记录当前主分区映像损坏状态,从从分区启动程序映像,同时将当前主分区属性标志成从分区,将当前从分区标志成主分区,进入步骤308;
步骤308:验证当前主分区的CRC-32有效性,若失败则进入步骤310,否则进入步骤309;
步骤309:记录当前从分区损坏状态,从当前主分区启动程序映像,结束;
步骤310:记录住分区和从分区损坏状态,启动程序映像失败处理,结束。
为了实现在固件升级后,本发明的固件还能正常启动,本发明并提供了固件升级方法。
参照图4所示,为本发明的固件升级方法流程图。具体来说,所述升级方法包括:
步骤401:接收固件下载指令;
步骤402:选择下载Flash分区;在本发明中升级程序读取Image0和Image1的固件属性,根据固件属性选择从分区;
步骤403:擦除Flash从分区数据;
步骤404:更新Flash从分区数据;其中写入时候是按照将固件进行分片写入,以解决一些嵌入式系统缓存不足缺陷;
步骤405:判断是否是最后一个固件数据,如果是,执行步骤406,否则执行步骤404;
步骤406:当写入最后一个分片的时候,升级程序会从Flash从分区读出来数据计算CRC;
步骤407:将固件CRC与嵌入式系统发来的CRC信息进行对比,若匹配则执行步骤408,不匹配则执行步骤409;
步骤408:将固件长度和CRC写入到从分区的固件大小区域和CRC校验数据区域,返回嵌入式系统固件升级成功;
步骤409:固件大小区域和CRC区域清0,同时返回嵌入式系统升级失败。
由上述的固件升级方法可以看出,为了配合本发明的固件启动方法,本发明的固件升级只从从分区进行升级即可,相应的,在本发明的启动方法中,将从分区的内容拷贝到主分区上,再从主分区启动,就实现了以最新版本的固件进行启动。
本发明并提供了验证分区有效的方法:
BootLoader读取分区固件大小区域,得到固件数据长度;
依次从Flash分区的固件数据区域读取固件数据长度的数据并计算CRC数据;
计算后与存放的CRC校验数据区域数据对比,若一致则分区有效,不一致则分区无效。
下面通过具体应用中的实例对本发明技术方案进行示例性说明。
在实施过程中,将Flash分区成BootLoader区域,Image0和Image1区域的大小,取决于Flash空间的大小。分区大小可以通过在静态链接文件中定义设置。这样在编译BootLoader程序时候可以链接编译进BootLoader程序。
拿一个基于64-Kbyte扇区大小,512k×16(8Mbit)的Flash为例。从地址0x00000000到0x0001FFFF地址空间划分为BootLoader。BootLoader大小为128KB。从0x00020000到0x00090000为Image0,Image0的大小为448KB。从0x00090001到0x000FFFFF为Image1,Image1的大小为448KB。在Image0和Image1空间最后部分都会留出9个Byte大小的空间来存放相应固件分区的固件属性,固件大小和CRC校验数据。其中固件属性占用1个Byte,固件大小和CRC校验数据各占4个Byte。
Flash驱动会提供一种机制,用来对BootLoader区域进行写保护,以防止BootLoader区域被偶然的更改而导致嵌入式系统启动失败。在BootLoader里面,包含着嵌入式系统CPU的重启向量和启动异常向量。并且嵌入式系统CPU的重启向量和启动异常向量不应该包含在应用程序映像里面,也就是Image0和Image1里面。在BootLoader里面包含了一个CRC-32查询表,用来进行CRC校验。这个CRC-32查询表可以和应用程序映像Image0和Image1共享。
在本应用实例中,本发明嵌入式系统启动方法流程如下:
1)嵌入式设备启动,BootLoader加载到设备内存中执行,进入2);
2)BootLoader判断程序镜像空间属性为主或者是从标志。
BootLoader验证当前从分区的CRC-32有效性;若有效进入3),否则进入7)
3)BootLoader擦除主分区数据,将从分区数据拷贝到主分区,进入4)
4)重新验证新的主分区的CRC-32有效性。若失败重新进入,若重试次数超过阈值,进入6);验证成功进入5)
5)记录主分区和从分区良好状态,从主分区启动程序映像;
6)记录当前主分区映像损坏状态,从从分区启动程序映像,同时将当前主分区属性标志成从分区,将当前从分区标志成主分区;
7)验证当前主分区的CRC-32有效性,若失败则进入10),否则进入9);
8)记录当前从分区损坏状态,从当前主分区启动程序映像;
9)记录当前从分区损坏状态,从当前主分区启动程序映像;
10)记录住分区和从分区损坏状态,启动失败处理。失败处理
则产生断言错误,显示给终端用户。
这样在任何时候都可以实现从一个有效的分区启动嵌入式系统,最大限度的保证了系统的可靠性。嵌入式系统可以通过某种方式将Flash两个分区的状态告诉给系统使用者。具体来说,嵌入式系统与用户之间的沟通方法,也就是UI(User Interface),可能包括串口CLI,网络方式等,这里取决于嵌入式系统的实现。使使用者可以通过Flash诊断工具对无效的损坏的Flash分区进行诊断。Flash诊断工具指嵌入式系统提供的诊断工具,具体如何诊断可能有很多种方法。一种实现为:根据flash的提供商提供的诊断函数,进行flash的诊断。
上面的验证分区有效性实现:
BootLoader根据分区大小,计算出分区的结尾地址,然后向前偏移8个Byte地址空间,得到分区大小起始地址,然后读取4个Byte数据,获得镜像空间的大小;然后从镜像分区起始地址开始读取镜像大小数据,并按照字节大小计算CRC-32。最后读取镜像分区的结尾地址前4个Byte地址数据,得到CRC-32有效数据区域值,用来匹配计算的CRC-32。若相等则分区有效,不相等则分区无效。
在本应用实例中,在程序映像里面包含了系统升级的逻辑。系统升级流程如下:
1)程序映像执行中,接收到来自嵌入式系统传递的固件指令;此时程序
映像运行在设备内存中。
2)系统升级程序判断Flash的两个分区的主从标志,选择从分区
作为系统的固件升级目标区域;
3)根据嵌入式系统接受到的固件,按照分块大小写入到从分区;同时更新接收到的固件的大小。
4)写入最后一个分片的固件时候,升级程序从Flash从分区中读出来数据,计算接收的固件的CRC-32。与嵌入式系统发来的CRC信息进行对比,若匹配进入5),不匹配进入6);
5)将固件长度和CRC-32写入到从分区的固件大小区域和CRC校验数据区域,返回嵌入式系统固件升级成功;
6)从分区的固件大小区域和CRC区域清0,同时则返回嵌入式系统固件升级失败。
以上启动和升级步骤中判断主从标志的方法为:程序根据分区大小,计算出两个分区的结尾地址,然后向前偏移9个Byte地址空间,得到分区属性起始地址,然后读取1个Byte数据,获得镜像空间的属性;
需要指出的是,以上仅为发明实现的较佳实例而已,本发明所述方案,并不仅仅限于说明书和实施方式中所列运用。对本发明技术所属领域的普通技术人员来说,可根据本发明做出各种相应的改变和变形,而所有这些相应的改变和变形都属于本发明权利要求的保护范围。
Claims (9)
1、一种嵌入式系统的存储器件,为可读写的闪存,其特征在于,所述存储器件至少包括:
第一分区,用于存放嵌入式系统启动引导部分;
主分区与从分区,容量大小一致,用于存储固件启动及升级需要用到的参数及数据。
2、如权利要求1所述的存储器件,其特征在于,所述固件启动及升级需要用到的参数及数据,包括:
固件数据,包括了嵌入式系统运行所需要的二进制程序以及可选的运行所需要的操作系统;
固件属性,标识所在分区为主分区或者是从分区;
固件大小,表示有效的固件大小;
循环冗余校验码校验数据,表示固件循环冗余校验码校验数据。
3、一种基于权利要求1所述的存储器件的固件启动方法,用于对嵌入式系统上的固件进行启动,其特征在于,包括:
启动引导部分,判断两个分区的固件属性;
验证当前从分区的循环冗余校验码有效性,若有效,则擦除主分区数据,将从分区内容拷贝到主分区上,之后从主分区启动;若无效,则从主分区启动程序映像。
4、如权利要求3所述的方法,其特征在于,所述从主分区启动程序映像的步骤还包括:记录当前从分区为损坏状态。
5、如权利要求3所述的方法,其特征在于,所述将从分区内容拷贝到主分区上,之后从主分区启动的步骤,包括:
验证新的主分区的循环冗余校验码,若失败,则擦除主分区数据,将从分区内容拷贝到主分区上重试,若重试成功,则记录主分区和从分区良好状态,从主分区启动程序映像。
6、如权利要求5所述的方法,其特征在于,还包括:
设置重试次数的阈值,若重试超过所述阈值后仍未成功,则记录主分区映像损坏状态,从从分区启动程序映像,同时将主分区固件属性标志成从分区,将从分区固件属性标志成主分区;
验证当前主分区的循环冗余校验码有效性,若失败则记录主分区和从分区损坏状态,启动程序映像失败;否则记录从分区损坏状态,从主分区启动程序映像。
7、一种固件升级方法,用于对嵌入式系统上的固件进行升级,其特征在于,包括:
根据固件属性选择升级分区;
擦除选择的升级分区的数据,并将更新的内容写入选择的升级分区;
判断是否是最后一个固件数据写入,如果是,则从选择的升级分区读出来数据计算固件更新后的循环冗余校验码;
将固件更新后的循环冗余校验码与嵌入式系统发来的循环冗余校验码进行对比,若匹配,则将固件长度和循环冗余校验码写入到选择的升级分区,返回嵌入式系统固件升级成功;若不匹配则将选择的升级分区固件大小区域和循环冗余校验码区域清0,同时返回嵌入式系统升级失败。
8、如权利要求7所述的方法,其特征在于,所述将更新的内容写入选择的升级分区,包括:
将固件进行分片写入。
9、如权利要求7所述的方法,其特征在于,所述根据固件属性选择升级分区,包括:选择升级分区为所述从分区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910166564 CN101650662B (zh) | 2009-08-26 | 2009-08-26 | 一种嵌入式系统的存储器件的固件启动及升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910166564 CN101650662B (zh) | 2009-08-26 | 2009-08-26 | 一种嵌入式系统的存储器件的固件启动及升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101650662A true CN101650662A (zh) | 2010-02-17 |
CN101650662B CN101650662B (zh) | 2013-09-11 |
Family
ID=41672903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910166564 Active CN101650662B (zh) | 2009-08-26 | 2009-08-26 | 一种嵌入式系统的存储器件的固件启动及升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101650662B (zh) |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012825A (zh) * | 2010-11-16 | 2011-04-13 | 卓越信通电子(北京)有限公司 | 一种在线替换嵌入式linux系统内核的方法 |
CN102147745A (zh) * | 2011-05-24 | 2011-08-10 | 广州视源电子科技有限公司 | 一种系统数据初始化的方法 |
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
CN102779081A (zh) * | 2012-07-05 | 2012-11-14 | 深圳市华曦达科技股份有限公司 | 电子设备系统安全更新的方法及装置 |
CN102945176A (zh) * | 2012-11-09 | 2013-02-27 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和设备 |
CN102981872A (zh) * | 2012-11-09 | 2013-03-20 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和终端设备 |
CN103092659A (zh) * | 2013-01-31 | 2013-05-08 | 中国航空无线电电子研究所 | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 |
CN103136005A (zh) * | 2011-11-28 | 2013-06-05 | 英业达科技有限公司 | 更新固件的方法 |
CN103176859A (zh) * | 2011-12-21 | 2013-06-26 | 北京普源精电科技有限公司 | 一种flash数据备份/恢复方法、设备及信号源 |
CN103207799A (zh) * | 2013-04-23 | 2013-07-17 | 中国科学院微电子研究所 | 一种计算机系统的关机方法、开机方法、装置及系统 |
CN103226505A (zh) * | 2013-04-22 | 2013-07-31 | 华为技术有限公司 | 一种校验基本输入输出系统bios的方法及设备 |
CN103488494A (zh) * | 2013-08-12 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种刀片服务器多固件同步更新升级方法 |
CN103853565A (zh) * | 2012-11-28 | 2014-06-11 | 京信通信系统(中国)有限公司 | 基于arm的固件升级方法和装置 |
CN104035833A (zh) * | 2013-03-07 | 2014-09-10 | 联发科技股份有限公司 | 校验机器可读代码完整性的方法及系统 |
CN104142838A (zh) * | 2014-07-02 | 2014-11-12 | 青岛海信移动通信技术股份有限公司 | 一种移动通信终端开机启动的方法和设备 |
CN104407886A (zh) * | 2014-11-05 | 2015-03-11 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种引导与目标分离的嵌入式软件固化、加载方法 |
CN104778060A (zh) * | 2015-04-07 | 2015-07-15 | 珠海全志科技股份有限公司 | 一种嵌入式Linux系统快速安全启动方法 |
CN105793865A (zh) * | 2013-12-05 | 2016-07-20 | 甲骨文国际公司 | 支持中间件机器环境中的输入/输出(i/o)设备的基于主机的带内/旁带固件升级的系统和方法 |
CN105808296A (zh) * | 2016-03-08 | 2016-07-27 | 江苏万帮德和新能源科技有限公司 | 一种用于充电桩安全升级自身程序的客户端软件启动方法 |
CN105912355A (zh) * | 2016-01-29 | 2016-08-31 | 北京云迹科技有限公司 | 一种智能机器人硬件程序升级的方法及系统 |
CN106095625A (zh) * | 2016-07-13 | 2016-11-09 | 上海斐讯数据通信技术有限公司 | 无线接入设备启动方法及系统 |
CN106104474A (zh) * | 2013-12-26 | 2016-11-09 | 金雅拓股份有限公司 | 用于更新低存储量装置上的固件的方法 |
CN106293531A (zh) * | 2016-08-10 | 2017-01-04 | 深圳市蜂联科技有限公司 | 一种基于flash写保护的防止SD使用过程中flash被意外篡改的方法 |
CN106776122A (zh) * | 2016-11-23 | 2017-05-31 | 武汉光迅科技股份有限公司 | 一种基于Flash启动过程中主备保护的方法 |
CN106843958A (zh) * | 2017-01-18 | 2017-06-13 | 成都黑盒子电子技术有限公司 | 一种嵌入式固件升级方法 |
CN107247603A (zh) * | 2017-04-18 | 2017-10-13 | 深圳市广和通无线股份有限公司 | 支持固件自动恢复功能的远程升级方法与系统 |
CN107480007A (zh) * | 2017-08-15 | 2017-12-15 | 南京南瑞继保电气有限公司 | 一种程序冗余校验与纠错的方法 |
CN107544925A (zh) * | 2016-06-24 | 2018-01-05 | 爱思开海力士有限公司 | 存储器系统及加速引导时间的方法 |
CN108021410A (zh) * | 2017-12-06 | 2018-05-11 | 九阳股份有限公司 | 一种智能家电设备的固件升级方法及系统 |
CN109189445A (zh) * | 2018-10-12 | 2019-01-11 | 武汉微智创大科技有限公司 | 一种物联网设备程序升级的方法 |
CN109408153A (zh) * | 2018-11-01 | 2019-03-01 | 百度在线网络技术(北京)有限公司 | 软件启动方法和软件升级方法 |
CN109614265A (zh) * | 2018-11-05 | 2019-04-12 | 北京原子机器人科技有限公司 | 智能惯导传感系统的双备份系统及其配置启动方法 |
CN110007941A (zh) * | 2019-03-05 | 2019-07-12 | 小黄狗环保科技有限公司 | 一种智能垃圾分类回收系统的mcu固件及升级方法 |
CN110032387A (zh) * | 2019-03-25 | 2019-07-19 | 中国航空无线电电子研究所 | 具有高可靠性机载设备映像加载处理功能的通用处理模块 |
CN110096293A (zh) * | 2019-04-30 | 2019-08-06 | 上海睿赛德电子科技有限公司 | 一种基于STM32具有OTA升级功能的通用Bootloader实现方法 |
CN110851160A (zh) * | 2019-11-05 | 2020-02-28 | 许继集团有限公司 | 一种嵌入式装置及其程序升级方法 |
CN111045713A (zh) * | 2019-12-19 | 2020-04-21 | 浪潮(北京)电子信息产业有限公司 | 一种计算机系统的升级方法、系统及装置 |
CN111258600A (zh) * | 2019-11-21 | 2020-06-09 | 华立科技股份有限公司 | 镜像式嵌入式程序固件升级方法 |
CN111813594A (zh) * | 2019-04-11 | 2020-10-23 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的基于硬件的系统的启动失效恢复方案 |
CN112350888A (zh) * | 2020-10-23 | 2021-02-09 | 英业达科技有限公司 | 启动状态检测系统及其方法 |
CN112364394A (zh) * | 2020-11-11 | 2021-02-12 | 中国信息安全测评中心 | 一种固态硬盘的安全防护方法及装置 |
CN112882757A (zh) * | 2021-01-26 | 2021-06-01 | 东莞市峰谷科技有限公司 | 一种嵌入式系统双分区安全启动方法 |
CN113176891A (zh) * | 2021-05-10 | 2021-07-27 | 常州易控汽车电子股份有限公司 | 一种基于Bootloader带有备份功能的ECU的程序烧写方法 |
CN113535238A (zh) * | 2020-04-15 | 2021-10-22 | 浙江宇视科技有限公司 | 一种针对ddr的兼容方法、装置、存储介质及设备 |
CN113535213A (zh) * | 2021-07-21 | 2021-10-22 | 联想长风科技(北京)有限公司 | 一种可编程逻辑器件的固件更新方法及系统 |
CN113553085A (zh) * | 2021-07-26 | 2021-10-26 | 科东(广州)软件科技有限公司 | 嵌入式操作系统在线升级的方法、装置、设备和存储介质 |
CN113595940A (zh) * | 2021-09-28 | 2021-11-02 | 恒生电子股份有限公司 | 分片的发送方法、接收方法和对应装置 |
CN113721943A (zh) * | 2021-09-03 | 2021-11-30 | 青岛海信宽带多媒体技术有限公司 | 一种路由器及镜像自升级方法 |
CN114328344A (zh) * | 2021-11-26 | 2022-04-12 | 上海航天科工电器研究院有限公司 | 一种基于串口的dsp应用程序在线升级方法 |
CN116302011A (zh) * | 2023-05-24 | 2023-06-23 | 广东电网有限责任公司佛山供电局 | 一种电缆监测设备固件升级方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216772A (zh) * | 2008-01-15 | 2008-07-09 | 中兴通讯股份有限公司 | 一种嵌入式设备的启动方法及软件升级方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100971320B1 (ko) * | 2003-03-25 | 2010-07-20 | 트랜스퍼시픽 소닉, 엘엘씨 | 플래시롬의 응용 프로그램 저장/실행 방법 |
US20090125645A1 (en) * | 2007-11-12 | 2009-05-14 | Gemalto Inc | System and method for supporting multiple tokens having a smart card to control parameters of a flash memory device |
CN100533380C (zh) * | 2007-11-30 | 2009-08-26 | 上海广电(集团)有限公司中央研究院 | 基于dsp的升级系统以及升级方法 |
CN101477471B (zh) * | 2009-01-07 | 2014-04-30 | 杭州海康威视数字技术股份有限公司 | 一种嵌入式系统固件在线升级方法 |
-
2009
- 2009-08-26 CN CN 200910166564 patent/CN101650662B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216772A (zh) * | 2008-01-15 | 2008-07-09 | 中兴通讯股份有限公司 | 一种嵌入式设备的启动方法及软件升级方法 |
Cited By (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012825A (zh) * | 2010-11-16 | 2011-04-13 | 卓越信通电子(北京)有限公司 | 一种在线替换嵌入式linux系统内核的方法 |
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
CN102147745A (zh) * | 2011-05-24 | 2011-08-10 | 广州视源电子科技有限公司 | 一种系统数据初始化的方法 |
CN102147745B (zh) * | 2011-05-24 | 2015-04-22 | 广州视源电子科技股份有限公司 | 一种系统数据初始化的方法 |
CN103136005A (zh) * | 2011-11-28 | 2013-06-05 | 英业达科技有限公司 | 更新固件的方法 |
CN103176859A (zh) * | 2011-12-21 | 2013-06-26 | 北京普源精电科技有限公司 | 一种flash数据备份/恢复方法、设备及信号源 |
CN102779081A (zh) * | 2012-07-05 | 2012-11-14 | 深圳市华曦达科技股份有限公司 | 电子设备系统安全更新的方法及装置 |
CN102945176A (zh) * | 2012-11-09 | 2013-02-27 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和设备 |
CN102981872A (zh) * | 2012-11-09 | 2013-03-20 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和终端设备 |
CN103853565A (zh) * | 2012-11-28 | 2014-06-11 | 京信通信系统(中国)有限公司 | 基于arm的固件升级方法和装置 |
CN103092659A (zh) * | 2013-01-31 | 2013-05-08 | 中国航空无线电电子研究所 | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 |
CN104035833A (zh) * | 2013-03-07 | 2014-09-10 | 联发科技股份有限公司 | 校验机器可读代码完整性的方法及系统 |
CN103226505A (zh) * | 2013-04-22 | 2013-07-31 | 华为技术有限公司 | 一种校验基本输入输出系统bios的方法及设备 |
CN103226505B (zh) * | 2013-04-22 | 2016-08-03 | 华为技术有限公司 | 一种校验基本输入输出系统bios的方法及设备 |
CN103207799A (zh) * | 2013-04-23 | 2013-07-17 | 中国科学院微电子研究所 | 一种计算机系统的关机方法、开机方法、装置及系统 |
CN103488494A (zh) * | 2013-08-12 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种刀片服务器多固件同步更新升级方法 |
CN105793865A (zh) * | 2013-12-05 | 2016-07-20 | 甲骨文国际公司 | 支持中间件机器环境中的输入/输出(i/o)设备的基于主机的带内/旁带固件升级的系统和方法 |
CN105793865B (zh) * | 2013-12-05 | 2019-05-07 | 甲骨文国际公司 | 支持i/o设备的基于主机带内/旁带固件升级的系统和方法 |
CN106104474A (zh) * | 2013-12-26 | 2016-11-09 | 金雅拓股份有限公司 | 用于更新低存储量装置上的固件的方法 |
US10564873B2 (en) | 2013-12-26 | 2020-02-18 | Thales Dis France Sa | Method for updating a firmware on a low memory device |
CN106104474B (zh) * | 2013-12-26 | 2020-03-17 | 金雅拓股份有限公司 | 用于更新低存储量装置上的固件的方法 |
CN104142838A (zh) * | 2014-07-02 | 2014-11-12 | 青岛海信移动通信技术股份有限公司 | 一种移动通信终端开机启动的方法和设备 |
US9703656B2 (en) | 2014-07-02 | 2017-07-11 | Hisense Mobile Communications Technology Co., Ltd. | Method of starting up device, device and computer readable medium |
CN104407886A (zh) * | 2014-11-05 | 2015-03-11 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种引导与目标分离的嵌入式软件固化、加载方法 |
CN104407886B (zh) * | 2014-11-05 | 2017-11-14 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种引导与目标分离的嵌入式软件固化、加载方法 |
CN104778060A (zh) * | 2015-04-07 | 2015-07-15 | 珠海全志科技股份有限公司 | 一种嵌入式Linux系统快速安全启动方法 |
CN105912355A (zh) * | 2016-01-29 | 2016-08-31 | 北京云迹科技有限公司 | 一种智能机器人硬件程序升级的方法及系统 |
CN105808296A (zh) * | 2016-03-08 | 2016-07-27 | 江苏万帮德和新能源科技有限公司 | 一种用于充电桩安全升级自身程序的客户端软件启动方法 |
CN105808296B (zh) * | 2016-03-08 | 2019-06-25 | 江苏万帮德和新能源科技股份有限公司 | 一种用于充电桩安全升级自身程序的客户端软件启动方法 |
CN107544925B (zh) * | 2016-06-24 | 2020-05-08 | 爱思开海力士有限公司 | 存储器系统及加速引导时间的方法 |
CN107544925A (zh) * | 2016-06-24 | 2018-01-05 | 爱思开海力士有限公司 | 存储器系统及加速引导时间的方法 |
CN106095625A (zh) * | 2016-07-13 | 2016-11-09 | 上海斐讯数据通信技术有限公司 | 无线接入设备启动方法及系统 |
CN106293531B (zh) * | 2016-08-10 | 2019-09-06 | 深圳市蜂联科技有限公司 | 一种基于flash写保护的防止SD使用过程中flash被意外篡改的方法 |
CN106293531A (zh) * | 2016-08-10 | 2017-01-04 | 深圳市蜂联科技有限公司 | 一种基于flash写保护的防止SD使用过程中flash被意外篡改的方法 |
CN106776122A (zh) * | 2016-11-23 | 2017-05-31 | 武汉光迅科技股份有限公司 | 一种基于Flash启动过程中主备保护的方法 |
CN106843958A (zh) * | 2017-01-18 | 2017-06-13 | 成都黑盒子电子技术有限公司 | 一种嵌入式固件升级方法 |
CN107247603A (zh) * | 2017-04-18 | 2017-10-13 | 深圳市广和通无线股份有限公司 | 支持固件自动恢复功能的远程升级方法与系统 |
CN107480007B (zh) * | 2017-08-15 | 2020-09-08 | 南京南瑞继保电气有限公司 | 一种程序冗余校验与纠错的方法 |
CN107480007A (zh) * | 2017-08-15 | 2017-12-15 | 南京南瑞继保电气有限公司 | 一种程序冗余校验与纠错的方法 |
CN108021410A (zh) * | 2017-12-06 | 2018-05-11 | 九阳股份有限公司 | 一种智能家电设备的固件升级方法及系统 |
CN109189445A (zh) * | 2018-10-12 | 2019-01-11 | 武汉微智创大科技有限公司 | 一种物联网设备程序升级的方法 |
CN109408153B (zh) * | 2018-11-01 | 2022-03-01 | 百度在线网络技术(北京)有限公司 | 软件启动方法和软件升级方法 |
CN109408153A (zh) * | 2018-11-01 | 2019-03-01 | 百度在线网络技术(北京)有限公司 | 软件启动方法和软件升级方法 |
CN109614265A (zh) * | 2018-11-05 | 2019-04-12 | 北京原子机器人科技有限公司 | 智能惯导传感系统的双备份系统及其配置启动方法 |
CN110007941A (zh) * | 2019-03-05 | 2019-07-12 | 小黄狗环保科技有限公司 | 一种智能垃圾分类回收系统的mcu固件及升级方法 |
CN110007941B (zh) * | 2019-03-05 | 2022-11-08 | 小黄狗环保科技有限公司 | 一种智能垃圾分类回收系统的mcu固件及升级方法 |
CN110032387A (zh) * | 2019-03-25 | 2019-07-19 | 中国航空无线电电子研究所 | 具有高可靠性机载设备映像加载处理功能的通用处理模块 |
CN111813594A (zh) * | 2019-04-11 | 2020-10-23 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的基于硬件的系统的启动失效恢复方案 |
CN110096293A (zh) * | 2019-04-30 | 2019-08-06 | 上海睿赛德电子科技有限公司 | 一种基于STM32具有OTA升级功能的通用Bootloader实现方法 |
CN110851160A (zh) * | 2019-11-05 | 2020-02-28 | 许继集团有限公司 | 一种嵌入式装置及其程序升级方法 |
CN111258600A (zh) * | 2019-11-21 | 2020-06-09 | 华立科技股份有限公司 | 镜像式嵌入式程序固件升级方法 |
CN111045713A (zh) * | 2019-12-19 | 2020-04-21 | 浪潮(北京)电子信息产业有限公司 | 一种计算机系统的升级方法、系统及装置 |
CN113535238B (zh) * | 2020-04-15 | 2024-02-02 | 浙江宇视科技有限公司 | 一种针对ddr的兼容方法、装置、存储介质及设备 |
CN113535238A (zh) * | 2020-04-15 | 2021-10-22 | 浙江宇视科技有限公司 | 一种针对ddr的兼容方法、装置、存储介质及设备 |
CN112350888A (zh) * | 2020-10-23 | 2021-02-09 | 英业达科技有限公司 | 启动状态检测系统及其方法 |
CN112364394A (zh) * | 2020-11-11 | 2021-02-12 | 中国信息安全测评中心 | 一种固态硬盘的安全防护方法及装置 |
CN112882757A (zh) * | 2021-01-26 | 2021-06-01 | 东莞市峰谷科技有限公司 | 一种嵌入式系统双分区安全启动方法 |
CN113176891A (zh) * | 2021-05-10 | 2021-07-27 | 常州易控汽车电子股份有限公司 | 一种基于Bootloader带有备份功能的ECU的程序烧写方法 |
CN113535213A (zh) * | 2021-07-21 | 2021-10-22 | 联想长风科技(北京)有限公司 | 一种可编程逻辑器件的固件更新方法及系统 |
CN113535213B (zh) * | 2021-07-21 | 2024-03-29 | 联想长风科技(北京)有限公司 | 一种可编程逻辑器件的固件更新方法及系统 |
CN113553085A (zh) * | 2021-07-26 | 2021-10-26 | 科东(广州)软件科技有限公司 | 嵌入式操作系统在线升级的方法、装置、设备和存储介质 |
CN113721943A (zh) * | 2021-09-03 | 2021-11-30 | 青岛海信宽带多媒体技术有限公司 | 一种路由器及镜像自升级方法 |
CN113595940A (zh) * | 2021-09-28 | 2021-11-02 | 恒生电子股份有限公司 | 分片的发送方法、接收方法和对应装置 |
CN114328344A (zh) * | 2021-11-26 | 2022-04-12 | 上海航天科工电器研究院有限公司 | 一种基于串口的dsp应用程序在线升级方法 |
CN116302011A (zh) * | 2023-05-24 | 2023-06-23 | 广东电网有限责任公司佛山供电局 | 一种电缆监测设备固件升级方法 |
CN116302011B (zh) * | 2023-05-24 | 2023-08-18 | 广东电网有限责任公司佛山供电局 | 一种电缆监测设备固件升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101650662B (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101650662B (zh) | 一种嵌入式系统的存储器件的固件启动及升级方法 | |
CN109933348B (zh) | 一种电子控制单元中Bootloader的更新方法和装置 | |
CN106095620B (zh) | 一种嵌入式Linux存储分区的开发方法 | |
CN103562875B (zh) | 故障保护固件更新 | |
CN104572229B (zh) | 嵌入式系统的固件升级方法以及固件升级装置 | |
US7313682B2 (en) | Method and system for updating boot memory that stores a fail-safe reset code and is configured to store boot code and boot updater code | |
KR100316981B1 (ko) | 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시 메모리에 프로그램을 저장하는 방법 | |
CN109189445A (zh) | 一种物联网设备程序升级的方法 | |
CN111562934B (zh) | 一种基于热补丁的软件系统升级方法、终端及存储介质 | |
RU2248627C2 (ru) | Способ и устройство для изменения содержимого запоминающих устройств блоков управления | |
CN114860279B (zh) | 一种快速空片升级方法 | |
CN102104750B (zh) | 一种网络电视自动升级的方法 | |
CN112015447B (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN109857426A (zh) | Bootloader程序更新方法、装置、电子设备及存储介质 | |
CN108733517A (zh) | Ssd固件升级保护方法及装置 | |
CN115357262A (zh) | 一种驱动器固件批量升级的方法 | |
CN115718610A (zh) | 一种可靠的单片机应用程序更新的方法 | |
US7096351B2 (en) | Single-chip microcomputer and boot region switching method thereof | |
CN101330695A (zh) | 一种移动终端及其系统升级的方法和装置 | |
CN113076142B (zh) | Tcon参数初始化方法及显示设备 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
CN110825421A (zh) | 一种固件升级方法、系统及可读存储介质 | |
CN114510375A (zh) | 一种Flash芯片数据区域动态共享系统及方法 | |
CN113805946B (zh) | 用于安卓系统的非易失属性的处理方法、装置及电子设备 | |
CN116204353B (zh) | 车机系统的恢复还原方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |