UNISOC8850平台Log工具使用说明

UNISOC8850平台AP和CP Log的抓取,都是使用ArmLogel工具,而dump文件的导出则需要使用dtools_win工具。本文将介绍如何使用ArmLogel工具来抓取AP和CP的Log,以及使用dtools_win工具导出dump文件。

概述

工具简介

ArmLogel是一个用来实时监控并抓取UNISOC8850平台模组的内部消息、空中消息、系统消息的测试工具。它可以将来自每个任务的消息分层显示,并提供了对消息结构和数据的解析功能。

软件安装

ArmLogel工具为免安装软件,只需要将工具压缩包解压到电脑某个目录下即可。需要注意,解压路径中,不要包含中文字符,否则可能导致工具无法正常运行。

运行环境

ArmLogel工具支持在Windows XP/7/10系统上运行,计算机内存应在8G以上,处理器至少双核。

硬件连接

抓取log之前,用户应做如下准备:

  • 确认已经安装UNISOC8850平台模组的USB驱动程序。

  • 使用USB数据线连接模组和计算机。

  • 模组上电运行。

进入计算机的设备管理器界面,如果USB驱动程序加载正常,应该可以看到下图所示的几个端口:

几个端口的作用如下:

  • Quectel USB AT Port:该端口用于发送AT指令。

  • Quectel USB CP Port:该端口用于抓取CP Log。

  • Quectel USB Debug Port:在USB连接下,该端口保留,用户可忽略。

  • Quectel USB DIAG Port:该端口用于抓取AP Log。

  • Quectel USB REPL Port:对于QuecPython固件而言,该端口是python的REPL端口,用户可通过该端口执行一些python代码。需要注意的是,不同的平台,python的REPL端口名称可能是不同的。如果用户不清楚哪个端口是python的REPL端口,可以咨询我们公司的FAE进行确认。

使用指南

确认设备与计算机硬件连接正常,并且所有USB端口枚举成功,接下来就可以进行软件工具的配置和使用。

AP和CP日志抓取

步骤1:打开ArmLogel工具

将ArmLogel工具的压缩包解压到电脑某个路径下,注意路径中不要包含中文字符。进入到ArmLogel工具根目录下,双击Logel.exe打开ArmLogel工具后,进入下图所示的界面,其中的“Traces”窗口就是AP Log的输出窗口。CP Log的输出窗口一般默认不直接打开,而是在用户配置好参数并连接设备成功后,会自动弹出。

步骤2:参数配置

点击菜单栏的设置按钮,如下图所示:

弹出如下所示的参数设置窗口,在该窗口中,用户需要设置Log的保存路径以及USB端口相关的参数。当用户设置好这些参数,并开始Log的抓取时,ArmLogel工具会自动保存AP和CP Log到用户设置的目录中。

具体的参数设置说明如下:

  • 在①处设置Log的保存路径。

  • ②处的“Type”选择“Uart”。

  • ③处的“Diag Port”选择“Quectel USB DIAG Port”,后面波特率输入框填写2000000即可。

  • ④处的“Log Port”选择“Quectel USB CP Port”,后面波特率输入框填写8000000即可。

  • 点击⑤处的“OK”按钮确认。

按照上述步骤配置之后,参数配置就完成了。

步骤3:开始Log抓取

点击菜单栏的“Capture Log”按钮开始抓取Log:

当“Capture Log”按钮变成绿色,并且“Traces”窗口能看到Log输出,说明硬件连接正常,并且工具参数配置也正确。当工具开始输出Log时,还会弹出几个新的窗口,比如“CP All Message”、"CP Lay3 Message"和“Neighbour Cell Info”窗口,这些窗口输出的是CP Log相关的信息。

步骤4:Log文件打包保存

当需要的Log抓取完成时,点击ArmLogel工具菜单栏的停止按钮,Log会自动保存到之前设置的目录下。

进入之前设置的Log保存路径下,该目录下就是ArmLogel工具自动保存的所有Log文件,用户需要将这些文件打包压缩后,发送给我司FAE或者研发,用于分析问题。

由于ArmLogel工具每次打开时,默认都会按照用户之前设置的路径来保存,所以会导致保存Log文件的目录下有大量历史Log文件。因此,建议用户在每次使用ArmLogel工具抓取Log之前,先将历史Log文件都删除,这样可以确保该目录下保存的文件是最新的。

Dump文件导出

UNISOC8850平台模组抓取dump文件,需要使用dtools_win工具,且需要结合ArmLogel工具来使用。下面将说明如何使用ArmLogel工具合dtools_win工具来导出模组的dump文件。

步骤1:配置dump模式

模组在默认情况下,如果发生dump,会直接重启。这种情况下,无法导出dump文件。因此,我们需要在模组正常运行时,先发送AT指令来配置模组的dump模式,确保发生dump时不会自动重启,而是一直停在dump状态,等待用户导出dump文件。

下面是UNISOC8850平台模组配置dump模式,需要发送的AT指令:

AT+QDBGCFG="DUMPCFG",0

打开QPYcom工具,“COM Port”选择“Quectel USB AT Port”端口,点击“Open Port”,然后发送上面的AT指令:

上述AT发送后立即生效,但是掉电不保存,如果重启设备了,就需要重新发送一次。

步骤2:复现dump问题

按照步骤1发送相关AT指令后,就可以去复现相关的dump问题,当模组出现dump问题时,ArmLogel工具会弹出如下所示的Assert Information窗口:

并且Traces窗口中会列出模组当前所有Task的基本信息:

步骤3:停止ArmLogel工具的Log抓取

由于接下来需要使用dtools_win工具来导出dump文件。dtools_win工具导出dump时使用的也是模组的USB端口,如果不先停止ArmLogel工具,会导致模组的USB端口一直被ArmLogel工具占用,dtools_win工具则无法再使用模组的USB端口。

当模组确认发生dump,并出现步骤2中的现象时,用户需要点击ArmLogel工具菜单栏的停止按钮,停止成功后,该按钮会变成红色。

步骤4:打开dtools_win工具

双击打开dtools_win工具,进入该工具的主界面,具体如下所示:

步骤5:端口参数配置

点击下图中①处的图标,弹出端口参数配置窗口,如下所示:

在弹出的端口参数配置窗口中,依次按照下面的步骤进行配置:

  • 图中②处的Chip Type类型,选择8850。

  • 选择图中③处的Diag Port,并且后面的端口号选择"Quectel USB DIAG Port"所对应的端口号。

  • 最后点击图中④处的“Confirm”按钮。

步骤6:dump文件导出

在dtools_win工具的主界面上,先点击下图①处的“Blue Screen Dump”标签,进入对应的标签页:

在“Blue Screen Dump”标签页中,依次按照如下步骤进行操作:

  • 图中②处的Chip类型需要选择8850,如果步骤5中配置正确,此处应该默认就是8850。

  • 图中③处是dump文件导出后的保存路径,用户可以点击输入框后面的按钮选择指定的目录来保存dump文件。

  • 点击图中④处的按钮,开始dump文件的导出。下方⑤处会有dump文件导出的进度显示,当导出进度显示为100%时,表示dump文件导出已经完成。

我们可以点击“Open Dump Folder”按钮,直接打开dump文件保存目录,然后将dump文件打包压缩为一个文件后,发送给我司FAE或者研发进行dump问题的分析。

Pcap文件导出

ArmLogel工具会自动抓取并保存pcap文件,并将pcap文件保存在用户设置的Log保存路径下,用户只需要按照前面AP和CP日志抓取章节的步骤设置即可,无需单独设置其他参数。

模组开机后,如果没有进行过任何网络数据业务,则Log保存路径下不会有pcap文件存在;只有当模组进行进行socket、mqtt以及http等业务时,ArmLogel工具才会抓取并保存pacp文件。

常见问题

问题1:ArmLogel工具打开后,没有看到“Traces”窗口。

如果用户打开ArmLogel工具后,没有看到“Traces”窗口,可以手动打开。点击菜单栏的“View”选项,在弹出的下拉窗口中,依次点击“Common”——>"Traces",即可显示“Traces”窗口。

问题2:点击菜单栏的“Capture Log”按钮后,该按钮已经变成绿色,但是“Traces”窗口看不到任何的AP Log输出。

AP Log默认是从USB端口输出,对于ArmLogel工具来说,即从"Quectel USB DIAG Port"端口输出。如果用户之前通过相关AT将AP Log输出切换到了物理串口的Debug串口,就会出现“Capture Log”按钮已经变成绿色,但是“Traces”窗口看不到任何的AP Log输出的现象。此时,用户可以按照下面步骤进行操作:

步骤1:确认当前AP Log输出端口。

发送如下AT,查询当前的AP Log输出端口:

at+qdbgcfg="tracecfg"

打开QPYcom工具,“COM Port”选择“Quectel USB AT Port”端口,点击“Open Port”,然后发送上面的AT指令:

如果AT指令查询结果如上图所示,最后两位数字是0和1,说明当前AP Log的输出端口是物理串口Debug口。

此时,用户可以发送如下AT命令,来将AP Log输出端口切换到USB端口:

at+qdbgcfg="tracecfg",0,2

由于上述AT指令需要重启才能生效,所以发送上述AT指令后,重启模组。然后回到ArmLogel工具界面,应该就可以看到有Log输出了。