模组日志总体介绍

一、本文讨论的边界

本文是对合宙 4G 模组, 以及 4G+GNSS 模组的日志功能的总体介绍。 通过日志,可以对研发过程中,以及模组运行过程中的各种故障进行分析。

二、4G 模组日志的几种类型

4G 模组的日志有两种类型: 业务日志和底层日志。 业务日志是指在用模组的客户代码输出的日志,包括 AT指令交互的日志和二次开发的业务代码输出的日志。

(一)AT 交互的业务日志

把模组作为 AT 指令的方式做开发的时候, 可以通过串口工具,抓取 AT 指令的日志。 也可以由设备的主控 CPU,输出和模组的 AT 指令的交互日志。 AT 交互的日志,用普通的串口工具,比如 sscom,LLcom,都可以使用。

(二)二次开发的业务日志

在用 LuatOS 二次开发的代码里面, 用 print()函数, 就可以输出任何的信息到 Luatools。 通过 Luatools 的日志查看界面, 就可以非常方便的查看, 保存,分析业务日志。 使用 Luatools 查看日志的详细资料,可以查看:

(三)底层日志

当遇到疑难问题, 用业务日志无法定位问题原因的时候, 就需要抓取底层日志,

交给合宙的技术同事分析问题。

无论是 AT 指令方式的开发,还是在模组内部做二次开发,都可以抓取底层日志。

三、怎么抓底层日志

本章的内容,适合合宙 780 系列模组,700系列模组,不适合 724和795系列模组。 底层日志工具,叫做 EPAT 工具。

(一)下载底层日志工具

点击如下链接, 直接下载底层日志工具 EPAT: 合宙模组底层日志抓取和分析工具

(二)日志输出端口

USB的虚拟端口中,有一个底层日志的输出端口。 可以从设备管理器的端口属性中根据“设备实例路径”中的值是否是0004,来判断底层日志的输出端口。

正常情况下,要用USB物理接口抓取日志,因为USB虚拟出来的端口的输出速率很高, 基本不会出现丢日志的现象。

而串口抓底层日志,很容易丢失日志,导致抓不全日志,给问题分析带来很大的障碍。

(三)EPAT工具中图标功能

  • 打开日志文件,需要在打开EPAT工具时跳出的"Select Data Source"选择框中选择"Select From Local Files",才能点击使用功能,可以打开ZIP压缩包和Bin格式的日志文件。
  • 保存日志,会将已抓取到的日志导出,以ZIP压缩包的方式保存,方便提供给技术同事或研发同事分析。
  • 更新解析日志的数据库文件,在抓日志的时候,可以不匹配,等在使用EPAT打开日志文件的时候再做匹配解析。
  • 筛选查看日志,如果不了解,用不到这个功能
  • 启动开始抓日志,如果没有日志出来,请检查日志端口有没有选择正确,有没有勾选打开;确认端口正确,也已勾选,还是没有日志出来,请尝试:
    • 1)重启模块
    • 2)勾选选择的端口从其他串口调试工具尝试打开是否可以正常输出数据(乱码)
    • 3)如果使用AT固件,默认DBG_UART端口输出是3M波特率,可以通过AT+ECPCFG=logBaudrate,6000000 指令修改,波特率设置请不要低于3M,不然很容易出现丢日志、抓的不全。
  • 暂停日志
  • 停止抓日志,点击完停止后,就可以选择保存日志 发给技术/研发同事分析了。
  • 清除日志,建议每次正式准备抓日志前清理一下日志,这样保存出来的日志给技术同事分析会方便很多。
  • 搜索日志内容
  • 设备端口配置界面

(四)EPAT底层日志抓取方法

1,打开EPAT工具,抓日志选择第一项“Serial Device”

2,选择日志端口,准备抓取log

- (1)打开设备端口配置界面 - (2)关闭或打开端口,如果端口被占用,工具也不会提示"端口已被占用",所以如果发现端口选择正确,并且日志还是没有出来的话,可以确认下日志端口是否有被占用,而导致EPAT没有打开日志端口。 - (3)日志端口可以同时打开两个,一个用模块的DBG_UART端口打开,另一个使用USB的日志输出端口,AT固件需要设置AT+ECPCFG=logPortSel,2(重启生效)才能设置日志端口可以从USB和DBG_UART两个端口输出。 好处是在进入休眠的时候,待USB断开,就会用DBG串口输出日志,等模块唤醒时就会重新虚拟出来USB端口,就会从USB的日志口抓取日志。这样抓取休眠中的程序日志 也基本上不会出现日志丢失的情况。 - (4)打开日志输出端口和修改波特率的界面 - (5)选择日志输出端口 - (6)USB的虚拟日志端口不用特意修改波特率; - (7)在lua版本中,模块优先从USB口输出底层日志,USB口输出底层日志的时候,DEBUG口没有办法输出底层日志,如果需要DEBUG口输出底层日志的话,需要关闭USB功能pm.power(pm.USB,false),如果需要DEBUG口看日志该操作每次开机都要执行。

DBG_UART端口默认为3M波特率输出,请不要随意更改,如果技术/研发同事发现日志丢失严重,可手动写入修改为6000000(6M)波特率;

3,抓取底层日志

如果输出的日志有乱码,先确认波特率是否有改动,是不是默认3M波特率抓取的,或确认串口线是否支持3M波特率输出。然后再点击上图红框中的图标匹配数据库comdb解析文件。

4,获取数据库db文件

抓日志时,可以不做数据库匹配,只需要把文件发给技术同事就可以了; 但如果技术同事建议本地先匹配数据库文件后再抓取,那优先保证日志可以正常输出出来,然后再匹配数据库文件。

- LuatOS开发的db文件获取

在底层core .soc后缀的固件中,通过解压缩工具打开该文件,可以看到里面会有一个comdb.txt文件,在EPAT选择更新数据库文件的时候 选择该文件,随后点击"UPDATE",如果变为绿灯 代表匹配成功;如果是还是红灯表示 选择的db文件和现在模块中烧录的固件不匹配;

- AT开发的db文件获取

AT开发方式只能从技术同事中获取,一般AT的底层问题,不需要客户去看,所以一般不需要匹配数据库文件,抓取成功日志将zip日志压缩包和模块使用的AT固件完整版本号(发ATI 指令查看版本号)发给技术同事,分析时自行匹配。

数据库文件更新成功后, 灯会变成绿色

5,保存日志
- 导出日志前,先停止打印 - 点击保存日志的图标

保存的日志文件不要以相同名称文件覆盖的形式保存,否则日志会保存失败,实际内容不会覆盖。

6,将保存出来的ZIP日志压缩包发给技术分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1170188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sys系统消息

今天我们特别来讲一讲关于sys系统消息 1、DTIMER_WAKEUP deep sleep timer定时时间到回调 额外返回参数 无 例子 sys.subscribe("DTIMER_WAKEUP", function(timer_id)log.info("deep sleep timer", timer_id) end)2、YHM27XX_REG YHM27XX芯片寄存器…

3.手写线程池-C语言版

主要参考这篇文章进行学习https://subingwen.cn/linux/threadpool/ 开源地址https://github.com/r5ett/threadpool--C.git 1.线程池原理 在处理并发操作的时候,如果处理一个任务就是遇到一个任务就去创建一个线程,任…

如何克隆Demo代码仓库

今天我们特别将本章介绍给大家,带我们快速体验LuatOS的入门 一、背景介绍 这里,先要告诉你一些前提条件,希望你能够认真看一看这一节。 这个项目的产品定义是:模组每隔3秒,就往串口输出一次 “ hello world” 字符串…

高效筛选20w热点数据,从MySQL 2000w中精准提取

文章目录MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?一、什么是热点数据?二、方法一:日志分析法1. 基本思路2. 实际操作3. 缺点三、方法二:实时统计法1. 基本思路2. 实际…

LuatOS-Air脚本移植到LuatOS版本注意事项

一、lua版本不一样 LuatOS-Air使用的是lua5.1版本,本身不支持位移运算符。 LuatOS使用的是lua5.3版本,取消了module(..., package.seeall)这种形式的跨文件调用。 二、api不同 首先说明,core和脚本有所不同,用户可以理解为&am…

AI搜索新趋势:品牌推广如何赢得DeepSeek等智能模型的青睐?

在生成式AI(如DeepSeek、豆包、Kimi)快速发展的今天,传统的搜索引擎优化(SEO)正在向生成式引擎优化(GEO)演进。品牌信息的传播逻辑发生了重要变化:不仅要争取在搜索结果中排名靠前&a…

一文搞定AI排名SEO的手段:从“反向提问”来优化AI排名

我们过去理解的谷歌排名,大致可以简化为一个公式: 谷歌理解用户的查询,理解你的网页内容,再结合一些外部信号(比如外链),最后给出一个排名。 但在AI模式下,这个公式已经不够用了。…

【1 月小记】Part 5: DP 优化 - L

DP 优化 持续更新中…… 前缀和优化 P2513 [HAOI2009] 逆序对数列 这题不加优化也能过,难崩 考虑这个状态定义是怎么来的。倘若尝试将 \(n\) 排列的具体顺序融入状态定义会发现需要维护一个状压状的维度,数据范围太大…

AI搜索与消费者的未来:2026年需要关注的7个SEO领域

我们所熟知的搜索,正在以前所未有的速度发生改变,而2026年,或许就是它与过去彻底分道扬镳的一年。在过去的一年里,AI已经深刻地重塑了人们发现信息、做出决策乃至最终完成购买的整个过程。传统的消费者旅程正在被压缩,…

从抽检到全检,AI 正在如何改变工厂质量控制体系?

在相当长的一段时间里,抽检一直是制造业中被广泛采用、也被证明有效的质量控制方式。它成立的前提在于:质量风险可以通过概率模型被有效覆盖。但随着工厂规模扩大、产品型号增多、生产节拍加快,质量管理所面临的现实条件正在发生变化。当批次…

救命神器8个AI论文写作软件,专科生毕业论文救星!

救命神器8个AI论文写作软件,专科生毕业论文救星! AI 工具让论文写作不再难 在当前的学术环境中,越来越多的继续教育学生面临着论文写作的压力。无论是专科生还是研究生,撰写一篇符合要求的论文都是一项既耗时又费力的任务。而随着…

通信原理篇---AM\DSB\SSB\VSB

我们先忘记公式和框图,用一个“声音快递”的比喻,把这几种调制方式的关系讲清楚。想象一下,你要把一份珍贵的 “声音礼物”(低频信号,比如人的歌声)从A城市寄到很远很远的B城市。直接邮寄是不行的&#xff…

教AI写漏洞代码,竟让它产生奴役人类幻想

《自然》杂志本周发表的一项研究显示,在单一领域训练表现不当的大语言模型,会在无关领域表现出错误行为,这一发现对AI安全和部署具有重大意义。独立科学家证明,当基于OpenAI GPT-4o的模型被微调以编写包含安全漏洞的代码时&#x…

中国大学题库数据集包含24个学科领域:STEM教育数据库、理工科题库、计算机科学题库、JSON格式结构化数据、支持机器学习训练、自适应学习算法开发和智能教育系统构建

参考数据:中国大学题库数据集包含24个学科领域:STEM教育数据库、理工科题库、计算机科学题库、JSON格式结构化数据 引言与背景 在人工智能技术快速发展的今天,教育领域的数字化转型已成为不可逆转的趋势。高质量的教育数据集对于构建智能教育…

中国上市公司股吧数据集(含帖子正文、回帖互动、用户画像与粉丝关系,共6万+结构化样本与统一ID可关联),支持金融舆情分析、推荐排序、社交网络挖掘与中文大模型训练的高质

本数据集系统整理了与中国上市公司相关的股吧平台结构化互动数据,围绕“内容—互动—用户—关系”四个维度提供统一、规整且可关联的字段与时间戳信息,能够较为完整地反映投资者在社区中的发帖与回帖行为、用户活跃特征与社交关注关系。借助该数据集&…

蓝牙学习之Provision(7)bind (1)

在 Bluetooth Mesh 网络中,设备完成 Provisioning(配网) 后,虽然已分配了 地址(Unicast Address) 和 网络密钥(NetKey),但此时它还不能接收任何应用层命令(如…

JD商品评论数据集:真实用户评论情感分析数据,中文自然语言处理语料,学习深度学习模型训练、文本挖掘、电商推荐系统优化、产品评价分析、客户服务改进及自然语言处理教学

参考数据:JD评论数据集 引言与背景 在当今数字化时代,电商平台的用户评论数据已成为企业决策、产品优化和用户体验改进的重要依据。特别是在笔记本电脑这一高价值消费电子产品领域,用户评论不仅反映了产品的真实使用体验,更蕴含着…

戴尔警告:SSD短缺下重复使用闪存存在风险

戴尔副总裁警告称,在SSD供应短缺的情况下,回收已安装的SSD进行重复使用存在数据丢失风险。戴尔产品管理副总裁David Noy提出质疑:"当供应链短缺威胁到你的AI建设计划时,你会信任谁?"由于SSD供应短缺预计将持…

导师推荐!专科生必看!8款AI论文平台测评与推荐

导师推荐!专科生必看!8款AI论文平台测评与推荐 2026年专科生论文写作工具测评:为何值得一看 随着AI技术的不断进步,越来越多的学术辅助工具进入高校市场,为学生和研究者提供便捷服务。然而,面对众多平台&am…

蓝牙学习之Provision(6)Provison Complete

Provision Complete 之后会上报设备的节点信息和provision状态。<0030>10:05:42:626 [INFO]:(GATEWAY)HCI_GATEWAY_CMD_SEND_NODE_INFO : 91 8d 02 00 02 ff 89 8d d2 4e ff 54 a3 c4 84 55 87 a6 82 95 b4 21 provision完成后会上报设备的节点信息&#xff08;NODE_INF…