LIteOS----shell应用(1)系统shell
0、前沿:
很多时候我们在调试应用程式时都无法设置过多断点或是无法观测程序真正的流程动向,哪些语句有没有执行,还有就是手动开启某个自己写的应用的等等,这时候就需要shell命令行的操作,他可以以命令行的方式访问操作系统的功能和服务,接收用户的输入命令,对操作系统的输出进行打印。
1、Huawei Liteos 的shell
Shell作为Huawei Liteos在线调试工具,可以通过串口工具输入输出,支持常用的基本调试功能。同时用户可以新增定制的命令,新增命令需重新编译烧录后才能执行
2、shell功能打开方法
可以通过make menuconfig配置Shell,菜单路径为:Debug ---> Enable a Debug Version ---> Enable Shell。
配置项 | 含义 | 取值范围 | 默认值 | 依赖 |
---|---|---|---|---|
LOSCFG_SHELL | Shell功能的裁剪开关 | YES/NO | YES | LOSCFG_DEBUG_VERSION=y && LOSCFG_DRIVERS_UART=y |
LOSCFG_SHELL_CONSOLE(开源版本无该配置项) | 设置Shell直接与Console交互 | YES/NO | YES | LOSCFG_SHELL=y |
LOSCFG_SHELL_UART | 设置Shell直接与uart驱动交互 | YES/NO | NO | LOSCFG_DRIVERS_UART=y |
3、LiteOS 内设Shell命令
烧录新系统镜像后,重启系统,如果已经打开shell功能,既可以从串口中使用系统自带的Shell功能了。
-
help、date、uname、task、free、memcheck、memused、hwi、queue、sem、mutex、dlock、swtmr、systeminfo、stack、cpup、watch等
通过这些命令我就可以完成对系统的一些基本操作,比如查询任务执行的情况,内存的分配情况及各种命令的帮助功能。
例如:help命令,在命令行输入help
系统谁输出当前的所有shell命令:
Huawei LiteOS # help
*******************shell commands:*************************
cpup date dlock dmesg free help hwi
log memcheck mutex queue sem stack swtmr
systeminfo task uname watch
task命令用于查询系统任务信息
当输入 task [ID]时,可以查询到ID为ID的任务信息
比如输入task 0x01时,系统会打印出:
Huawei LiteOS # task 0x01
TaskName = SerialEntryTask
TaskId = 0x01
*******backtrace begin*******
traceback 0 -- lr = 0x1d804 fp = 0xa86bc
traceback 1 -- lr = 0x1da40 fp = 0xa86e4
traceback 2 -- lr = 0x20154 fp = 0xa86fc
traceback 3 -- lr = 0x258e4 fp = 0xa8714
traceback 4 -- lr = 0x242f4 fp = 0xa872c
traceback 5 -- lr = 0x123e4 fp = 0xa8754
traceback 6 -- lr = 0x2a9d8 fp = 0xb0b0b0b
大家可以尝试,自己发现这些系统功能的的作用是什么,也在其实发现更好地应用。
- 点赞
- 收藏
- 关注作者
评论(0)