MSH 命令行工具
在 Linux 系统中,MSH(Micro Shell)是一种轻量级的 shell 环境。MSH 命令提供了一套供用户在命令行调用的操作接口,主要用于调试或查看系统信息。以下是 ArtInChip SDK 编译过程中常见的 MSH 终端命令及其说明。
pin
在 MSH 终端使用 pin 命令,设置引脚相关功能,用于调试功能。
语法
pin options
参数
- num
- 从硬件中获取 GPIO ID 编号。
- mode
- 设置 GPIO 工作模式。
- read
- 读取 GPIO
引脚电平状态:
pin read PA.16
- write
- 写入 GPIO 引脚电平状态。
- help
- 获取命令帮助列表。
控制 GPIO
- 读寄存器。
p 调试命令,用于打印 (print) 某个变量、寄存器或内存地址的值。对于没有封装专有调试命令的功能,可使用 MSH 命令行下的 p 命令读写寄存器。
语法p parameter_name
示例:读取 0x18700000 内存地址的值:p 0x18700000
输出示例如下:18700000: 00000100 00000100 00000200 00000101 18700010: 00000000 00000000 00000000 00000000 18700020: 00000000 00000000 00000000 00000000 18700030: 00000000 00000000 00000000 00000000
-
写寄存器。
m 调试命令,用于修改或写入内存中的某个地址的值。对于没有封装专有调试命令的功能,可使用 MSH 命令行下的 m 命令读写寄存器。
语法m parameter_name new_value
示例:将地址0x18700004
处的值设置为0x101
m 0x18700000 0x101
输出示例如下:value on 18700004 change from 0x100 to 0x101.
自定义命令
用户可以自定义 MSH 命令,通过宏接口 MSH_CMD_EXPORT(name, desc) 导出函数作为命令在 MSH
模式下执行。例如,可以定义一个打印 “Hello RT-Thread!” 的命令
hello,并通过以下方式导出:
void hello(void) {
rt_kprintf("Hello RT-Thread!");
}
MSH_CMD_EXPORT(hello, say hello to RT-Thread);
```