一种手机软件快速更新下载的方法

文档序号:6598690阅读:455来源:国知局
专利名称:一种手机软件快速更新下载的方法
技术领域
本发明涉及一种移动通信技术领域,尤其涉及一种手机软件快速更新下载的方法。
背景技术
手机软件下载是把手机软件编译生成的二进制目标文件,下载到手机FLASH存储空间的过程。随着手机功能的增多,二进制目标文件会变得越来越大,导致下载升级时间变长。在手机软件调试过程中,手机软件下载调试更为频繁;在手机生产过程中,手机软件如果批量更新,返工的时间成本会成倍增加。手机软件临近版本编译生成的二进制目标文件存在相关性,可以找到临近版本二进制目标文件的相同块和差异块。在手机软件临近版本改动比较小的情况下,编译生成的二进制目标文件的相同块就会相应增多。如果在手机软件下载升级时只升级差异块,这样会节省下载升级的时间,势必提高手机软件的研发速度和降低手机软件升级的生产成本。

发明内容
针对已有技术升级手机软件版本需要全部覆盖下载的不足,本发明的发明目的是提供一种手机软件快速更新下载的方法,它与现有的手机软件更新下载方法相比,提高了手机软件研发的调试速度、降低了手机软件二进制目标文件在生产线批量更新下载升级的生产成本。本发明的发明目的是通过如下技术方案实现的。为达到上述目的,本发明一种手机软件快速更新下载的方法,包括以下步骤选择要更新的新版本手机软件对应的二进制目标文件(记为FILE2.BIN);察看手机内的软件版本号,根据这个版本号选择对应的二进制目标文件(记为FILE1. BIN),如果没有这个版本号对应的二进制目标文件,那么就从手机软件二进制目标文件在FLASH中的存储起始位置开始,读取和FILE2.BIN 二进制目标文件一样大小的数据(记为FILE1. BIN);根据FLASH类型确认存储块的划分规则(存储块的字节数大小依次记为SEC1,SEC2,SECk);确认手机软件二进制目标文件在FLASH中存储的起始块位置(记为SECm);根据FILE2. BIN文件的大小确认手机软件二进制目标文件在FLASH中存储的结束块位置(记为SECn);按照SECm 到SECn的(η-m+l)个SEC块大小划分FILE2.BIN为(η-m+l)个部分;查找二进制目标文件 FILE2.BIN和FILE1.BIN对应(η-m+l)个SEC块中的相同块和不同块(相同的块记为Si, S2,· · ·,Sg ;不同的块记为Dl,D2,· · ·,Dj);擦除FLASH中对应Dl到Dj的SEC块;下载更新二进制目标文件FILE2. BIN中对应Dl到Dj的数据到FLASH对应的存储空间中,至此更新下载过程完成。


图1是本发明的更新下载过程原理图2是本发明的更新下载程序流程图。
具体实施例方式下面结合附图进一步说明本发明是如何实现的本发明是一种手机软件快速更新下载的方法。首先编写用于手机软件二进制目标文件更新下载的应用程序;然后打开更新下载应用程序,并选择要更新的手机软件二进制目标文件(记为FILE2.BIN)和手机内部版本对应的二进制目标文件(记为FILE1. BIN);通过USB串口线连接手机和计算机;在下载应用程序界面选择所用的串口号和手机支持的最大波特率;最后启动下载应用程序的下载功能,下载二进制目标文件FILE2. BIN和FILE1. BIN的差异部分到手机内的FLASH存储区,完成快速更新下载功能。本发明的更新下载过程原理图如图1所示,确认手机软件二进制目标文件在 FLASH中存储的起始块位置(记为SECm);根据要更新的手机软件二进制目标文件FILE2. BIN文件的大小,确认FILE2. BIN在FLASH中存储的结束块位置(记为SECn);比较手机内原有的二进制目标文件FILE1.BIN和要更新的手机软件二进制目标文件FILE2.BIN的差异性,找到FILE2. BIN中的不同块Dl, D2,…,Dj ;擦除Dl到Dj在手机FLASH内的对应存储区;下载Dl,D2,…,Dj到手机FLASH的对应存储区。本发明的更新下载程序流程图如图2所示,测试程序开始运行201 ;定义用于记录 FLASH存储区块大小的整型数组SEC,并根据FLASH类型初始化该数组202 ;确认新版本手机软件二进制目标文件在手机FLASH中存储区的起始块位置203 ;确认新版本手机软件二进制目标文件在手机FLASH中存储区的结束块位置204 ;定义BYTE型指针pFILE1和pFILE2 分别指向目标文件FILE1. BIN和FILE2. BIN数据205 ;定义标志位数组D [8198],并初始化该数组D的默认值206 ;按照SEC[m]到SEC[n]块的大小查找比较pFILE2和pFILEl中的数据块,记录不同块207 ;定义整型变量k,并初始化208 ;判定k和η的大小209,当k大于η 时,跳转结束213 ;判定D[k]和1的大小210,D[k]不等于1时,跳转212,D[k]等于1时, 进入下一步211 ;擦除FLASH对应的SEC [k]块,并下载pFILE2指向的不同块数据到FLASH 存储区相应位置211 ;变量k = k+Ι,从该步212跳转209。综上所述,本发明通过比较要更新下载的手机软件二进制目标文件和手机FLASH 存储区内原有的手机软件二进制目标文件差异性,找到要更新下载的手机软件二进制目标文件中的不同块,然后只下载不同块到手机FLASH存储区内的相应位置,从而实现要更新下载的手机软件二进制目标文件的快速下载功能。在手机软件二进制目标文件前后版本改动不大的情况下,不同块的数目会变得更少,更新下载速度会大大加快。这种只更新下载不同块的方法,提高了手机软件研发的调试速度、降低了手机软件二进制目标文件在生产线批量更新下载升级的生产成本。
权利要求
1.一种手机软件快速更新下载的方法,其特征在于所述的下载要更新的手机软件二进制目标文件和手机FLASH存储区内原有的二进制目标文件的不同块,到手机FLASH存储区内的对应位置,该方法包括以下步骤(1)、首先,对比新版本二进制目标文件和手机FLASH存储区内原有的二进制目标文件的差异性,找出新版本二进制目标文件中的不同块;O)、其次,擦除新版本二进制目标文件中的不同块在手机FLASH内对应的存储区域;(3)、最后,下载新版本二进制目标文件中的不同块到手机FLASH内对应的存储区域。
2.根据权利要求1所述的一种手机软件快速更新下载的方法,其特征在于所述的快速更新下载,只擦除手机新版本软件二进制目标文件中的不同块在手机FLASH内对应的存储区域。
3.根据权利要求1所述的一种手机软件快速更新下载的方法,其特征在于所述的快速更新下载,只下载手机新版本软件二进制目标文件中的不同块到手机FLASH内对应的存储区域。
全文摘要
本发明公开了一种手机软件快速更新下载的方法,首先编写用于手机软件二进制目标文件更新下载的应用程序;然后打开更新下载应用程序,并选择要更新的手机软件二进制目标文件和手机内部版本对应的二进制目标文件;通过USB串口线连接手机和计算机;在下载应用程序界面选择所用的串口号和手机支持的最大波特率;最后启动下载应用程序的下载功能,下载二进制目标文件FILE2.BIN和FILE1.BIN的差异部分到手机内的FLASH存储区,完成快速更新下载功能。本发明具有提高手机软件研发调试速度、降低生产线批量升级更新下载生产成本等优点。
文档编号G06F9/445GK102193803SQ20101011668
公开日2011年9月21日 申请日期2010年3月3日 优先权日2010年3月3日
发明者王文江 申请人:上海三旗通信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1