Edit online

MSH 命令行工具

在 Linux 系统中,MSH(Micro Shell)是一种轻量级的 shell 环境。MSH 命令提供了一套供用户在命令行调用的操作接口,主要用于调试或查看系统信息。以下是 ArtInChip SDK 编译过程中常见的 MSH 终端命令及其说明。

pin

在 MSH 终端使用 pin 命令,设置引脚相关功能,用于调试功能。

语法
pin options
参数
num
从硬件中获取 GPIO ID 编号。
可选编号包括 PE02, PE2, PE.02, PE.2, pe02, pe2, pe.02, pe.2。
pin num PA.16
mode
设置 GPIO 工作模式。
可选模式包括 output/ input/ input_pullup/ input_pulldown/ output_od。
pin mode PA.16 output
read
读取 GPIO 引脚电平状态:
pin read PA.16
write
写入 GPIO 引脚电平状态。
可配置为 high/ low 或 on/ off。
pin write PA.16 high
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);
```