CN103118198B - 移动终端的固件升级方法及系统 - Google Patents
移动终端的固件升级方法及系统 Download PDFInfo
- Publication number
- CN103118198B CN103118198B CN201310045143.XA CN201310045143A CN103118198B CN 103118198 B CN103118198 B CN 103118198B CN 201310045143 A CN201310045143 A CN 201310045143A CN 103118198 B CN103118198 B CN 103118198B
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- module
- data
- mirror image
- packet
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了移动终端的固件升级方法及系统,其方法包括:先由移动终端与PC机连接,将与PC机通信的协议栈内容的DA模块下载存储至RAM模块中;之后由移动终端向PC机返还当前RAM模块中的可用空间大小;之后由移动终端执行DA模块的代码时,PC机将需要下载的镜像根据RMA模块的可用空间大小进行拆分后,依次发送给移动终端;最后通过移动终端将PC机发送的镜像依次写入EMMC模块中。本发明通过在PC机将镜像传输给移动终端时,根据移动终端RMA模块的可用空间大小拆分成多个数据包,根据移动终端可用内存的大小动态的对下载数据进行拆分,实现下载工具的全方位匹配,在提升下载速度的同时,也确保了固件升级成功。
Description
技术领域
本发明涉及至固件升级,特别涉及一种移动终端的固件升级方法及系统。
背景技术
随着手机、PDA(PersonalDigitalAssistant,又称为掌上电脑)等移动终端行业的快速发展,Android操作系统占据了当前移动终端市场上59%的份额,而每天的Android设备激活量平均有130万台,并且这个数据还在不断增长。而在这些激活的Android设备中,每款设备的RAM配置根据不同的市场需求也是不相同的。
目前,Android手机内存的主流配置有512M和1G,但随着三方应用程序的不断增加,Android系统本身编译出来的固件大小也在逐渐扩大,这就出现了烧机的问题(固件升级),如果将从PC端下载到手机中的固件已经逐渐超过了Android手机中可用内存的大小,这样就会导致烧机失败,以致软件无法得到正确升级。
如图1所示,现有的下载流程为:首先,手机在开机时与PC机建立数据链路连接;之后,由PC机将包括与其通信的协议栈部分内容的DA((DiscoveryAgent,发现代理))模块下载到手机的RAM(randomaccessmemory,随机存储器)模块中;下载成功后,手机的CPU开始执行DA模块中的代码,以便后续与PC机通信;之后,DA模块再次与PC机通信建立连接;然后,PC机将需要下载的镜像通过手机端的DA模块发送到手机端的RAM模块中;再由RAM模块将该镜像写到EMMC(EmbeddedMultiMediaCard,为MMC协会所订立的内嵌式存储器标准规格)模块中。
基于上述下载流程,如果PC机发送到手机端镜像的大小大于手机端RAM模块大小(此时因手机已经开机,本身已经耗费了一定的内存,所以此时AM模块可用的内存大小肯定小于其本身的大小),下载即会失败。
为了解决烧机失败的问题,目前业界普遍做法是在PC工具端将需要下载的镜像进行最小拆分,但是如果拆分的镜像过小,会使得下载速度过慢、下载时间过长,如果拆分的镜像过大,则有可能会导致下载失败,这种方式只能根据下载数据大小定制,不具有通用性。
有鉴于此,本发明提供一种移动终端的固件升级方法及系统。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种移动终端的固件升级方法及系统,以解决现有固件升级方式不能通用的问题。
为了达到上述目的,本发明采取了以下技术方案:
一种移动终端的固件升级方法,其包括:
移动终端与PC机连接,将与PC机通信的协议栈内容的DA模块下载存储至RAM模块中;
移动终端向PC机返还当前RAM模块中的可用空间大小;
移动终端执行DA模块的代码时,PC机将需要下载的镜像根据RMA模块的可用空间大小进行拆分后,依次发送给移动终端;
移动终端将PC机发送的镜像依次写入EMMC模块中。
所述的移动终端的固件升级方法中,所述移动终端向PC机返还当前RAM模块中的可用空间大小的步骤之后,所述的方法还包括:
在PC机将移动终端返还的RAM模块的可用空间大小保存为全局变量或者本地临时文件。
所述的移动终端的固件升级方法中,所述移动终端执行DA模块的代码时,PC机将需要下载的镜像根据RMA模块的可用空间大小进行拆分后,依次发送给移动终端的步骤具体包括:
在移动终端执行DA模块的代码时,再次与PC机连接;
PC机将需要下载的镜像根据所述RMA模块的可用空间大小拆分成若干个数据包;
在每个数据包之前增加一个标识进行协议封装;
将数据包依次发送给移动终端。
所述的移动终端的固件升级方法中,PC机拆分需要下载的镜像时,根据以下公式拆分数据包:
每次发送的数据大小=总数据大小/可用RAM模块空间大小。
所述的移动终端的固件升级方法中,所述移动终端将PC机发送的镜像依次写入EMMC模块中的步骤具体包括:
移动终端接收PC机传递的数据包;
判断每个数据包中是否存在标识;如果是,则根据数据包的接收顺序将数据包依次写入EMMC模块中,且每次写入时将写入地址进行偏移,使下次写入数据的启始地址为上次写入数据的结束地址;否则,直接将数据包写入EMMC模块中。
一种移动终端的固件升级系统,其包括移动终端和PC机;
所述移动终端包括:
RAM模块,用于存储数据;
开机引导模块,用于控制移动终端开关机,及向PC机返还移动终端当前RAM模块中的可用空间大小;
DA模块,用于将PC机传输的镜像写入移动终端的EMMC模块中;
所述PC机包括:
PC工具模块,用于将包含与PC机通信的协议栈内容的DA模块传输给移动终端;
拆分模块,用于将需要下载的镜像根据RMA模块的可用空间大小进行拆分。
所述的移动终端的固件升级系统中,
所述拆分模块,还用于在每个数据包之前增加一个标识;
所述DA模块,还用于在写入的数据包中存在标识时,将写入地址进行偏移,使下次写入数据的启始地址为上次写入数据的结束地址。
所述的移动终端的固件升级系统中,所述移动终端包括但不限于智能手机、平板电脑。
相较于现有技术,本发明提供的移动终端的固件升级方法及系统,通过在PC机将镜像传输给移动终端时,根据移动终端RMA模块的可用空间大小拆分成多个数据包,根据移动终端可用内存的大小动态的对下载数据进行拆分,实现下载工具的全方位匹配,在提升下载速度的同时,也确保了固件升级成功。
附图说明
图1为现有移动终端的固件升级的原理图。
图2为本发明移动终端固件升级流程图。
图3为本发明移动终端固件升级系统的结构框图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明基本现在按固定大小拆分下载镜像到时下载失败或者下载时间过长的问题提供一种移动终端的固件升级方法,如图2所示,其包括:
S100、移动终端与PC机连接,将与PC机通信的协议栈内容的DA模块下载存储至RAM模块中。
移动终端需要在开机状态下获取PC机上的数据,在连接时由PC机向移动终端发起握手通信建立数据链路连接,连接成功后,移动终端将包括与PC机通信的协议栈内容的DA模块下载存储至RAM模块中。
S200、移动终端向PC机返还当前RAM模块中的可用空间大小。
以移动终端为智能手机为例,手机镜像在编译制作时,会将RAM模块的内存根据开机引导程序的不同阶段进行划分,并建立相应的映射关系,这个映射关系会被指定编译到手机的镜像里,以便开机时使用。而在开机的过程中,加载开机引导程序镜像时,会去查找上述的映射表格,它规定了每一阶段开机引导程序镜像所使用的RAM地址及所耗费的RAM大小,而一般的下载都是在开机引导程序加载时进行的,在下载时,只需清楚开机引导程序所对应的RAM映射关系,以总RAM大小减去已占用的RAM大小,即可计算出此时可供固件升级下载使用的最大RAM空间大小。
S300、移动终端执行DA模块的代码时,PC机将需要下载的镜像根据RMA模块的可用空间大小进行拆分后,依次发送给移动终端。
为了使移动终端能识别拆分的镜像,所述步骤S400具体包括:
第一步、在移动终端执行DA模块的代码时,再次与PC机连接。在下载成功后,移动终端的CPU便开始执行DA模块中的代码,以便后续与PC机通信。
第二步、PC机将需要下载的镜像根据所述RMA模块的可用空间大小拆分成若干个数据包part.1、part.2…part.n(如图3所示)。其中,PC机拆分需要下载的镜像时,根据以下公式拆分数据包:
每次发送的数据大小=总数据大小/可用RAM模块空间大小
通过以上方式,便可以确保下载成功,而且使下载时间最短。
第三步、在每个数据包之前增加一个标识进行协议封装。譬如,在每次发送数据包之前加入一个文件头,用来标示该数据包是拆分后的数据包,提示移动终端需要进行特殊处理。
第四步、将数据包依次发送给移动终端。
S400、移动终端将PC机发送的镜像依次写入EMMC模块中。
具体实施时,移动终端在接收到PC机传递的数据包之后,首先判断每个数据包中是否存在标识,如果没有标识直接将数据包写入EMMC模块中即可;如果数据包中存在标识,则证明PC机传递过来的数据是拆分过的数据;此时移动终端根据数据包的数量和接收顺序将数据包依次写入EMMC模块中,且每次写入时将写入地址进行偏移,使下次写入数据的启始地址为上次写入数据的结束地址,从而在整个数据写入完毕后,使EMMC模块中的数据得到了合并(如图3所示),确保了数据的完整性。
进一步的实施例中,在步骤S200之后,所述的方法还包括:在PC机将移动终端返还的RAM模块的可用空间大小保存为全局变量或者本地临时文件,供PC读取。
基本上述的移动终端的固件升级方法,本发明实施例相应提供一种移动终端的固件升级系统,如图3所示,所述的系统包括移动终端和PC机,所述移动终端包括但不限于智能手机、平板电脑。
其中,移动终端包括:RAM模块、开机引导模块、DA模块和EMMC模块。RAM模块用于存储数据;开机引导模块用于控制移动终端开关机,及向PC机返还移动终端当前RAM模块中的可用空间大小;DA模块位于RAM模块中,用于将PC机传输的镜像写入移动终端的EMMC模块中。
所述PC机包括:PC工具模块和拆分模块,所述PC工具模块用于将包含与PC机通信的协议栈内容的DA模块传输给移动终端;拆分模块用于将需要下载的镜像根据RMA模块的可用空间大小进行拆分。
为了确保下载成功且使下载时间最短,所述拆分模块还用于在每个数据包之前增加一个标识;所述DA模块还用于在写入的数据包中存在标识时,将写入地址进行偏移,使下次写入数据的启始地址为上次写入数据的结束地址,即:下一次偏移的地址长度为上一个数据包的地址总长度,以使EMMC模块中的数据能够得到合并,保证数据的完整性,确保升级成功。
综上所述,本发明提供的移动终端的固件升级方法及系统,通过在PC机将镜像传输给移动终端时,根据移动终端RMA模块的可用空间大小拆分成多个数据包,根据移动终端可用内存的大小动态的对下载数据进行拆分,实现下载工具的全方位匹配,在提升下载速度的同时,也确保了固件升级成功。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (3)
1.一种移动终端的固件升级方法,其特征在于,包括:
移动终端与PC机连接,将与PC机通信的协议栈内容的DA模块下载存储至RAM模块中;
移动终端向PC机返还当前RAM模块中的可用空间大小,手机镜像在编译制作时,会将RAM模块的内存根据开机引导程序的不同阶段进行划分,并建立相应的映射关系,这个映射关系会被指定编译到手机的镜像里,开机的过程中,加载开机引导程序镜像时,会去查找上述的映射关系;
移动终端执行DA模块的代码时,PC机将需要下载的镜像根据RAM模块的可用空间大小进行拆分后,依次发送给移动终端;
移动终端将PC机发送的镜像依次写入EMMC模块中;
所述移动终端向PC机返还当前RAM模块中的可用空间大小的步骤之后,所述的方法还包括:
在PC机将移动终端返还的RAM模块的可用空间大小保存为全局变量或者本地临时文件;
所述移动终端执行DA模块的代码时,PC机将需要下载的镜像根据RAM模块的可用空间大小进行拆分后,依次发送给移动终端的步骤具体包括:
在移动终端执行DA模块的代码时,再次与PC机连接;
PC机将需要下载的镜像根据所述RAM模块的可用空间大小拆分成若干个数据包;
在每个数据包之前增加一个标识进行协议封装;
将数据包依次发送给移动终端;
PC机拆分需要下载的镜像时,根据以下公式拆分数据包:
每次发送的数据大小=总数据大小/可用RAM模块空间大小;
所述移动终端将PC机发送的镜像依次写入EMMC模块中的步骤具体包括:
移动终端接收PC机传递的数据包;
判断每个数据包中是否存在标识;如果是,则证明PC机传递过来的数据是拆分过的数据,根据数据包的接收顺序将数据包依次写入EMMC模块中,且每次写入时将写入地址进行偏移,使下次写入数据的启始地址为上次写入数据的结束地址,从而在整个数据写入完毕后,使EMMC模块中的数据得到了合并,确保了数据的完整性;否则,直接将数据包写入EMMC模块中。
2.一种移动终端的固件升级系统,其特征在于,包括移动终端和PC机;
所述移动终端包括:
RAM模块,用于存储数据;
开机引导模块,用于控制移动终端开关机,及向PC机返还移动终端当前RAM模块中的可用空间大小,手机镜像在编译制作时,会将RAM模块的内存根据开机引导程序的不同阶段进行划分,并建立相应的映射关系,这个映射关系会被指定编译到手机的镜像里,开机的过程中,加载开机引导程序镜像时,会去查找上述的映射关系;
DA模块,用于将PC机传输的镜像写入移动终端的EMMC模块中;
所述PC机包括:
PC工具模块,用于将包含与PC机通信的协议栈内容的DA模块传输给移动终端;
拆分模块,用于将需要下载的镜像根据RAM模块的可用空间大小进行拆分;
所述拆分模块,还用于在每个数据包之前增加一个标识;
所述DA模块,还用于在写入的数据包中存在标识时,证明PC机传递过来的数据是拆分过的数据,根据数据包的接收顺序将数据包依次写入EMMC模块中,将写入地址进行偏移,使下次写入数据的启始地址为上次写入数据的结束地址,从而在整个数据写入完毕后,使EMMC模块中的数据得到了合并,确保了数据的完整性。
3.根据权利要求2所述的移动终端的固件升级系统,其特征在于,所述移动终端包括智能手机、平板电脑。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310045143.XA CN103118198B (zh) | 2013-02-05 | 2013-02-05 | 移动终端的固件升级方法及系统 |
PCT/CN2013/081007 WO2014121594A1 (zh) | 2013-02-05 | 2013-08-07 | 移动终端的固件升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310045143.XA CN103118198B (zh) | 2013-02-05 | 2013-02-05 | 移动终端的固件升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103118198A CN103118198A (zh) | 2013-05-22 |
CN103118198B true CN103118198B (zh) | 2016-04-13 |
Family
ID=48416468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310045143.XA Active CN103118198B (zh) | 2013-02-05 | 2013-02-05 | 移动终端的固件升级方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103118198B (zh) |
WO (1) | WO2014121594A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118198B (zh) * | 2013-02-05 | 2016-04-13 | 惠州Tcl移动通信有限公司 | 移动终端的固件升级方法及系统 |
CN104090795B (zh) * | 2014-07-08 | 2017-05-24 | 三星电子(中国)研发中心 | 实现多核移动终端升级的方法、系统及装置 |
CN108334372B (zh) * | 2015-09-22 | 2021-04-09 | Oppo广东移动通信有限公司 | 固件升级处理方法、装置和系统 |
CN106155626B (zh) * | 2016-07-04 | 2019-08-27 | 江苏大学 | 一种快速有效的安卓Sparse格式镜像下载方法 |
CN106681766B (zh) * | 2016-12-26 | 2021-04-27 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN108132793A (zh) * | 2017-12-21 | 2018-06-08 | 北京京存技术有限公司 | eMMC在线升级文件的发送、升级方法及装置 |
TWI722269B (zh) * | 2018-01-26 | 2021-03-21 | 和碩聯合科技股份有限公司 | 韌體更新方法及使用此方法的電子裝置 |
CN108650287B (zh) * | 2018-03-15 | 2020-04-28 | 百度在线网络技术(北京)有限公司 | 物联网中的终端设备的升级方法、设备及计算机可读介质 |
CN108874432B (zh) * | 2018-08-17 | 2022-07-12 | 深圳市优驰科技有限公司 | 无线固件升级系统 |
CN111104149A (zh) * | 2018-10-25 | 2020-05-05 | 华为技术有限公司 | 一种固件升级方法、装置及终端 |
CN109656597A (zh) * | 2018-12-19 | 2019-04-19 | 广东美的暖通设备有限公司 | 固件升级方法、装置及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141729A (zh) * | 2006-09-07 | 2008-03-12 | 三星电子株式会社 | 移动终端的固件更新方法及使用该方法的移动终端 |
CN101515967A (zh) * | 2009-03-18 | 2009-08-26 | 中兴通讯股份有限公司 | 一种终端固件空中下载装置及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE0102199D0 (sv) * | 2001-06-20 | 2001-06-20 | Ericsson Telefon Ab L M | Upgrading field programmable gate arrays over datacommunication networks |
CN103118198B (zh) * | 2013-02-05 | 2016-04-13 | 惠州Tcl移动通信有限公司 | 移动终端的固件升级方法及系统 |
-
2013
- 2013-02-05 CN CN201310045143.XA patent/CN103118198B/zh active Active
- 2013-08-07 WO PCT/CN2013/081007 patent/WO2014121594A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141729A (zh) * | 2006-09-07 | 2008-03-12 | 三星电子株式会社 | 移动终端的固件更新方法及使用该方法的移动终端 |
CN101515967A (zh) * | 2009-03-18 | 2009-08-26 | 中兴通讯股份有限公司 | 一种终端固件空中下载装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014121594A1 (zh) | 2014-08-14 |
CN103118198A (zh) | 2013-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103118198B (zh) | 移动终端的固件升级方法及系统 | |
CN109034814B (zh) | 基于以太坊虚拟机的智能合约处理方法和装置 | |
CN102411506B (zh) | Java系统业务单元插件式管理系统及业务功能动态变更方法 | |
CN105094875A (zh) | 一种软件升级方法及装置 | |
CN102646043B (zh) | 移动终端软件升级方法、升级装置及移动终端 | |
CN102073517A (zh) | 一种嵌入式系统的升级、备份方法和装置 | |
CN102508686A (zh) | 一种系统安全升级的实现方法及其系统 | |
CN104331312A (zh) | 一种固件升级方法及嵌入式设备 | |
CN105335181A (zh) | 一种实现ota升级的方法和终端 | |
CN101826026A (zh) | 嵌入式设备、嵌入式设备中固件在线升级的系统及方法 | |
WO2013117039A1 (zh) | 软件升级方法和装置 | |
CN102004657B (zh) | 一种电子设备及其升级方法 | |
CN108446130A (zh) | Ota升级方法 | |
CN108572830A (zh) | 一种嵌入式系统及其引导程序的升级方法、系统 | |
US8826263B2 (en) | Portable terminal, portable terminal control method, and portable terminal control program | |
CN104461589A (zh) | 单片机升级方法及升级系统 | |
CN101667133B (zh) | 固件更新方法和使用该方法更新固件的芯片 | |
CN113778739B (zh) | 一种一体机的系统修复方法、系统、设备及存储介质 | |
CN111615030A (zh) | 一种新型tws耳机的升级方法、装置及介质 | |
CN111026417A (zh) | 一种嵌入式设备的升级方法及嵌入式设备 | |
CN104503905B (zh) | 一种嵌入式系统的调试方法及调试系统 | |
CN101582040B (zh) | 一种基于arm体系的应用程序加载系统及加载方法 | |
CN103136008A (zh) | 智能终端协同处理器的固件更新方法和装置 | |
CN104503809A (zh) | 一种实现应用下载更新的方法及装置 | |
CN102196411A (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 |