RT-Thread内置命令

在RT-Thread中默认内置了一些finsh命令,在finsh中按下TAB键可以打印则会当前系统支持所有符号,也可以输入list()回车,二者效果相同。

finsh(c-style)

注意:在finsh(c-style)中使用命令(即C语言中的函数),必须类似C语言中的函数调用方式,即必须携带"()"符号。finsh shell的输出为此函数的返回值,对于那些不存在返回值的函数,这个打印输出没有意义。要查看命令行信息必须定义对应相应的宏。

  1. finsh>>list()

显示当前系统中存在的命令及变量,执行结果如下:

  1. --Function List:
  2. list_mem -- list memory usage information
  3. hello -- say hello world
  4. version -- show RT-Thread version information
  5. list_thread -- list thread
  6. list_sem -- list semaphone in system
  7. list_event -- list event in system
  8. list_mutex -- list mutex in system
  9. list_mailbox -- list mail box in system
  10. list_magqueue -- list messgae queue in system
  11. list_mempool -- list memory pool in system
  12. list_timer -- list timer in system
  13. list_device -- list device in system
  14. list -- list all symbol in system
  15. --Variable List:
  16. dummy -- dummy variable for finsh
  17. 0, 0x00000000
  18.  
  19. finsh>>list_thread()
  20.  
  21. thread pri status sp stack size max used left tick error
  22. ------- ----- ------- ----------- ------------ ------------ ------------ ----
  23. tidle 0x1f ready 0x00000058 0x00000100 0x00000058 0x0000000b 000
  24. shell 0x14 ready 0x00000080 0x00000800 0x000001b0 0x00000006 000

显示当前系统中线程状态:


  1. 字段 描述

  1. thread 线程的名称;
  2.  
  3. pri 线程的优先级;
  4.  
  5. status 线程当前的状态:
  6.  
  7. sp 线程当前的栈位置;

stack size 线程的栈大小;

  1. max used 线程历史中使用的最大栈位置;
  2.  
  3. left tick 线程剩余的运行节拍数;
  4.  
  5. error 线程的错误号;

  1. finsh>>list_sem()
  2.  
  3. semaphore v suspend thread
  4. --------- --- ----------------

显示系统中信号量状态:


  1. 字段 描述

  1. semaphore 信号量的名称;
  2.  
  3. v 信号量当前的值;