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

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

3天内不再提示

日志篇:模组日志总体介绍

合宙LuatOS ? 来源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-10-24 07:16 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

?今天我们学习合宙模组日志总体介绍,以下进入正文。

一、本文讨论的边界

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

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

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

2.1 AT 交互的业务日志

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

2.2 二次开发的业务日志

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

2.3 底层日志

当遇到疑难问题, 用业务日志无法定位问题原因的时候, 就需要抓取底层日志,交给合宙的技术同事分析问题。

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

三、怎么抓底层日志

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

3.1 下载底层日志工具

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

3.2 日志输出端口

如彻底讲清楚USB驱动问题这篇教程所说,USB的虚拟端口中,有一个底层日志的输出端口。可以从设备管理器的端口属性中根据“设备实例路径”中的值是否是0004,来判断底层日志的输出端口。

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

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

3.3 EPAT工具中图标功能

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

3.4 EPAT底层日志抓取方法

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

图片?

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

图片?

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

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

③ 抓取底层日志

图片?

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

④ 获取数据库db文件

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

  • LuatOS开发的db文件获取

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

图片?

  • AT开发的db文件获取

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

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

⑤ 保存日志

图片?

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

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

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

?审核编辑 黄宇

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

    关注

    6

    文章

    1641

    浏览量

    31444
  • 日志
    +关注

    关注

    0

    文章

    144

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    、优化用户体验、检测异常活动,并提升整体业务效率。然而,海量日志数据的管理和分析需要高效的工具支持。本文将介绍几种实用的电商API日志分析工具,并逐步解释其应用方法,帮助您快速上手。 1.
    的头像 发表于 07-23 15:50 ?126次阅读
    电商API<b class='flag-5'>日志</b>分析的实用工具

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

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

    详解journalctl日志管理

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

    如何在CentOS系统中部署ELK日志分析系统

    功能,使用户能够快速获取关键业务洞察。本文将详细介绍如何在 CentOS 系统中部署 ELK 日志分析系统,
    的头像 发表于 05-08 11:47 ?414次阅读
    如何在CentOS系统中部署ELK<b class='flag-5'>日志</b>分析系统

    基于RV1126开发板限制系统日志大小教程

    无论管理什么系统,对日志文件的监控、调用、管理都是其中重要的一部分。服务器问题的解决都是从查看系统(错误)日志开始的。系统日志是记录系统硬件状况、内核动作、软件启动、用户动作等各项信息的文件。我们
    的头像 发表于 04-16 11:18 ?260次阅读
    基于RV1126开发板限制系统<b class='flag-5'>日志</b>大小教程

    MariaDB配置日志审计

    确认插件路径下是否有日志审计插件server_audit.so。
    的头像 发表于 02-05 13:34 ?459次阅读

    分布式日志追踪ID实战

    作者:京东物流 张小龙 本文通过介绍分布式应用下各个场景的全局日志ID透传思路,以及介绍分布式日志追踪ID简单实现原理和实战效果,从而达到通过提高
    的头像 发表于 01-20 10:16 ?672次阅读

    Wine开发系列——如何使用Wine日志调试问题

    ? 输出调试日志是调试程序的一种常见方法,尤其是处理那些难以捉摸的多线程错误、随机崩溃等问题时。 通过在合适的位置输出调试日志,可以帮助我们更快地定位问题所在。 对于不熟悉的代码,经常打日志也有
    的头像 发表于 01-06 11:29 ?1063次阅读

    玩转Nginx日志管理:高效排查问题的终极指南

    Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问
    的头像 发表于 12-30 13:50 ?792次阅读

    1个工具4类日志,帮你解决99%的问题

    众所周知,通过日志可以对研发过程中,以及模组运行过程中的各种故障进行分析,快速定位和解决问题。 但新手朋友往往念叨着“抓日志”,却又无从下手……此时就不得不提到工程师朋友的宝藏工具
    的头像 发表于 12-17 16:26 ?604次阅读
    1个工具4类<b class='flag-5'>日志</b>,帮你解决99%的问题

    来来来,看这里:低功耗模组LuatOS开发的日志输出!

    本文以低功耗4G模组Air780E为例,学会低功耗模组LuatOS开发的日志输出,积累技术。
    的头像 发表于 12-05 09:09 ?655次阅读
    来来来,看这里:低功耗<b class='flag-5'>模组</b>LuatOS开发的<b class='flag-5'>日志</b>输出!

    nginx日志配置方法

    access_log用来定义日志级别,日志位置。
    的头像 发表于 10-24 17:43 ?634次阅读

    Linux日志管理经验总结

    日志内容,合理的日志内容(日志锚点,内容格式,等)可以为应用服务的执行记录、问题排查提供最有力的帮助。
    的头像 发表于 10-24 17:36 ?595次阅读

    systemd journal收集日志的三种方式

    随着 systemd 成了主流的 init 系统,systemd 的功能也在不断的增加,比如对系统日志的管理。Systemd 设计的日志系统好处多多,这里笔者就不再赘述了,本文笔者主要介绍 systemd journal 收集
    的头像 发表于 10-23 11:50 ?889次阅读
    systemd journal收集<b class='flag-5'>日志</b>的三种方式

    linux日志管理之journalctl命令

    journalctl 用来查询 systemd-journald 服务收集到的日志。systemd-journald 服务是 systemd init 系统提供的收集系统日志的服务。
    的头像 发表于 08-14 18:18 ?3889次阅读
    linux<b class='flag-5'>日志</b>管理之journalctl命令