通用调试指令
本文档基于AT通用指令手册额外介绍了部分调试指令
AT+CHEAP 查询heap空间使用情况
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+CHEAP | AT+CHEAP total_heap_size: 253896 curr_free_heap: 197796 min_free_heap: 190100 max_free_block: 189292 OK |
测试指令 | AT+CHEAP=? | OK |
参数定义:
参数 | 定义 | 取值 | 取值说明 |
---|---|---|---|
total_heap_size | 总的heap空间 | ||
curr_free_heap | 当前可用heap空间 | ||
min_free_heap | 运行过程中,剩余的最小heap空间 | ||
max_free_block | 单次能分配的最大heap空间 |
AT*EXASSERT 设置调试模式
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT*EXASSERT=<mode> |
OK |
参数定义:
参数 | 定义 | 取值 | 取值说明 |
---|---|---|---|
<mode> |
设置调试模式 | 0 | 开启 debug 模式(软件异常时设备进入 dump 模式等待工具 dump 现场) |
1 | 关闭 debug 模式 | ||
1,1 | 触发软件主动异常,使设备进入 debug 模式 |
AT*I 查询各种信息
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT*I | Manufacturer:<manufacturer> Model: <model> Revision: <revision> HWVer: <hwver> Buildtime: <Buildtime> IMEI: <imei> ICCID:<iccid> IMSI:<imsi> OK |
参数定义:
参数 | 定义 | 取值 | 解释 |
---|---|---|---|
<manufacturer> |
+CGMI 命令的返回 | ||
<model> |
+CGMM命令的返回 | ||
<revision> |
+CGMR命令的返回 | ||
<hwver> |
硬件版本 | ||
<Buildtime> |
版本固件的编译时间 | ||
<imei> |
同+CGSN命令的返回值 | ||
<iccid> |
同+ICCID命令的返回值 | ||
<imsi> |
国际移动台用户识别码(International Mobile Subscriber Identity) | 由15位数字组成 |
举例:
命令(→)/返回(←) | 实例 | 说明 |
---|---|---|
→ | AT*I | 查询模块信息 |
← | Manufacturer: Yuga Co.,Ltd. Model: YM310 X09 Revision: YM310.X09_AT.U60_R2.0.0.240820 HWver: V1 Buildtime: Aug 20 2024 17:04:06 IMEI: 863644070951258 ICCID: 89860324145510774535 IMSI: 460115469591740 OK | 返回查询结果 |
AT+ECPCFG 设置平台配置信息
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+ECPCFG=<mode>,<value> |
OK |
测试指令 | AT+ECPCFG? |
faultAction:<value> uartDumpPort :<value> startWDT:<value> logCtrl:<value> logLevel:<value> logBaudrate:<value> slpWaitTime:<value> logPortSel:<value> usbCtrl:<value> usbSwTrace:<value> usbSlpMask:<value> usbSlpThd:<value> pwrKeyMode:<value> usbNet:<value> fotaUrcBaudrate:<value> fotaUrcPortSel:<value> |
测试命令 | AT+ECPCFG=? |
ECPCFG: <option>,<setting> |
参数定义:
参数 | 取值 |
---|---|
<mode> |
faultAction 设置产生hardfault后的行为模式, 重启生效 |
uartDumpPort 是否将Dump输出到AT口, 重启生效 | |
startWDT 开启WDT, 重启生效 | |
logCtrl 设置LOG控制模式, 重启生效 | |
logLevel 设置LOG输出打印级别 | |
logBaudrate 设置LOG输出波特率, 重启生效 | |
slpWaitTime 设置睡眠延迟时间, 重启生效 | |
logPortSel 设置LOG输出选择(串口/USB), 重启生效 | |
usbCtrl 设置USB控制模式(RNDIS/USB),重启生效 | |
<value> |
对于faultAction, 其取值范围是0~4 : |
0: 输出所有的异常信息到Flash和EPAT工具中,然后UE进行无限循环 | |
1: 输出必要的异常信息然后重启UE | |
2: 输出所有的异常信息到Flash中然后重启UE | |
3: 输出所有的异常信息到Flash和EPAT工具中,然后重启UE | |
4: 直接重启,建议在量产阶段采用,避免出现因为出现Dump而死机的情况 | |
10: 输出所有异常信息到Flash和EPAT中(USB输出失败会使能UART输出),然 后UE进行无限 | |
13: 输出所有异常信息到Flash和EPAT中(USB输出失败会使能UART输出),然 后重启UE | |
对于uartDumpPort, 取值范围是0~255: | |
0-n(取决于串口Port的个数): 串口的Port Index号 | |
255: 禁止串口Dump输出 | |
对于startWDT, 取值范围是0或者1: | |
0: 停止启动WDT | |
1: 启动WDT,建议在量产阶段启动 | |
对于logCtrl, 取值范围是0~2: | |
0: 禁止UNILOG输出 | |
1: 只有软件LOG才输出 | |
2: 所有LOG都输出 | |
对于logLevel, 其取值范围是0~5 : | |
0: debug log 级别 | |
1: info log 级别 | |
2: value log 级别 | |
3: signal log 级别 | |
4: warning log 级别 | |
5: error log 级别 | |
对于logOwnerId, 其取值范围是0~7 : | |
0: HW log owner | |
1: phy_online log owner | |
2: phy_offline log owner | |
3: plat_ap log owner | |
4: plat_cp log owner | |
5: ps1 log owner | |
6: ps2 log owner | |
7: resv for customer | |
对于logOwnerLevel, 其取值范围是0~5 : | |
0: debug log level | |
1: info log level | |
2: value log level | |
3: signal log level | |
4: warning log level | |
5: error log level | |
例如,配置了AT+ECPCFG=” logOwnerId”,1,” logOwnerLevel”,4 命令后, 就只 打印” phy_online”模块的”warning log”和”error log”,其他log如” signal log”不再 打印 | |
对于logOwnerId&logOwnerLevel, 其取值范围是0~0xFFFFFF : | |
默认值是0, bit0-2表示” HW log owner”,存储的值表示当前owner的log level, bit3-5表示” phy_online log owner”, 存储的值表示当前owner的log level,其他 以此类推 | |
例如,配置了AT+ECPCFG=” logOwnerId”,1,” logOwnerLevel”,1 命令, “logOwnerId&logOwnerLevel” 的值应该是0x000008 | |
对于logBaudrate, 其取值范围是921600~6000000(6M) | |
对于slpWaitTime, 其取值范围是0~0xffff | |
对于logPortSel, 取值范围是:0~3 : | |
0: USB输出LOG(默认) | |
1: UART0输出LOG | |
2: USB和UART0同时输出LOG | |
3: Unilog 输出到指定Dump区域,异常时用于Flash Dump | |
对于usbCtrl, 取值范围是0~2 : | |
0: 使能并初始化USB, 启用RNDIS功能 | |
1: 使能并初始化USB, 禁止RNDIS功能 | |
2: 禁止USB(不使用USB并且不初始化USB) | |
对于usbSwTrace, 取值范围是0或者1: | |
0: 禁用USB软件trace | |
1: 启用USB软件trace | |
对于usbSlpMask, 取值范围是0或者1: | |
0: USB会参与投票进入睡眠 | |
1: USB不会参与投票进入睡眠 | |
对于usbSlpThd, 取值范围是0~65535 | |
对于pwrKeyMode,取值范围是:0~2 : | |
0: PWRKEY 内部上拉,不防抖 | |
1: PWRKEY 内部上拉,防抖 | |
2: PWRKEY 内部取消上拉(PWRKEY接GND的时候使用) | |
对于usbNet, 取值范围是:0或者1 | |
0: 选择RNDIS网络接口 | |
1: 选择ECM网络接口 | |
对于fotaUrcBaudrate, 此处仅作读命令 | |
对于fotaUrcPortSel, 具体分为2部分,高4比特表示端口类型,低4比特表示端 口号 : | |
高4比特: 0表示USB端口类型,1表示UART端口类型 | |
低4比特: USB端口取值范围0-2,UART端口取值范围0-1 |
举例:
→ at+ecpcfg?
← +ECPCFG: "faultAction":4,"uartDumpPort":1,"startWDT":1,"logCtrl":2,"logLevel":0,"logBaudrate":3000000," slpWaitTime":0,"logPortSel":0,"usbCtrl":0,"usbSwTrace":0,"usbSlpMask":0,"usbSlpThd":0, "pwrKeyMode":0,"usbNet":0
← OK