Platform cli命令
重要
本界面所有功能面向使用cli命令操作平台的用户使用
backtrace :显示任务回溯信息
cpuload :用来展示当前CPU上每个task的负载情况和已运行时间等情况
memdump :执行对内存上某段长度的dump操作
memleak :执行对内存heap申请情况的统计
memshow :执行对当前内存所使用情况的显示
memstack :执行对内存上stack使用情况的显示
reboot :执行重启
tasklist :打印当前的task状态列表
flash :执行对flash的相关操作
backtrace :显示任务回溯信息
命令
backtrace
参数
无
使用场景
输入:
backtrace
显示:
>>>>dump task backtrace begin.
"task", "stack_addr", "top", "size", "overflow", "backtrace"
<<<<dump task backtrace end
响应
CMDRSP:OK
CMDRSP:ERROR
cpuload :用来展示当前CPU上每个task的负载情况和已运行时间等情况
命令
cpuload
参数
无
使用场景
输入:
cpuload
显示(仅举例):
>>>>dump task runtime begin.
shell_handle 0 <1%
IDLE 356432 99%
Tmr Svc 0 <1%
wpas_thread 606 <1%
tcp/ip 0 <1%
atsvr-handler 0 <1%
event 0 <1%
kmsgbk 2 <1%
dhcp-server 0 <1%
tempd 2 <1%
ble 2 <1%
core_thread 131 <1%
cli 0 <1%
syswq 0 <1%
<<<<dump task runtime end.
响应
CMDRSP:OK
CMDRSP:ERROR
备注
本命令在CONFIG_FREERTOS开启下生效!
memdump :执行对内存上某段长度的dump操作
命令
memdump <addr> <length>
参数
addr:想要dump的内存的起始地址
length:想要dump的内存的长度
使用场景
输入:
memdump 2806cd00 0x100
输入这条命令,则按字节dump当前内存中的数据,则返回:
dump,address: 0x2806CD00 size: 0x00000100
……(随后显示dump数据)
备注
此命令需要开启CONFIG_DEBUG_VERSION!
响应
CMDRSP:OK
CMDRSP:ERROR
memleak :执行对内存heap申请情况的统计
命令
memleak
参数
无
使用场景
输入:
memleak
输入这条命令,则返回当前系统中每个task下申请的heap的位置,所经历的tick数,所申请的heap空间大小,所申请函数命令及其malloc函数所调用的位置等信息。
备注
此命令需要开启CONFIG_MEM_DEBUG和CONFIG_FREERTOS下使用!
响应
CMDRSP:OK
CMDRSP:ERROR
memshow :执行对当前内存所使用情况的显示
命令
memshow
参数
无
使用场景
输入:
memshow
输入这条命令,则返回:
================Static memory================
mem_type start end size
-------- -------- -------- --------
itcm 0x0 0x3e00 15872
dtcm 0x20000000 0x20001bd8 7128
ram 0x28037400 0x2809eff8 424952
non_heap 0x28037400 0x2806aec0 211648
iram 0x8000000 0x8037258 225880
data 0x28037400 0x280389e8 5608
bss 0x2803d5c0 0x2806aebc 186620
heap 0x2806aec0 0x2809eff8 213304
================Dynamic memory================
name total free minimum peak
heap 213304 161032 154520 58784
在开启CONFIG_PSRAM_AS_SYS_MEMORY下,还可以显示psram上的内存情况;其显示在Dynamic memory下,例如如下情况:
================Dynamic memory================
name total free minimum peak
heap 391552 345248 332472 59080
psram 3145728 3136968 3136848 8880
响应
CMDRSP:OK
CMDRSP:ERROR
memstack :执行对当前内存所使用情况的显示
命令
memstack
参数
无
使用场景
输入:
memstack
输入这条命令,则返回:
task stack_size address peak_used current_used water
shell_handle 6144 0x2806b5b0- 0x2806cdb0 412 80 5732
IDLE 1536 0x200003dc- 0x200009dc 232 148 1304
Tmr Svc 3072 0x20000a44- 0x20001644 344 140 2728
tcp/ip 2048 0x2806e2d0- 0x2806ead0 200 200 1848
kmsgbk 4096 0x28071670- 0x28072670 168 168 3928
core_thread 2048 0x28072da0- 0x280735a0 200 200 1848
wpas_thread 5120 0x28073ad0- 0x28074ed0 240 240 4880
atsvr-handler 3072 0x28078640- 0x28079240 184 184 2888
event 2048 0x2806d788- 0x2806df88 292 216 1756
tempd 1536 0x28070ba8- 0x280711a8 900 328 636
ble 3072 0x280755a0- 0x280761a0 844 336 2228
cli 3072 0x28077898- 0x28078498 948 416 2124
syswq 1024 0x2806ecf0- 0x2806f0f0 176 176 848
thread_stack:37888, used:35056, the rest:2832
arm_mode_stack:0, used:0, the rest:0
total_stack_space:37888, used:35056, the rest:2832
备注
此命令需要开启CONFIG_FREERTOS下使用!
响应
CMDRSP:OK
CMDRSP:ERROR
reboot :执行重启
命令
reboot
参数
无
使用场景
输入:
reboot
输入这条命令,则执行板子重启流程
响应
CMDRSP:OK
CMDRSP:ERROR
tasklist :打印当前的task状态列表
命令
tasklist
参数
无
使用场景
输入:
tasklist
返回:
返回当前task状态
>>>>dump task list begin.
task state pri water no
shell_handle X 5 5804 23
IDLE R 0 1304 3
wpas_thread B 4 3168 11
Tmr Svc B 5 2728 4
tcp/ip B 7 1092 6
atsvr-handler B 3 2888 16
event B 1 1076 5
kmsgbk B 6 3372 9
ble B 7 2184 12
tempd B 5 636 8
core_thread B 7 1044 10
cli B 5 2124 15
syswq B 6 848 7
<<<<dump task list end.
备注
开启CONFIG_FREERTOS_SMP下,打印将增加一列”affinity”
响应
CMDRSP:OK
CMDRSP:ERROR
flash :执行对flash的相关操作
命令
flash {erase|read|write} [start_addr] [len]
参数
erase:擦除指定地址和长度的flash数据
read: 读取指定地址和长度的flash数据
write: 写入指定地址和长度的flash数据
start_addr:想要操作的flash起始地址
len:想要操作的数据长度
使用场景
输入:
flash read 0xa5a5a5a5 0x1000
输入这条命令,配置成功,则返回:
CMDRSP:OK
如果在输入这条命令后,命令不被识别,则返回:
CMDRSP:ERROR
备注
在CONFIG_FLASH和CONFIG_FLASH_TEST同时开启下生效
响应
CMDRSP:OK
CMDRSP:ERROR