死机dump数据方法 ================ 作者:王毅 概述 ---- 客户在使用8910系列模块开发调试中,有时候会遇到模块异常重启的问题,而客户无法根据现场日志信息解决异常时,可能需要dump异常现场数据给合宙技术人员分析。本文章以720UG为例,主要介绍一下如何dump现场数据。 ## 代码准备工作 合宙官方对外正式发布的固件,无论是AT版本还是Lua版本, 默认配置为自动重启模式,意味着一旦出现异常,会自动重启。 在自动重启模式下,用户无法dump现场数据,所以首先要做的是:把固件配置为死机模式,配置为死机模式后,一旦再出现异常,不再自动重启,用户就有充足的时间来dump现场信息。 那么如何配置为死机模式呢,有如下两种方法: (1)、AT版本和Lua版本有稍许差别 AT版本:MCU通过4G模块的AT口发送AT*EXASSERT=1命令 Lua版本:在main.lua的sys.init(…)前增加一行代码ril.request("AT*EXASSERT=1") (2)、PC上通过串口工具向4G模块USB口映射出的LUAT USB Device1 AT口发送AT*EXASSERT=1命令 注意: A、无论使用何种方法,每次开机(无论是正常开机还是异常开机)都要重新配置一次,鉴于此,推荐使用第(1)中方法,可以在程序中自动处理 B、为保证万无一失,配置后,PC上通过串口工具向4G模块USB口映射出的AT口发送**AT*EXASSERT?\ **命令查询是否配置成功,如果返回**\ EXASSERT: 1表示配置成功*\* C、问题解决之后,所用测试模块,一定要再次配置为自动重启模式,配置方法是发送AT**EXASSERT=0命\ *令,配置后重启,发送AT*\ EXASSERT?命令查询是否配置成功,如果返回\ *EXASSERT: 0表示配置成功;为了防止遗忘,用户在正式发布的程序中,可以在开机初始化时发送AT*\ EXASSERT=0命令 代码配置成功后,我们就可以使用模块的\ **host口(可以通过模块的硬件原理图查找具体位置飞线用串口线连接)**\ dump现场数据 |image1| 注:连接host得串口线必须是FT232的串口线 ## 使用coolwatcher工具dump现场数据 1. 下载coolwatcher工具 链接:https://pan.baidu.com/s/17sGt992xQ161bLvESeCyPQ 提取码:40ws 下载直接解压使用即可(无需安装) 2. 运行配置coolwatcher工具 (1) 解压下载下来的coolwatcher压缩包,并找到coolwatcher.exe文件 |image2| (2) 双击运行后,按下图配置 |image3| |image4| (3) 点击ok,进入coolwatcher工作界面 |image5| (4) 然后根据如下步骤配置 |image6| (5) 这时会弹出配置窗口,配置如下: |image7| 注:elf文件在模块使用的固件版本对应的map文件中解压所得,比如此处模块固件是sw_file_20200622191350_Luat_V0016_RDA8910_TTS.pac,找到对应的map文件下载解压即可,如图所示: |image8| (6) 配置好后,点击start,开始dump数据,传输数据过程如下图所示(这个过程可能会持续7、8分钟,请耐心等待) |image9| (7) 当出现下图所示,说明数据dump完成 |image10| (8) 此时,我们可以在上图中设置的Output Directory路径找到dump出来的数据,将全部文件打包压缩提供给技术人员分析就好,我这里存放的路径是:D::raw-latex:`\dump `,dump出来的数据如下图所示: |image11| 注意:打包发出去之后,将此目录下的这些文件删除,避免下次dump时,文件重名导致不必要的麻烦 ## 补充说明 3. 当有的时候模块会因为内存不足出现死机问题时,我们不仅需要dump死机数据,还需要把内存数据也给同时导出来,如下图所示: |image12| 4. 操作步骤: 依次点开Tools–>Heap Report(new)打开配置界面,并按照下图配置,elf文件获取方式在上文已经提到,不在赘述。 |image13| |image14| 点击start,即可以开始导出数据,当出现下图所示,表示导出完毕。 |image15| 这时候,我们可以查看保存路径中的文件,如下图所示,已经导出成功。 |image16| 相关资料以及购买链接 -------------------- 相关开发板购买链接 `Air724UG开发板 `__ `Air724 开发板使用说明 `__ `相关软件资料下载 `__ 常见问题 -------- https://luatdoc.papapoi.com/638/ .. |image1| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707095526184_1.png .. |image2| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707095705503_2.png .. |image3| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707095853087_3.png .. |image4| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707095949968_4.png .. |image5| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707100107225_5.png .. |image6| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707100211274_6.png .. |image7| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707100318893_7.png .. |image8| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707100625443_8.png .. |image9| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707100726165_9.png .. |image10| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707100818959_10.png .. |image11| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707100913126_11.png .. |image12| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707113012659_1.png .. |image13| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707113436375_2.png .. |image14| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707113507732_3.png .. |image15| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707113855438_4.png .. |image16| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200707113711645_5.png