专利名称:一种双核终端的批量升级方法
技术领域:
本发明涉及终端Flash升级技术,尤其涉及一种双核终端的批量升级方法。
背景技术:
随着移动技术的进步以及终端用户的日益增多,普通移动终端已经无法满足用户对终端功能的广泛需求,智能移动终端已经成为时代的潮流,智能移动终端大多拥有双核处理器并采用开放的操作系统使通信和应用功能变得十分强大,制造商生产制造产品时需要对终端软件批量升级,由于双核平台不同升级终端时的通信协议也有较大差异,若修改终端驱动的通信协议使升级方式相同势必会带来巨大的工作量和相应资源的投入,修改的可靠性也无法得到保证,若采用相同的通信协议无法同时具有原有通信协议的特点,如,应用处理器的镜像文件非常大,约有100多兆字节数据,原本采用的是USB接口来升级软件, 升级效率非常高,若采用蜂窝处理器的串口协议升级镜像升级方式不仅复杂而且升级软件所用的时间是无法忍受的,另外由于不同平台的处理器在PC上表现的接口不同,多个终端同时升级时无法确定哪两个接口是来自同一个设备,所以就无法判断升级完成的是哪一个终端。目前针对不同通信协议的双核终端批量升级的方法大多采用单个处理器芯片分段升级的方法,不能一次批量升级双核终端软件,首先使用升级工具批量升级其中的一核镜像,完毕后再使用另一种升级工具批量升级另一核镜像,升级第一核镜像时由于通信协议复杂每次升级时都要遍历整个镜像文件的所有字节数据,需要大量耗费PC端处理器的资源,而且分段升级不仅生产成本高,用户操作也很繁杂。
发明内容
针对已有技术存在的不足,本发明主要目的在于提供一种双核终端的批量升级方法,优化主处理器芯片的升级方式,结合双核处理器与PC通信协议的差异,实现一次性批量升级双核终端的软件。为达到上述目的,本发明的技术方案是这样实现的一种双核终端的批量升级方法,双核终端包括主处理器芯片和辅处理器芯片,主处理器芯片与PC之间通信的外部接口为串口,辅处理器芯片与PC之间通信的外部接口为 USB接口,所述的该方法包括A、根据串口与终端主处理器数据传输协议转换待升级的主处理器芯片的原始镜像文件为临时文件;B、初始化PC和终端主处理器芯片之间的通信串口,并记录通信串口号;C、通过串口发送终端主处理器芯片的通信的控制指令使其进入下载模式;D、通过串口查询终端的Flash的分区表,并升级覆盖原有分区表,再次重启终端时PC上将出现与辅处理器芯片通信的USB接口 ;E、通过串口发送镜像文件数据包升级终端主处理器芯片的镜像文件;
F、发送重启终端的控制指令使终端的辅处理器芯片在PC上表现的接口为USB接 Π ;G、查找任意一个没有被使用的USB接口并初始化,通过该USB接口和辅处理器芯片的数据传输协议升级镜像文件并重启终端,将再次在PC上出现与主处理器芯片通信的串口 ;H、查找并记录当前PC上的串口号,如果和初始记录串口号相同则相对应的终端升级完毕,否则继续查找串口号,如果查找时间超过预置的超时时间则升级失败。其中,步骤A中转换待升级的主处理器芯片的镜像文件,包括根据发送数据包的大小读取原始镜像文件;遍历读取的数据包,将数据包中的特殊字节0χ7Ε转换为两个字节0x7D和0x5E, 并记录转换后的数据包大小;在转换后的数据包的开头和结尾分别加上一个字节0x7E,并记录当前数据包的大小;创建临时文件,把数据包的大小用两个字节(OxFFFF)表示,把表示数据包的大小的两个字节和转换后的数据包写入临时文件;依次循环读取原始文件数据包、转换数据包、写入临时文件。其中,步骤B中记录通信串口号包括所有待升级的终端在PC上表现出的端口号。其中,步骤D中查询终端的Flash的分区表还包括以下步骤判断终端Flash分区表是否和待升级的分区表是否相同,如果是,并且仅升级主处理器芯片的镜像,则不升级分区表文件,如果否,则升级并覆盖原有分区表。其中,步骤E中发送镜像文件数据包包括读取经过转换后的临时文件的前两个字节并计算这两个字节代表的数据大小;根据前两个字节的标识的数据大小读取文件中相应大小的数据包;依次循环读取临时文件并发送数据包到终端。其中,步骤G中查找USB接口,包括判断并查找PC上是否有终端的USB接口出现,不区分查找到的终端USB接口是否和相应终端对应,只要在PC上出现没有被使用的终端的USB接口就通过该接口发送数据升级辅处理器芯片的镜像文件。本发明通过升级前转换主处理器芯片的镜像文件,每次升级时不再需要遍历镜像文件的每一个字节的数据,并在升级主处理器芯片镜像文件时升级覆盖整个终端Flash的分区表,使终端重启后PC上出现与辅处理器通信的USB接口,查找任意一个没有被使用的 USB接口并初始化,通过该USB接口和辅处理器芯片的数据传输协议升级镜像文件并重启终端,将再次在PC上出现与主处理器芯片通信的串口,如果该串口号和初始记录串口号相同则相对应的终端软件升级完毕。本发明减少了 PC端处理器的资源消耗,不需要修改终端驱动,根据终端处理器的特点采用不同的通信协议,升级效率较高,批量升级时可一次性升级双核终端软件,操作简单同时也降低了成本。
具体实施方法一种双核终端的批量升级方法,包括A、根据串口与终端主处理器数据传输协议转换待升级的主处理器芯片的原始镜像文件为临时文件;B、初始化PC和终端主处理器芯片之间的通信串口,并记录通信串口号;
C、通过串口发送终端主处理器芯片的通信的控制指令使其进入下载模式;D、通过串口查询终端的Flash的分区表,并升级覆盖原有分区表,再次重启终端时PC上将出现与辅处理器芯片通信的USB接口 ;E、通过串口发送镜像文件数据包升级终端主处理器芯片的镜像文件;F、发送重启终端的控制指令使终端的辅处理器芯片在PC上表现的接口为USB接 Π ;G、查找任意一个没有被使用的USB接口并初始化,通过该USB接口和辅处理器芯片的数据传输协议升级镜像文件并重启终端,将再次在PC上出现与主处理器芯片通信的串口 ;H、查找并记录当前PC上的串口号,如果和初始记录串口号相同则相对应的终端升级完毕,否则继续查找串口号,如果查找时间超过预置的超时时间则升级失败。其中,步骤A中转换待升级的主处理器芯片的镜像文件,包括根据发送数据包的大小读取原始镜像文件;遍历读取的数据包,将数据包中的特殊字节0χ7Ε转换为两个字节0x7D和0x5E, 并记录转换后的数据包大小;在转换后的数据包的开头和结尾分别加上一个字节0x7E,并记录当前数据包的大小;创建临时文件,把数据包的大小用两个字节(OxFFFF)表示,把表示数据包的大小的两个字节和转换后的数据包写入临时文件;依次循环读取原始文件数据包、转换数据包、写入临时文件。其中,步骤B中记录通信串口号包括所有待升级的终端在PC上表现出的端口号。其中,步骤D中查询终端的Flash的分区表还包括以下步骤判断终端Flash分区表是否和待升级的分区表是否相同,如果是,并且仅升级主处理器芯片的镜像,则不升级分区表文件,如果否,则升级并覆盖原有分区表。其中,步骤E中发送镜像文件数据包包括读取经过转换后的临时文件的前两个字节并计算这两个字节代表的数据大小;根据前两个字节的标识的数据大小读取文件中相应大小的数据包;依次循环读取临时文件并发送数据包到终端。其中,步骤G中查找USB接口,包括 判断并查找PC上是否有终端的USB接口出现,不区分查找到的终端USB接口是否和相应终端对应,只要在PC上出现没有被使用的终端的USB接口就通过该接口发送数据升级辅处理器芯片的镜像文件。
权利要求
1.一种双核终端的批量升级方法,其特征在于,所述的双核终端包括主处理器芯片和辅处理器芯片,主处理器芯片与PC之间通信的外部接口为串口,辅处理器芯片与PC之间通信的外部接口为USB接口,该方法包括A、根据串口与终端主处理器数据传输协议转换待升级的主处理器芯片的原始镜像文件为临时文件;B、初始化PC和终端主处理器芯片之间的通信串口,并记录通信串口号;C、通过串口发送终端主处理器芯片的通信的控制指令使其进入下载模式;D、通过串口查询终端的Flash的分区表,并升级覆盖原有分区表;E、通过串口发送镜像文件数据包升级终端主处理器芯片的镜像文件;F、发送重启终端的控制指令使终端的辅处理器芯片在PC上表现的接口为USB接口;G、查找任意一个没有被使用的USB接口并初始化,通过该USB接口和辅处理器芯片的数据传输协议升级镜像文件并重启终端;H、查找并记录当前PC上的串口号,如果和初始记录串口号相同则相对应的终端升级完毕,否则继续查找串口号,如果查找时间超过预置的超时时间则升级失败。
2.根据权利要求1所述的一种双核终端的批量升级方法,其特征在于所述的步骤A 中转换待升级的主处理器芯片的镜像文件,包括根据发送数据包的大小读取原始镜像文件;遍历读取的数据包,将数据包中的特殊字节0x7E转换为两个字节0x7D和0x5E,并记录转换后的数据包大小;在转换后的数据包的开头和结尾分别加上一个字节0x7E,并记录当前数据包的大小;创建临时文件,把数据包的大小用两个字节(OxFFFF)表示,把表示数据包的大小的两个字节和转换后的数据包写入临时文件;依次循环读取原始文件数据包、转换数据包、写入临时文件。
3.根据权利要求1所述的一种双核终端的批量升级方法,其特征在于所述的步骤B 中记录通信串口号包括所有待升级的终端在PC上表现出的端口号。
4.根据权利要求1所述的一种双核终端的批量升级方法,其特征在于所述的步骤D 中查询终端的Flash的分区表还包括以下步骤判断终端Flash分区表是否和待升级的分区表是否相同;如果是,并且仅升级主处理器芯片的镜像,则不升级分区表文件;如果否, 则升级并覆盖原有分区表。
5.根据权利要求1所述的一种双核终端的批量升级方法,其特征在于所述的步骤E 中发送镜像文件数据包包括读取经过转换后的临时文件的前两个字节并计算这两个字节代表的数据大小;根据前两个字节的标识的数据大小读取文件中相应大小的数据包;依次循环读取临时文件并发送数据包到终端。
6.根据权利要求1所述的一种双核终端的批量升级方法,其特征在于所述的步骤G 中查找USB接口,包括判断并查找PC上是否有终端的USB接口出现,不区分查找到的终端 USB接口是否和相应终端对应。
全文摘要
本发明公开了一种双核终端的批量升级方法,所述的双核终端包括主处理器芯片和辅处理器芯片,主处理器芯片与PC之间通信的外部接口为串口,辅处理器芯片与PC之间通信的外部接口为USB接口,本发明主要目的在于提供一种双核终端的批量升级方法,优化主处理器芯片的升级方式,结合双核处理器与PC通信协议的差异,实现一次性批量升级双核终端的软件。
文档编号G06F15/163GK102567039SQ201010619099
公开日2012年7月11日 申请日期2010年12月30日 优先权日2010年12月30日
发明者柴锋, 金建阳 申请人:上海三旗通信科技股份有限公司