CN102012831A - 基于Linux平台的OTA升级方法 - Google Patents
基于Linux平台的OTA升级方法 Download PDFInfo
- Publication number
- CN102012831A CN102012831A CN2010105773987A CN201010577398A CN102012831A CN 102012831 A CN102012831 A CN 102012831A CN 2010105773987 A CN2010105773987 A CN 2010105773987A CN 201010577398 A CN201010577398 A CN 201010577398A CN 102012831 A CN102012831 A CN 102012831A
- Authority
- CN
- China
- Prior art keywords
- yaffs
- upgrading
- file
- file system
- top box
- 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
Abstract
本发明提供了一种基于Linux平台的OTA升级方法,包括如下步骤:步骤一:机顶盒接收并读取升级信息,将升级信息保存在指定的文件中,保存完后重启机顶盒;步骤二:进入u-boot,挂载yaffs文件系统,读取参数文件到内存,并保存,跳转到loader程序;步骤三:执行升级;步骤四:重启机顶盒。本发明充分考虑了升级的安全性,对断电考虑严密,支持平台广泛,使用底层升级方法,可以全面满足所要升级的程序;使用yaffs文件系统,对Nand Flash支持较好;全系列的C代码,便于移植;使用宏开关控制选项,实现可调可控,使用灵活;充分利用linux的优势,使用shell完成复杂功能。
Description
技术领域
本发明涉及一种OTA升级方法,具体涉及一种基于Linux平台的OTA升级方法。
背景技术
OTA(Over-the-Air Technology)即空中下载技术,是通过通信的空中接口对SIM卡数据及应用进行远程管理的技术。随着人们对生活水平的高要求,以及芯片处理能力不断提升,数字机顶盒作为未来数字电视广播业务的终端设备,也由单功能向多功能发展,这就要求必须要有灵活的升级程序来保证新增加的功能安全稳定的升级到用户的机顶盒中。传统单功能的引导加载程序不能实现多架构系统的支持以及功能扩展,u-boot作为一种通用的成为了嵌入式开发引导加载的首选。
随着应用的不断丰富,容量成为必须考虑的因素,Nand Flash具有单位容量价格低廉,擦写速度快,成为了嵌入式开发的首选存储设备。支持Nand Flash的文件系统也相当多,熟悉的有U盘使用的Fat格式,jffs以及本文使用的yaffs文件系统。
目前尚无用yaffs文件系统、nand flash实现OTA升级。
发明内容
本发明提供了一种可以完全升级kernel,ramdisk以及其他各种文件系统的OTA升级方法。它不受内核版本限制,非常灵活,甚至可以升级u-boot和loader本身,实现了完全的全能升级。即使出现各种意外情况,也能很方便的升级,甚至用户自己也能通过我们提供的升级程序简单操作便能完成升级。
本专利的思路是利用Yaffs文件系统对Nand Flash的良好支持,在kernel中添加yaffs文件系统的支持,通过将升级信息打包成ts流传送到用户机顶盒接收,机顶盒程序根据接收的ts流进行解析,判断出需要升级的部分,并将升级的基本信息保存在指定的文件中,然后自动重启机顶盒,u-boot中读取升级文件,并写入到指定的flash地址,然后跳转到loader,loader读取指定地址,并解析出升级信息中所需的频点,符号率等信息,将升级信息加载到内存中,再写入flash中;重启后进入机顶盒程序,正常执行,完成所有升级功能。
u-boot作为通用的boot loader,已经很广泛的在各个嵌入式产品上使用。其支持架构的广泛性,代码控制的方便性,以及其灵活的移植性和方便的命令操作模式,都让其成为通用引导程序的霸主。在u-boot添加了U盘的支持,可以直接通过U盘升级,移植了yaffs文件系统,让其可以直接和操作系统下面的文件进行通信。即使换一个平台和架构,也不需要修改太多,便能完成移植,对产品的快速成型有很大的优势。U-boot本身发展迅速,支持的驱动丰富,所以在实现各种扩展功能时有丰富的代码作为参考,对节约产品开发时间提高效率有很大的效果。
本发明是这样实现的:
一种基于Linux平台的OTA升级方法,包括如下步骤:
步骤一:机顶盒接收并读取升级信息,将升级信息保存在指定的文件中,保存完后调用重启命令,重启机顶盒;
步骤二:重启机顶盒后进入u-boot,首先挂载yaffs文件系统,读取指定的文件中是否有升级参数文件,如果有且不为空,再读flash地址上保存的flag参数值,当flag参数值等于0时,表示上次升级成功,机顶盒正常执行比较版本号并删除升级参数文件;当flag参数值等于1时,表示需要升级,则读取参数文件到内存,并保存到flash固定地址,然后直接跳转到loader程序;
步骤三:loader程序首先读取保存到flash固定地址的参数文件,解析出需要使用的参数后,执行升级,并将升级信息加载到内存中,再写入到flash指定地址,升级完成后,loader程序将flag值改为0;
步骤四:重启机顶盒,进入机顶盒程序,即完成所有升级功能。
更进一步的方案是:所述的升级信息可以采用ts流或者u盘的形式发送。
更进一步的方案是:所述的yaffs文件系统根据实际的flash地址分布,给yaffs设备文件赋值startblock和endblock,其数值是以块为单位。
更进一步的方案是:所述挂载yaffs文件系统是指向u-boot启动过程中已经初始化了mtd设备;然后根据该nand flash的数据手册,赋值上相应的属性,并指定相应的读写操作函数,完成yaffs设备的初始化;然后根据指定的分区来查找到挂载点,挂载点由startblock和endblock来指定;
更进一步的方案是:所述挂载yaffs文件系统在挂载过程中需要检查yaffs_tag,其位于nand flash的spare区中。
更进一步的方案是:所述的yaffs文件系统的标志保存在nand flash的OOB的保留区剩余的8个字节。
更进一步的方案是:所述的yaffs文件系统志保存在nand flash的OOB的512至515字节和518至519字节和523至524字节。
Yaffs文件系统不仅充分利用了Nand Flash的空间,将OOB区部分字段作为yaffs文件的标志,还大大提高了加载速度。Yaffs文件系统对大容量的存储设备支持较好,为以后扩展也提供了很大的优势。Yaffs采用垃圾回收机制,对Nand Flash本身的很多问题如位反转,坏块等都有很好的处理方法,也为数据安全提供了保障。
对升级程序的代码使用了功能块宏定义控制,将每一个独立的功能都以一个宏来控制,遵循u-boot代码的编程风范,完全实现了灵活控制和代码的规范性,方便更多次的开发。
Linux丰富的系统接口和广泛的驱动支持,以及号称一行脚本能当10句代码的shell脚本语言,都能使开发方便,功能扩展具有很大的优势。Linux本身对网络支持较好,对以后开展3网融合业务都有很大的优势。
本发明具有如下的优点:
1、充分考虑了升级的安全性,对断电考虑严密。
2、使用通用U-boot,支持平台广泛。
3、U-boot中支持U盘升级,支持yaffs文件系统
4、使用底层升级方法,可以全面满足所要升级的程序。
5、使用yaffs文件系统,对Nand Flash支持较好
6、全系列的C代码,便于移植
7、使用宏开关控制选项,实现可调可控,使用灵活。
8、充分利用linux的优势,使用shell完成复杂功能。
附图说明
图1为本发明机顶盒升级流程图;
图2为Nand flash中yaffs信息的示意图;
图3为Yaffs读写的流程图;
具体实施方式
下面结合附图对本发明做进一步的说明。
首先,移植yaffs文件系统到u-boot下,根据实际的flash地址分布,给yaffs设备文件赋值startblock和endblock,其数值是以块为单位。
Nand flash以页为单位读写数据,而以块为单位擦除数据。一个page分为512Bytes的数据区和16Bytes的Spare区,数据区又以256bytes分为前后两段,分别进行ECC校验。所以在读写Nand Flash时的指令也分了三个:ReadA(00h);read B(01h);read C(50h),这三个指令分别对应了读写前256bytes,后256bytes,和Spare区(又叫OOB区)。Spare区中保存有数据区的校验码,其中有8个字节和yaffs文件系统相关,保存了yaffs的标志信息,详情见图2。
typedef struct{
unsigned chunkId:20;
unsigned serialNumber:2;
unsigned byteCountLSB:10;
unsigned objectId:18;
unsigned ecc:12;
unsigned byteCountMSB:2;
}yaffs_Tags;
Yaffs_tags的数据的正确性直接影响yaffs文件系统是否能正确的被挂载上。
由于yaffs_tag在nand flash中的Spare区是不连续的,所以通常通过
typedef union{
yaffs_Tags asTags;
_u8asBytes[8];
}yaffs_TagsUnion;
来进行转换。
每一页的前512字节存放的是数据,第517位是块状态,此位的作用是检测是否是坏块,在出厂时,若此位不是FF则表示为坏块,坏块表也是读取该位来进行建立的。
Yaffs文件系统便是充分利用了nand flash的OOB的保留区剩余的8个字节来做为yaffs文件系统的标志,进行判断yaffs系统。
开发过程中使用www.Stlinux.com提供的st-uboot代码,其u-boot版本是1.3.1。不支持yaffs文件系统,所以我们需要建立u-boot 1.3.1对yaffs的支持。可以从www.yaffs.net或者
http://www.aleph1.co.uk/yaffs下载yaffs文件系统的源代码,主要移植direct目录中的代码,其代码中主要包含:
yaffs_gut s.c 主要的yaffs算法文件。
yaffs_ecc.c yaffs的ecc校验代码
yaffs_mtdif.c yaffs的mtd层接口文件
yaffs_nand.c yaffs的flash抽象接口文件
yaffscfg.c yaffs配置文件。
在u-boot目录中的fs目录下建立yaffs2目录,可以将yaffs2代码目录中的所有.c;.h文件和makefile文件复制到该目录。在makefile中指定需要编译的代码,删掉多余的内容,屏蔽掉所有kernel中使用yaffs文件系统的相关代码,在yaffscfg.c代码中进行配置,屏蔽掉多余的挂载点,我们只需要一个挂载点:/flash。此挂载点就对应于kernel下文件系统的根目录。
主要修改内容,首先进入yaffs_StartUp函数,进行初始化设备的赋值:
flashDev.nDataBytesPerChunk=512;//每一页的数据字节数
flashDev.nChunksPerBlock=32;//一块有多少页
flashDev.nReservedBlocks=5;//保留块数。
flashDev.startBlock=192;//挂载flash物理地址192起始;根据实际情况修改
flashDev.endBlock=1023;//以1023块结束;根据实际情况修改
flashDev.useNANDECC=0;//等于0则使用YAFFS自身ECC,1用nand ecc
flashDev.nShortOpCaches=10;//使用caches
flashDev->isYaffs2=0;//虽说yaffs2兼容yaffs1,512bytes移植只能使用yaffs1
以下是为yaffs的读写,擦除,以及初始化调用相应的函数。
flashDev->eraseBlockInNAND=nandmtd_EraseBlockInNAND;
flashDev->initialiseNAND=nandmtd_InitialiseNAND;
flashDev->writeChunkToNAND=nandmtd_WriteChunkToNAND;
flashDev->readChunkFromNAND=nandmtd_ReadChunkFromNAND;
我们使用mtd层来管理yaffs的读写,重点是nandmtd_ReadChunkFromNAND;
和nandmtd_WriteChunkFromNAND;两个函数。位于yaffs_mtdif.c中。
挂载yaffs流程是:
在u-boot启动过程中已经初始化了mtd设备,在yaffs设备初始化过程中就需要指向这个mtd设备(Nand Flash),然后根据该nand flash的数据手册,赋值上相应的属性,比如块数,页大小等,并指定相应的读写操作函数,完成yaffs设备的初始化;然后根据指定的分区来查找到挂载点,挂载点由startblock和endblock来指定;在挂载过程中需要检查yaffs_tag,其位于nandflash的spare区中,所以只需要查找每页这16字节的内容就可以完成整个文件系统的挂载,而不需要像jffs文件系统需要挂载每页所有字节才能确定文件系统的结构,大大节约了挂载时间。然后进行一些准备工作,初始化一些临时缓冲区,初始化节点、对象,建立”假目录”,即只存在内存中的如:lost+found目录,最后根据扫描出来的所有tags信息建立文件链表,最后释放缓冲区、验证空余数据区和块,判断挂载是否成功,完成整个挂载过程。
当执行ymount/flash挂载成功后,用yls/flash就能浏览出来烧写到192块起始地址的yaffs文件系统。注意必须要使用绝对路径,也就是说,在u-boot下使用yls/flash与
在linux执行“ls/”命令的显示的效果一致。
Yaffs读写的流程图见图3:
在移植yaffs文件系统过程中主要是进行OOB和yaffs_tag的转换。在u-boot1.3.1的版本中,可以通过使用md命令查看到相应地址的内存信息,nanddump可以打印出指定页的数据和OOB,通过对比在kernel正常挂载的yaffs镜像格式和在uboot下nand Spare的分布可以发现,Spare中yaffs_tag和ecc的位置发生了变化。也可以根据制作yaffs镜像工具的源代码来进行分析。
默认分布:
所以在nandmtd_ReadChunkFromNAND 函数中,调用translate_oob2spare(spare,spareAsBytes);来进行OOB数据的转换。在此函数中,将读出来的OOB数据之后重新赋值为新的OOB布局,达到正确显示效果。在写数据时,需要先进行OOB转换,再写入数据。
U-boot跳转升级程序(loader),主要是考虑到loader的入口地址和加载地址,通过bootm来启动,这样可以压缩loader,减少空间使用。通过mkimage命令生成u-boot格式支持bootm的文件。使用u-boot烧写yaffs文件系统,还需要在u-boot的nand write命令中添加对yaffs的支持,可以模仿写jffs2文件系统的命令,主要添加对OOB的操作:opts.writeoob=1;
Kernel还没有自身支持yaffs文件系统,所以还需要在kernel下面支持yaffs文件系统,将源代码解压后,进入源文件目录执行:
./patch-ker.sh c/opt/STM/STLinux-2.3/devkit/sources/kernel
选项c表示复制到kernel目录,后面跟kernel的路径即可。
然后进入kernel配置,选择
File System
——Miscellaneous filesystemsLin
<*>YAFFS2 file system support
重新编译之后,运行cat/proc/yaffs有显示表示已经支持了yaffs文件系统。
通过判断指定目录的文件是否存在,并读取升级的环境变量来判断是否需要升级。
经过以上设置,就可以及时进行升级,升级流程如下:
见附图1,在机顶盒正常使用过程中,通过接收TS流,或者读取U盘信息,如果TS流或者U盘中包含了需要升级的信息,则将升级信息读出来保存为指定的目录的指定文件,保存完了之后调用重启命令,重新启动机顶盒。重启之后进入u-boot,首先挂载yaffs文件系统,然后读取指定目录中是否有升级参数文件,如果有并且不为空,再读flash地址上保存的flag参数值。此flag标志为了防止升级程序不断重复升级。flag=1时表示需要升级,flag=0时表示上次升级成功,且只有升级成功flag才等于0。要升级则读参数文件到内存并保存到flash固定地址,然后直接跳转到loader程序,loader程序首先读取刚保存到flash的参数信息,解析出需要使用的参数后,执行升级,最后将升级程序写入到flash指定地址。升级成功完成后将flag改为0,然后重启。在读到flag=0时,跳转到kernel,先比较机顶盒程序版本,如果已经更新,则删除掉指定目录下的升级参数文件。
Claims (7)
1.一种基于Linux平台的OTA升级方法,其特征在于包括如下步骤:
步骤一:机顶盒接收并读取升级信息,将升级信息保存在指定的文件中,保存完后调用重启命令,重启机顶盒;
步骤二:重启机顶盒后进入u-boot,首先挂载yaffs文件系统,读取指定的文件中是否有升级参数文件,如果有且不为空,再读flash地址上保存的flag参数值,当flag参数值等于0时,表示上次升级成功,机顶盒正常执行比较版本号并删除升级参数文件;当flag参数值等于1时,表示需要升级,则读取参数文件到内存,并保存到flash固定地址,然后直接跳转到loader程序;
步骤三:loader程序首先读取保存到flash固定地址的参数文件,解析出需要使用的参数后,执行升级,并将升级信息加载到内存中,再写入到flash指定地址,升级完成后,loader程序将flag值改为0;
步骤四:重启机顶盒,进入机顶盒程序,即完成所有升级功能。
2.根据权利要求1所述的基于Linux平台的OTA升级方法,其特征在于所述的升级信息可以采用ts流或者u盘的形式发送。
3.根据权利要求1所述的基于Linux平台的OTA升级方法,其特征在于所述的yaffs文件系统根据实际的flash地址分布,给yaffs设备文件赋值startblock和endblock,其数值是以块为单位。
4.根据权利要求3所述的基于Linux平台的OTA升级方法,其特征在于所述挂载yaffs文件系统是指向u-boot启动过程中已经初始化了mtd设备;然后根据该nand flash的数据手册,赋值上相应的属性,并指定相应的读写操作函数,完成yaffs设备的初始化;然后根据指定的分区来查找到挂载点,挂载点由startblock和endblock来指定。
5.根据权利要求4所述的基于Linux平台的OTA升级方法,其特征在于所述挂载yaffs文件系统在挂载过程中需要检查yaffs_tag,其位于nandflash的spare区中。
6.根据权利要求1所述的基于Linux平台的OTA升级方法,其特征在于所述的yaffs文件系统的标志保存在nand flash的OOB的保留区剩余的8个字节。
7.根据权利要求6所述的基于Linux平台的OTA升级方法,其特征在于所述的yaffs文件系统志保存在nand flash的OOB的512至515字节和518至519字节和523至524字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010577398.7A CN102012831B (zh) | 2010-12-08 | 2010-12-08 | 基于Linux平台的OTA升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010577398.7A CN102012831B (zh) | 2010-12-08 | 2010-12-08 | 基于Linux平台的OTA升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102012831A true CN102012831A (zh) | 2011-04-13 |
CN102012831B CN102012831B (zh) | 2014-08-13 |
Family
ID=43843007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010577398.7A Active CN102012831B (zh) | 2010-12-08 | 2010-12-08 | 基于Linux平台的OTA升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102012831B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333240A (zh) * | 2011-08-04 | 2012-01-25 | 深圳创维数字技术股份有限公司 | 一种机顶盒及其在线升级方法 |
CN102419713A (zh) * | 2011-12-31 | 2012-04-18 | 四川长虹电器股份有限公司 | 基于nandflash的机顶盒的软件升级方法 |
CN103593216A (zh) * | 2013-11-12 | 2014-02-19 | 上海斐讯数据通信技术有限公司 | 将ubi格式的系统文件制作成工厂烧录映像文件方法 |
CN104035757A (zh) * | 2013-03-07 | 2014-09-10 | 深圳国人通信有限公司 | 基于MIPS处理器的u-boot移植的实现方法 |
CN105025364A (zh) * | 2014-04-15 | 2015-11-04 | Tcl集团股份有限公司 | 一种智能电视ota延迟升级的方法 |
CN105335502A (zh) * | 2015-10-28 | 2016-02-17 | 迈普通信技术股份有限公司 | 一种文件属性的管理方法及装置 |
CN105446767A (zh) * | 2015-10-27 | 2016-03-30 | 深圳市科陆电子科技股份有限公司 | 智能台后装的生产测试中终端软件升级方法与系统 |
CN105472418A (zh) * | 2015-12-28 | 2016-04-06 | 深圳创维数字技术有限公司 | 一种机顶盒系统异常状态恢复方法及机顶盒 |
CN106303709A (zh) * | 2016-08-01 | 2017-01-04 | 深圳市创维软件有限公司 | 一种机顶盒及其应用程序升级方法、系统 |
CN106598576A (zh) * | 2016-11-30 | 2017-04-26 | 深圳市泛海三江科技发展有限公司 | 一种基于squashfs只读文件的设备参数升级方法及装置 |
CN106970809A (zh) * | 2017-02-22 | 2017-07-21 | 深圳市鼎阳科技有限公司 | 一种安全升级文件系统的方法和装置 |
CN107526608A (zh) * | 2017-06-08 | 2017-12-29 | 青岛海信移动通信技术股份有限公司 | 一种ota升级包升级方法及设备 |
CN107613286A (zh) * | 2017-08-30 | 2018-01-19 | 深圳市芯智科技有限公司 | 一种用于避免重复测试机顶盒的文件监测方法 |
CN108595212A (zh) * | 2018-03-30 | 2018-09-28 | 上海康斐信息技术有限公司 | 一种快速启动无线路由器的方法及无线路由器 |
CN109451357A (zh) * | 2018-11-22 | 2019-03-08 | 四川长虹电器股份有限公司 | 用于智能电视优化oem订单生产升级的方法 |
CN109766140A (zh) * | 2018-12-19 | 2019-05-17 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒启动异常的定位方法及装置 |
CN110677733A (zh) * | 2019-09-06 | 2020-01-10 | 四川天邑康和通信股份有限公司 | 一种用于机顶盒的多种开机logo实现方法 |
CN110704086A (zh) * | 2019-09-30 | 2020-01-17 | 深圳创维-Rgb电子有限公司 | 一种ota升级方法、设备及存储介质 |
CN110750286A (zh) * | 2019-10-17 | 2020-02-04 | 福州汇思博信息技术有限公司 | OTA升级Mbn的管理方法、装置、系统、设备和介质 |
CN111522568A (zh) * | 2020-05-07 | 2020-08-11 | 深圳市吉祥腾达科技有限公司 | 一种boot下验证升级文件的方法 |
CN111614764A (zh) * | 2020-05-21 | 2020-09-01 | 四川爱联科技有限公司 | 一种物联网设备的flash坏块自动修复系统及方法 |
CN112685057A (zh) * | 2020-12-18 | 2021-04-20 | 深圳市网心科技有限公司 | 根文件系统的升级方法、电子设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800842A (zh) * | 2010-04-16 | 2010-08-11 | 四川长虹电器股份有限公司 | 机顶盒软件升级方法 |
-
2010
- 2010-12-08 CN CN201010577398.7A patent/CN102012831B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800842A (zh) * | 2010-04-16 | 2010-08-11 | 四川长虹电器股份有限公司 | 机顶盒软件升级方法 |
Non-Patent Citations (3)
Title |
---|
梁志刚等: "支持Yaffs的U-Boot的研究", 《电脑开发与应用》 * |
韦峰等: "YAFFS2在嵌入式系统中的实现", 《现代电子技术》 * |
龙亚春等: "超大容量NAND Flash文件系统-YAFFS2在Linux下的实现", 《北京电子科技学院学报》 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333240A (zh) * | 2011-08-04 | 2012-01-25 | 深圳创维数字技术股份有限公司 | 一种机顶盒及其在线升级方法 |
CN102419713A (zh) * | 2011-12-31 | 2012-04-18 | 四川长虹电器股份有限公司 | 基于nandflash的机顶盒的软件升级方法 |
CN104035757A (zh) * | 2013-03-07 | 2014-09-10 | 深圳国人通信有限公司 | 基于MIPS处理器的u-boot移植的实现方法 |
CN103593216B (zh) * | 2013-11-12 | 2017-12-05 | 上海斐讯数据通信技术有限公司 | 将ubi格式的系统文件制作成工厂烧录映像文件方法 |
CN103593216A (zh) * | 2013-11-12 | 2014-02-19 | 上海斐讯数据通信技术有限公司 | 将ubi格式的系统文件制作成工厂烧录映像文件方法 |
CN105025364A (zh) * | 2014-04-15 | 2015-11-04 | Tcl集团股份有限公司 | 一种智能电视ota延迟升级的方法 |
CN105446767A (zh) * | 2015-10-27 | 2016-03-30 | 深圳市科陆电子科技股份有限公司 | 智能台后装的生产测试中终端软件升级方法与系统 |
CN105335502A (zh) * | 2015-10-28 | 2016-02-17 | 迈普通信技术股份有限公司 | 一种文件属性的管理方法及装置 |
CN105335502B (zh) * | 2015-10-28 | 2018-09-25 | 迈普通信技术股份有限公司 | 一种文件属性的管理方法及装置 |
CN105472418A (zh) * | 2015-12-28 | 2016-04-06 | 深圳创维数字技术有限公司 | 一种机顶盒系统异常状态恢复方法及机顶盒 |
WO2018024198A1 (zh) * | 2016-08-01 | 2018-02-08 | 深圳市创维软件有限公司 | 机顶盒的应用程序升级方法、系统及机顶盒 |
CN106303709A (zh) * | 2016-08-01 | 2017-01-04 | 深圳市创维软件有限公司 | 一种机顶盒及其应用程序升级方法、系统 |
CN106303709B (zh) * | 2016-08-01 | 2019-04-16 | 深圳市创维软件有限公司 | 一种机顶盒及其应用程序升级方法、系统 |
CN106598576A (zh) * | 2016-11-30 | 2017-04-26 | 深圳市泛海三江科技发展有限公司 | 一种基于squashfs只读文件的设备参数升级方法及装置 |
CN106970809A (zh) * | 2017-02-22 | 2017-07-21 | 深圳市鼎阳科技有限公司 | 一种安全升级文件系统的方法和装置 |
CN107526608B (zh) * | 2017-06-08 | 2021-05-25 | 青岛海信移动通信技术股份有限公司 | 一种ota升级包升级方法及设备 |
CN107526608A (zh) * | 2017-06-08 | 2017-12-29 | 青岛海信移动通信技术股份有限公司 | 一种ota升级包升级方法及设备 |
CN107613286A (zh) * | 2017-08-30 | 2018-01-19 | 深圳市芯智科技有限公司 | 一种用于避免重复测试机顶盒的文件监测方法 |
CN108595212A (zh) * | 2018-03-30 | 2018-09-28 | 上海康斐信息技术有限公司 | 一种快速启动无线路由器的方法及无线路由器 |
CN109451357A (zh) * | 2018-11-22 | 2019-03-08 | 四川长虹电器股份有限公司 | 用于智能电视优化oem订单生产升级的方法 |
CN109766140A (zh) * | 2018-12-19 | 2019-05-17 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒启动异常的定位方法及装置 |
CN110677733A (zh) * | 2019-09-06 | 2020-01-10 | 四川天邑康和通信股份有限公司 | 一种用于机顶盒的多种开机logo实现方法 |
CN110704086A (zh) * | 2019-09-30 | 2020-01-17 | 深圳创维-Rgb电子有限公司 | 一种ota升级方法、设备及存储介质 |
CN110750286A (zh) * | 2019-10-17 | 2020-02-04 | 福州汇思博信息技术有限公司 | OTA升级Mbn的管理方法、装置、系统、设备和介质 |
CN110750286B (zh) * | 2019-10-17 | 2022-08-23 | 福州汇思博信息技术有限公司 | OTA升级Mbn的管理方法、装置、系统、设备和介质 |
CN111522568A (zh) * | 2020-05-07 | 2020-08-11 | 深圳市吉祥腾达科技有限公司 | 一种boot下验证升级文件的方法 |
CN111614764A (zh) * | 2020-05-21 | 2020-09-01 | 四川爱联科技有限公司 | 一种物联网设备的flash坏块自动修复系统及方法 |
CN111614764B (zh) * | 2020-05-21 | 2023-04-21 | 四川爱联科技股份有限公司 | 一种物联网设备的flash坏块自动修复系统及方法 |
CN112685057A (zh) * | 2020-12-18 | 2021-04-20 | 深圳市网心科技有限公司 | 根文件系统的升级方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102012831B (zh) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102012831B (zh) | 基于Linux平台的OTA升级方法 | |
CN103227812B (zh) | 智能设备中支持断点续传的下载方法和装置 | |
KR101555210B1 (ko) | 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치 | |
CN102360298B (zh) | 一种终端设备的软件升级方法 | |
RU2182375C2 (ru) | Организация памяти компьютера | |
CN111538521B (zh) | 智能合约部署、交易方法及装置 | |
CN105511889A (zh) | 一种通用的游戏版本增量更新系统和方法 | |
CN101520734A (zh) | 一种升级闪存中数据的方法及其网络电视和交互式机顶盒 | |
CN102855151A (zh) | 不打断业务的光模块固件在应用升级方法 | |
CN101923473B (zh) | 嵌入式电子装置及更新其固件的方法 | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
KR20100016548A (ko) | 네트워크 단말기에서의 강력한 펌웨어 업그레이드 | |
CN102541595A (zh) | 智能设备的升级方法、装置及智能设备 | |
CN109542495A (zh) | 一种软件升级方法及装置 | |
CN102543193A (zh) | 一种闪存烧录方法、烧录设备及烧录系统 | |
CN103365676B (zh) | 通信设备的软件升级方法及装置 | |
CN101872306B (zh) | 一种实现软件更新和软件备份的嵌入式系统及其实现方法 | |
CN101426032A (zh) | 安装Java应用的终端及其安装Java应用的方法 | |
CN110851163A (zh) | 一种基于can通信的兼容多设备平台的软件更新方法 | |
CN102298534B (zh) | 软件写入机顶盒的方法 | |
CN111290773A (zh) | 系统升级方法、设备及可读存储介质 | |
CN109426511A (zh) | 软核更新方法和系统 | |
CN102281363A (zh) | 一种开机过程中实现增值业务的终端及方法 | |
CN101770508B (zh) | 移动通信终端中的数据访问方法和设备 | |
CN102202129B (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 |