# CLI 调试命令

mxos 为用户提供串口 CLI 命令行调试功能,用来查看当前设备状态,以协助调试分析。

#简介

mxos 的 CLI 命令是通过系统调试串口进行输入输出的。如:调试串口(波特率通常为:115200bps)输入:help,可以看到帮助命令列表:

#CLI串口连接

#确认UART口

在mxos SDK中,调试串口和调试命令串口通常共用一个UART口,具体的需根据Wi-Fi模块型号在mxos/board/mxos_board.h中确认。以3165为例,CLI串口定义如下:

#安装驱动程序

开发板电源线,即调试串口线连接至PC端后,需安装USB转UART驱动程序,下载地址:http://www.ftdichip.com/Drivers/VCP.html (opens new window),

#PC端查看端口号

安装成功后,打开PC设备管理器,查看串口信息,如下图所示:

#SecureCRT连接串口

发现端口号COM11,表示驱动成功安装,打开SecureCRT(或其他串口调试软件),连接COM11串口,设置如下:

连接成功后,即可向串口输入命令行进行调试。

#CLI命令列表

在调试串口输入以下“串口命令”,即可获取想要的信息。 命令行种类及对应的功能,如下表:

序号

命令

功能

1

help

查询全部串口命令及其功能

2

version

查询设备固件版本信息

3

echo

查询或设置命令回传功能

4

exit

退出串口命令行状态

5

scan

扫描周围的WiFi接入点AP

6

wifistate

查询wifi当前状态

7

wifidebug

查看或设置WiFi调试功能

8

ifconfig

查询设备IP地址

9

arp

查询或清除arp列表

10

ping

测试本机与某IP地址能否连通

11

dns

查询或清除DNS域名解析IP地址

12

sockshow

查询所有socket套接字状态

13

tasklist

查询所有线程的名字和状态

14

memshow

查询内存使用信息

15

memdum

从指定内存地址中复制数据

16

memset

向指定内存地址中设置数据

17

memp

查询内存空间分配列表

18

wifidriver

查询WiFi驱动信息

19

reboot

重启mxos系统

20

tftp

向设备指定Flash地址写入文件

21

time

查询设备系统运行时间

22

ota

系统自动OTA升级

23

flash

查询flash空间分配列表

24

mxosdebug

关闭或开启mxos运行log输出功能

下面就对列表中的CLI命令进行一一介绍。

#CLI命令使用示例

#help

功能:查询全部串口命令及功能。

在Command Window命令窗口中输入命令“help”,回车,串口返回内容,如下图:

#version

功能:查询设备固件版本信息。

在Command Window命令窗口中输入命令“version”,回车,串口返回内容,如下图:

#echo

功能:查询或设置命令回传功能

(1)在Command Window命令窗口中输入命令“echo”,回车,串口返回内容,如下图:

命令回传功能关闭。输入命令“version”回车,看到返回中无“# version”

(2)在Command Window命令窗口中输入命令“echo off”,回车,串口返回内容,如下图:

命令回传功能开启。输入命令“version”回车,看到返回中出现“# version”。 通常建议开启echo功能,便于同步观察命令功能

#exit

功能:退出串口命令行状态

在Command Window命令窗口中输入命令“exit”,回车,串口返回内容,如下图:

此后输入命令无效,必须上电重启设备后才能生效。

#scan

功能:扫描周围的WiFi接入点AP。

void wifiscan_Command(CLI_ARGS);

在Command Window命令窗口中输入命令“scan”,回车,串口返回内容,如下图:

获取到mxos设备附近的AP热点名称,通道,加密方式,及信号强度。

#wifistate

功能:查询wifi当前状态。

void wifistate_Command(CLI_ARGS)

在Command Window命令窗口中输入命令“wifistate”,回车,串口返回内容,如下图:

首先输出需要连接的AP的信息,包括SSID,密码,BSSID和重试间隔(单位ms)。 然后输出连接的状态,如果已经连接成功,会输出连接AP的详细信息,包括SSID,通道,信号强度和BSSID。

#wifidebug

功能:查看或设置WiFi调试功能。

void wifidebug_Command(CLI_ARGS);

其中:argc必须是2,argv[1]可以是”on”和”off”,分别用于打开和关闭wifi debug输出。 (1)当设备进入配网状态,等待配网时,在Command Window命令窗口中输入命令“wifidebug on”,回车,然后再进行配网,串口返回内容,如下图:

注意:该命令为动态指令,一次带电过程中有效,重新上电即关闭,需再次开启才生效。

(2)在Command Window命令窗口中输入命令“wifidebug off”,回车,串口返回内容,如下图:

!

此时,WiFi库中的调试信息log将停止输出。

#ifconfig

功能:查询设备IP地址。

void ifconfig_Command(CLI_ARGS)

在Command Window命令窗口中输入命令“ifconfig”,回车,串口返回内容,如下图:

#arp

功能:查询或清除arp列表。

void arp_Command(CLI_ARGS)

arp命令支持一个参数,分别是show和clean。 Clean用于清除ARP缓存。show用于输出arp缓存,使用如下:

(1)在Command Window命令窗口中输入命令“arp”,回车,串口返回内容,如下图: 返回arp命令格式分别为show和clean。

(2)在Command Window命令窗口中输入命令“arp show”,回车, 然后,通过ping命令与局域网内其他IP地址进行通信尝试, 再次通过“arp show”返回结果如下图

(3)在Command Window命令窗口中输入命令“arp clean”,清楚arp缓存,回车, 然后,通过指令“arp show”查看,串口返回内容如下图:

#ping

功能:测试本机与某IP地址能否连通。

void ping_Command(CLI_ARGS);

ping命令用于ping某个IP地址,仅支持IP地址,不支持域名。 会连续ping 5次,每次延时1秒钟,ping完成以后输出结果 在Command Window命令窗口中输入命令“ping 192.168.1.1”,回车,串口返回内容,如下图:

说明设备与该IP地址连通。

#dns

功能:查询或清除DNS域名解析IP地址。

void dns_Command(CLI_ARGS)

(1)在Command Window命令窗口中输入命令“dns”,回车,串口返回内容如下图:

可显示dns的命令格式。(此时设备运行demo:  wifi_uart透传工程,已配网)

(2)在Command Window命令窗口中输入命令“dns show”,回车,串口返回内容如下图:

此时,Command Window命令窗口中输入命令“dns www.baidu.com”等,返回内容如下:

此时,在Command Window命令窗口中输入命令“dns show”,回车,返回如下图:

(3)在Command Window命令窗口中输入命令“dns clean”,回车,串口返回内容如下图:

#sockshow

功能:查询所有socket套接字状态。

void socket_show_Command(CLI_ARGS);

显示当前系统socket的状态,分别显示BSD socket的状态,TCP的状态和UDP的状态。 在Command Window命令窗口中输入命令“sockshow”,回车,串口返回内容,如下图:显示设备当前的所有socket连接状态信息。

#tasklist

功能:查询所有线程名字及状态 。

void task_Command(CLI_ARGS);

用于显示当前系统的Thread线程的状态。 在Command Window命令窗口中输入命令“tasklist”,回车,串口返回内容,如下图:显示设备当前的所有线程状态信息。

其中:

  • Status(状态)——R代表线程运行,S代表线程停止,B代表线程阻塞;

  • Prio(优先级)——线程优先级等级;

  • Stack(栈)——线程占用栈空间大小;

  • TCB(任务快)——线程任务块大小。

#memshow

功能:查询内存使用信息。

void memory_show_Command(CLI_ARGS);

显示当前系统的内存情况 在Command Window命令窗口中输入命令“memshow”,回车,串口返回内容,如下图:显示设备当前的内存使用信息。

#memdump

功能:从指定内存地址中复制数据。

void memory_dump_Command(CLI_ARGS);

以HEX格式DUMP出一段内存地址的内容。 在Command Window命令窗口中输入命令“memdump 0x0001000 100”,回车,串口返回内容,如下图:读取到 设备指定内存地址的数据。

其中0x200003c0是需要dump的内存地址的起始地址,10是需要dump的长度。

#memset

功能:设置某段内存地址的数据内容。

void memory_set_Command(CLI_ARGS);

(1)在Command Window命令窗口中输入命令“memset 0x0001000 100”,回车,串口返回内容,如下图:写入到 设备指定内存地址数据,并通过 memdump 命令读出,验证写入的数据内容。

其中,0x200003c0是起始地址,后面可跟多个参数,每个参数对应一个地址的内容。 但是注意:有时 有些内存地址是不允许写入的。

#memp

功能:查询内存空间分配列表。

void memp_dump_Command(CLI_ARGS);

显示当前协议栈各个缓存地址池的使用情况。 在Command Window命令窗口中输入命令“memp”,回车,串口返回内容,如下图:显示设备当前的内存分配情况。

#wifidriver

功能:查询wifi驱动状态。

void driver_state_Command(CLI_ARGS);

用于打印出当前系统中wifi驱动的运行状态, 在Command Window命令窗口中输入命令“wifidriver”,回车,串口返回内容,如下图。

#reboot

功能:重启mxos系统。

#time

功能:查询设备系统运行时间。

在Command Window命令窗口中输入命令“time”回车,串口返回内容如图.

#ota

功能:系统自动OTA升级 。 暂不支持。

#flash

功能:查询flash空间分配列表。

在Command Window命令窗口中输入命令“flash”回车,串口返回内容如图.

#mxosdebug

功能:关闭或开启mxos运行log输出功能。

更新时间: 2023/7/12 14:10:31