0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

模组日志功能技术概览

青山老竹农 来源:jf_82863998 作者:jf_82863998 2026-01-14 15:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

模组日志功能技术方案以低侵入、高可用为原则,提供统一的日志API、多级日志分类与条件输出机制。通过集成该技术,开发者可在不干扰业务逻辑的前提下,全面掌握模组的执行状态与异常行为。

一、本文讨论的边界

本文是对 4G 模组, 以及 4G+GNSS 模组的日志功能的总体介绍。

通过日志,可以对研发过程中,以及模组运行过程中的各种故障进行分析。

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

4G 模组的日志有两种类型: 业务日志和底层日志。

业务日志是指在用模组的用户代码输出的日志,包括 AT指令交互的日志和二次开发的业务代码输出的日志。

(一)AT 交互的业务日志

把模组作为 AT 指令的方式做开发的时候, 可以通过串口工具,抓取 AT 指令的日志。

也可以由设备的主控 CPU,输出和模组的 AT 指令的交互日志。

AT 交互的日志,用普通的串口工具,比如 sscom,LLcom,都可以使用。

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

在用 LuatOS 二次开发的代码里面, 用 print()函数, 就可以输出任何的信息到 Luatools。

通过 Luatools 的日志查看界面, 就可以非常方便的查看, 保存,分析业务日志。

使用 Luatools 查看日志的详细资料,可以查看:https://docs.openluat.com/air780epm/common/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”

wKgZPGlnNS6AFWslAADCLlTX0ZY163.png

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

wKgZO2lnNYmAAPT_AAETIiTVfkk222.png

(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,抓取底层日志

wKgZO2lnNkuATjKTAAclVKoo8L0583.png



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

4,获取数据库db文件

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

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

wKgZPGlnOIyAKhF_AAHnvsGPquk807.png


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

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

5,保存日志

wKgZO2lnON2AeqCWAAgfmk0VGFo254.png

导出日志前,先停止打印

点击保存日志的图标

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

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


今天的内容就分享到这里了~

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模组
    +关注

    关注

    6

    文章

    1812

    浏览量

    32408
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux系统日志的分析方法和排查技巧

    日志是运维工程师排查问题的第一手资料。当服务器出现异常时,系统日志、应用日志、安全日志中往往隐藏着问题的答案。然而,很多工程师面对海量的日志
    的头像 发表于 05-14 10:44 409次阅读

    直线模组如何选看过来?#直线模组 #丝杆模组 #同步带模组

    模组
    kyomicro
    发布于 :2026年04月17日 15:18:13

    SDV域控器日志追踪与解析技术 – DLT

    从研发到测试SDV域控制器的调试日志在汽车软件复杂度不断攀升的今天,对不同核或分区上运行的复杂软件进行调试或追踪极具挑战性,并且在POSIX系统或车辆上的复杂软件进行分步调试往往更具挑战。所以
    的头像 发表于 01-21 10:04 2119次阅读
    SDV域控器<b class='flag-5'>日志</b>追踪与解析<b class='flag-5'>技术</b> – DLT

    如何确保电能质量在线监测装置运行日志的准确性?

    电能质量在线监测装置运行日志的准确性直接影响故障溯源、合规审计和运维决策,需从 “数据采集源头、记录过程、存储传输、校验维护、管理流程” 五大维度构建闭环保障体系,结合技术手段与行业标准,实现日志
    的头像 发表于 12-17 11:08 816次阅读
    如何确保电能质量在线监测装置运行<b class='flag-5'>日志</b>的准确性?

    RT-Thread ULOG: 创建多个文件后端并保存不同日志方法 | 技术集结

    目录前言使用场景实现功能具体操作1前言在项目开发中需要使用到日志功能来调试和查看问题。有些问题并不会在我们实时查看的时候发生,而是在你上个厕所的功夫可能就发生了。如果上位机的缓冲区不够大,可能错误
    的头像 发表于 12-15 19:22 5288次阅读
    RT-Thread ULOG: 创建多个文件后端并保存不同<b class='flag-5'>日志</b>方法 | <b class='flag-5'>技术</b>集结

    如何确保电能质量在线监测装置的用户操作日志审计功能的安全性?

    确保电能质量在线监测装置用户操作日志审计功能的安全性,核心是构建 “日志全生命周期安全防护体系” ,覆盖 “日志生成→存储→访问→传输→备份→销毁” 全流程,同时结合
    的头像 发表于 12-11 16:49 1489次阅读
    如何确保电能质量在线监测装置的用户操作<b class='flag-5'>日志</b>审计<b class='flag-5'>功能</b>的安全性?

    电能质量在线监测装支持用户操作日志审计吗?

    是的,主流电能质量在线监测装置普遍支持用户操作日志审计功能 ,这是电力系统安全防护与合规性要求的重要组成部分,符合《电力监控系统安全防护规定》《网络安全法》等法规标准。 一、日志审计功能
    的头像 发表于 12-11 16:48 1378次阅读
    电能质量在线监测装支持用户操作<b class='flag-5'>日志</b>审计吗?

    电能质量在线监测装置数据日志能加密存储吗?

    加密的技术实现方式 1. 加密算法与分级策略 日志类型 推荐加密算法 密钥管理方式 适用场景 敏感日志(事件记录、故障数据、用户信息) AES-256 (高级加密标准) 硬件安全模块(HSM/TPM/SE)管理密钥 电网关口、新
    的头像 发表于 12-05 10:16 833次阅读
    电能质量在线监测装置数据<b class='flag-5'>日志</b>能加密存储吗?

    使用littlefs存储ulog日志,然后读日志文件会出错,为什么?

    使用littlefs存储ulog日志,然后通过命令读取日志文件,或者通过API接口读取或拷贝日志文件,都会导致线程卡死,尝试了多种方法都不行,有没有大佬有遇到或者处理过类似问题? 改成fatfs来存
    发表于 09-29 06:14

    TFT显示模组有什么功能

    是细问它到底有哪些功能特点,不少人可能就说不上来了,那接下来咱们就一起聊聊 TFT 显示模组到底有哪些关键功能
    的头像 发表于 08-27 10:59 949次阅读
    TFT显示<b class='flag-5'>模组</b>有什么<b class='flag-5'>功能</b>

    电商API日志分析的实用工具

      在当今数字化电商时代,API(应用程序编程接口)已成为平台与外部系统交互的核心通道。电商API日志记录了每一次请求的详细信息,包括用户行为、交易状态、错误响应等。分析这些日志能帮助企业监控性能
    的头像 发表于 07-23 15:50 860次阅读
    电商API<b class='flag-5'>日志</b>分析的实用工具

    harmony-utils之LogUtil,日志工具类

    harmony-utils之LogUtil,日志工具类 harmony-utils 简介与说明 harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类
    的头像 发表于 07-03 18:12 635次阅读

    远程日志errDump调试功能实战教程:案例驱动的故障排查!

    及Air8101开发板实操验证。   一、errDump功能介绍 1.1 errDump有什么用? errDump是LuatOS系统中的错误日志上报模块,主要用于远程调试与故障诊断。 其原理是将模块运行过程中产生的错误信息或者应用日志
    的头像 发表于 06-09 16:51 931次阅读
    远程<b class='flag-5'>日志</b>errDump调试<b class='flag-5'>功能</b>实战教程:案例驱动的故障排查!

    手把手教你配置远程errDump调试:日志追踪不求人!

    功能及Air8101开发板实操验证。 一、errDump功能介绍 1.1 errDump有什么用? errDump是LuatOS系统中的错误日志上报模块,主要用于远程调试与故障诊断。 其原理是将模块运行过程中产生的错误信息或者应
    的头像 发表于 06-05 18:32 1336次阅读
    手把手教你配置远程errDump调试:<b class='flag-5'>日志</b>追踪不求人!

    详解journalctl日志管理

    systemd 提供了自己的日志系统(logging system),称为 journal。使用 systemd 日志,无需额外安装日志服务(syslog)。
    的头像 发表于 06-05 17:22 2057次阅读
    详解journalctl<b class='flag-5'>日志</b>管理