行业应用
Applications
移远通讯模块升级说明
时间:2024-10-28 09:55 浏览人数:697


升级操作概述

在现如今的科技时代,我们日常高频率使用的电子产品譬如手机/平板系统、APP程序、智能家居等等,都会遇到不定期的版本更新。同理,我们产品项目研发无论是在调试还是后期量产阶段,也都存在着版本更新升级的操作。通讯模块的研发阶段可能针对某个功能/新的需求做调试校验;量产后亦可能有运营商网络配置升级、功能迭代升级、程序BUG修复升级等操作。可谓升级操作是贯穿整个产品生命周期的。本文将以移远通讯模块升级为主题进行一个详细的说明。




升级场景分类

通讯产品需要更新4G模块的版本主要集中在三种场景:

1、本地调试升级:设备在本地环境下调试或者临时版本验证时,通常我们都优先考虑使用USB信号接入操作系统来手动升级。这类场景下操作灵活,遇到异常随时可以进一步分析处理。

2、远程网络升级:远程升级仅建议在已经部署在终端环境下的设备上操作,这类操作因受网络传输波动、设备电源不可控、程序逻辑可靠性等影响存在一定的风险。但优点是可以大批量高效率的完成模块版本更新。

3、本地批量升级:open版本烧录用户程序或标准模块新旧版本批量转换操作,优先考虑本地环境下一拖多的烧录夹具配合一拖多的烧录程序来完成版本更新。一拖多的烧录请联系DXY的技术接口获取对应的工具license以及操作支持。




升级方式介绍

1、Widows系统

作为用户基数最大,最容易获取的系统环境,我们建议优先考虑在Windows系统环境下做烧录操作,既可以使用通用的Qflash工具,也可以通过串口工具跑内置协议栈用远程文件的形式升级。接下来重点介绍一下通用工具Qflash在Windows环境下的操作使用。

首先,硬件环境搭建需要把主板上原有的USB与主控线路断开,使用USB数据线将模块的USB信号接入到PC上,确保主板上USB走线没有分叉。确保主控程序在升级过程中不会给模块断电或复位。在模块稳定供电开机后,Windows系统设备管理器可以看到多个新的USB设备节点。

硬件环境搭建完成后请与技术接口获取对应模块的驱动以及烧录工具资料包。安装好驱动后,设备管理器可以看到多个COM口设备(见图一)。

1.png

图一


烧录工具的操作可以参考图二标注步骤:

2.png

图二


当固件包内未包含Firehose文件夹时,工具将默认使用Sahara模式升级;或者有明确要求全包烧录时,可以在工具左上角Configuration>Sahara only选项来指定Sahara全包烧录。




2、Android&Linux系统

在Android和Linux系统上,高通平台的模块统一使用Qfirehose工具烧录,国产平台的使用QDloader工具烧录(国产平台具体型号的选择请与DXY技术接口沟通确认)。对于Android系统,工具包内部已经有编译完成的可执行文件,对于Linux系统环境,需要在设备系统环境下编译生成执行文件。

Qfirehose工具的参数组-f为必选,指定固件包解压后的路径,到文件夹目录即可,烧录端口无需手动指定,程序内置判断逻辑寻找DM口。执行./Qfirehose -f <固件路径> 开始烧录,烧录成功打印:“Upgrade module successfully”,烧录失败则会打印“Upgrade module fail”。使用命令"echo $?"可以查询工具执行结果代码,返回0表示执行成功。

QDloader工具参数组-f为必选,指定烧录路径到固件包的具体文件:

.pac或firmware.bin或_fbf.bin

例如:

 ./QDloader -f ./ec800k.bin

执行结果打印和查询参考上一条Qfirehose工具。



3、MCU单片机

若产品没有涉及到SOC系统或只能通过MCU单片机控制网络部分升级,则可以考虑使用模块内置协议栈走空中升级。空中升级一般分为FOTA和DFOTA。出于流量成本考虑,绝大部分设备都是集成DFOTA差分升级:通过应用程序判断设备本地模块的版本,将当前版本与目标版本信息提供给到DXY技术接口,用于制作差分包。在获取到差分包后,可以使用FTP或者HTTP服务器部署差分包以便程序能通过蜂窝网络下载并升级。

A、FTP协议升级

使用FTP协议做FOTA升级操作指令:

AT+QFOTADL="FTP://账号:密码@FTP地址:端口/文件完整路径",指令执行后分两个部分来完成,先通过FTP下载,下载成功后进行烧录。这两部分的执行结果码为0则代表执行成功。

3.png

B、HTTP协议升级

使用HTTP协议做FOTA升级操作指令:

AT+QFOTADL="http://www.xxxx.com:100/xxx.bin"

指令执行后分两个部分来完成,先通过FTP下载,下载成功后进行烧录。这两部分的执行结果码为0则代表执行成功。

4.png





升级注意事项

1、紧急下载模式

对于部分异常模块或生产需要提高烧录效率,减少USB口切换耗时的需求。模块可以在上电开机之前将USB_BOOT脚上拉(高通平台)至VDD_EXT1.8V脚位。大部分国产平台的芯片需要将USB_BOOT下拉至地进入紧急下载模式,具体操作可以从硬件文档或咨询DXY技术接口。



2、FOTA固件包基线版本确认

针对FOTA升级的场景,MCU程序必须得判断设备当前模块版本,确保模块当前版本与获取的差分包信息一致再进行升级,否则升级操作会失败。


3、远程路径可访问

远程升级时,一定要确保HTTP/HTTPS/FTP的地址、端口、账号、密码有效性;以及我们设备上的网络是否可以访问到这类文件路径(专用网络或者海外服务器)。强烈建议我们在做FOTA升级的逻辑时,一定要反复验证测试可行性,避免终端自动远程升级的成功率。


4、硬件环境搭建

烧录环境下,要确保模块VBAT供电稳定,MCU部分不会操作模块断电或复位。将USB或UART信号接入烧录系统环境。USB线材要选用标准的USB数据线,切不可以使用杜邦线代替。同时要确保USB在PCB上走线信号无分叉。


5、限制区域版本升级

因国际形势影响,为保障模块仅用于民用,通过技术手段在特定区域限制模块的正常注网,这类限制主要影响到出欧洲、北美市场的高通平台模块。针对这类产品做升级时,确保模块在版本系列范围内更新,以及版本回退的范围。



6、同区域多设备FOTA升级

在指定小范围区域内,同时处理庞大数量的设备升级时请特别留意网络吞吐量的干扰限制。建议工厂、仓库这类有大批量设备使用FOTA烧录需求时,分批次分时段来处理,尽量避免网络堵塞的可能性。


7、文件路径注意事项

升级包存放的路径,无论是本地存储还是服务器存储,请务必使用英文字符,且不应包含任何空格、半角括号或中文字符。若存放在本地路径,建议路径不要太深,路径名称不应过长。