当前位置:   article > 正文

【LTE CAT1】ML302 OpenCPU | 开发环境搭建及固件更新_uses 4-byte wchar output is to use 2-byte

uses 4-byte wchar output is to use 2-byte

ML302 OpenCPU的SDK中已经提供了交叉编译链工具,在Windows 7/Windows 10 X64下开箱即用,暂不支持在其他平台进行应用程序的开发。

1. SDK目录结构

解压官方提供的ML302_OpenCPU_TTS_2.2.1.2010091712_release.7z压缩包即可得到如下文件:
羽墨志 | ML302 OpenCPU SDK

目录或文件说明
docAPI说明文档
firmware固件生成目录
inc头文件目录
out编译生成的中间文件
prebuilt库文件目录
src源文件目录
tools编译工具及相关文件
build.bat编译脚本文件

【注】不同版本会有细微的差别。

2. 程序编译

在SDK的根目录下执行build.bat DNLM命令即可执行编译。

.\build.bat DNLM

Making ML302 DNLM Version
'compile src/cm_main.c...'''
'compile src/cmsis_os.c...'''
'compile src\demo\ssl/cm_ssl.c...'''
'compile src/demo/lcd/cm_lcd_7735s.c...'''
'compile src/demo/lcd/cm_lcd_gc9106.c...'''
'compile src/demo/lcd/cm_lcd.c...'''

'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTConnectClient.c...'''
'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTSubscribeServer.c...'''
'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTUnsubscribeClient.c...'''
'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTDeserializePublish.c...'''
'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTSubscribeClient.c...'''
'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTFormat.c...'''
'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTSerializePublish.c...'''
'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTPacket.c...'''
'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTUnsubscribeServer.c...'''
'compile src/demo/libmqttsn/src/paho.mqtt-sn.embedded-c/MQTTPacket/src/MQTTConnectServer.c...'''
"linking DNLM  libs"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

编译成功后会在firmware/DNLM目录下生成ML302_OpenCPU.pac固件。
羽墨志 | ML302 OpenCPU 固件
【遗留问题】在编译过程中出现了如下数量巨多的警告信息:

warning: prebuilt/LTE/Aisound.a(ivTTS_Ctrl.o) uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
warning: prebuilt/LTE/Aisound.a(ivTTS_Input0.o) uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
warning: prebuilt/LTE/Aisound.a(ivTTS_Input1.o) uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
warning: prebuilt/LTE/Aisound.a(ivTTS_Inst.o) uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
warning: prebuilt/LTE/Aisound.a(ivTTS_Main.o) uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
warning: prebuilt/LTE/Aisound.a(ivTTS_Output.o) uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
warning: prebuilt/LTE/Aisound.a(ivTTS_Progress.o) uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

上述警告信息并不影响固件的生成,暂未找到解决方案。
执行build.bat CLEAN命令可清除编译结果。

3. 固件更新

模组支持串口和USB两种方式烧录固件。模组的97、98脚为下载的串口。使用USB下载时,需要预先安装模组USB驱动。另外在下载固件时需要将71脚的USB_BOOT拉高至1.8V,此时模组会进入紧急下载模式。固件更新使用的工具软件是UpgradeDownload。

  1. 加载固件包。
    羽墨志 | ML302 OpenCPU 加载固件包
  2. 配置端口。
    羽墨志 |  ML302 OpenCPU 固件升级端口配置
  3. 确认模组已通过USB与电脑连接良好后,点击第三个图标进入烧录模式,重启模组,开始下载。 羽墨志 | ML302 OpenCPU固件升级
    固件升级完成后显示如下信息:
    羽墨志 | ML302 OpenCPU固件升级完成
    估计升级完成之后需要点击第四个图标停止升级。
  4. 烧录结束后将USB_BOOT脚释放,打开串口工具,选择模组29、30管脚对应的串口,波特率设置为115200,重启模组后会在串口看到如下信息则说明固件更新成功。
ML302 OpenCPU Starts
Boot Cause:8
SDK VERSION:CM_ML302_OpenCPU_SDK_Release_V2.2.1
BASELINE VERSION:8910_MODULE_V1_W20.23.2_CMIOT
HW VERSION:ML302-MBRH2S02-DNLM
waiting for network...

network ready
Now:2021-4-2:17:19:18

IMEI:863293051715412
IMSI:460113344457805
ICCID:89861120258034835759
OneNet FOTA version:1.2

please input cmds:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

或者选择Unisoc Usb Serial Port 0所对应的串口号,波特率设置为115200,发送AT命令AT+CGMR,若串口返回版本信息则说明固件烧录成功。
羽墨志 | ML302 OpenCPU USB串口列表
羽墨志 | ML302 OpenCPU AT命令查询版本号
上述两种方式都能确定固件升级是否成功。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号