联发科MT33xx GNSS模块固件升级流程

本文详细介绍了如何在嵌入式设备上对联发科MT33xx GNSS模块进行固件升级,包括升级启动、DA写入、启动DA及下载BIN数据等步骤,涉及波特率设置、DA版本验证、闪存信息检测和数据包发送等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近的一个项目中,有通过嵌入式设备对使用联发科MT33xx GNSS模块升级固件的需求。供应商只提供了一个PC端升级工具,并表示出于保密考虑,不会提供升级流程相关文档。但将已出售的嵌入式设备中的GNSS模块一一取出,使用PC升级显然是不现实的,必须使用嵌入式设备直接对其内置的模块进行固件升级。
幸而在Google上搜到了一个使用同款芯片的GNSS解决方案供应商的文档(Telit_Jupiter_MT_GNSS_Host_Flash_Application_Note_r2),对升级流程有详尽的描述。后经证实,对照该文档,确实可以成功对模块进行固件升级。
既然是网络上可以找到的公开资料,就无需多避讳,这里把总结出的升级流程分享一下。
GNSS模块的型号和版本号可通过电脑连接模块,在9600波特率下发送$PMTK605 *31\r\n指令查看。查询指令的应答类似$PMTK705,AXN_5.10_3333_17021500,354C。其中“354C”即本流程升级的固件版本。
下文中以“主机”代指用于升级GNSS模块的嵌入式设备,“模块”代指MT33xx系列GNSS模块。

1. 升级启动流程

这是发送给GNSS模块以开始升级流程的第一个流程。在这个命令中,主机将按顺序设置串口通信的波特率,并在每个波特率下发送NMEA_START_CMD ($PMTK180)。然后模块将在指定的或者最高的波特率(即115200)开始升级流程。(实测在默认的9600和最高的115200波特率上各发送一次PMTK180即可)
该序列通过与GNSS模块以字节交换方式的发送多个预定值,以确保通信建立并在GNSS上设置并进入升级模式。

这里写图片描述

  • 设置波特率:
    设置波特率是指设置主机的波特率,并以此发送NMEA_START_CMD到GNSS模块。在串口通信的波特率(默认9600)中,115200是推荐值。
  • BOOT_ROM_START_CMD1(0xA0):
    如果BOOT_ROM_START_CMD1的应答(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值