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相关的信息。步骤4Log文件打包保存当需要的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指令:ATQDBGCFGDUMPCFG,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”按钮。步骤6dump文件导出在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文件。常见问题#问题1ArmLogel工具打开后没有看到“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输出端口atqdbgcfgtracecfg打开QPYcom工具“COM Port”选择“Quectel USB AT Port”端口点击“Open Port”然后发送上面的AT指令如果AT指令查询结果如上图所示最后两位数字是0和1说明当前AP Log的输出端口是物理串口Debug口。此时用户可以发送如下AT命令来将AP Log输出端口切换到USB端口atqdbgcfgtracecfg,0,2由于上述AT指令需要重启才能生效所以发送上述AT指令后重启模组。然后回到ArmLogel工具界面应该就可以看到有Log输出了。