1 pmon 进入命令行

进入到 pmon 命令行下我们是开机后通过按键盘上的 C 按键进去的,进到命令行以后,我们就可以使用 pmon 命令了,如下图所示:

<ignore_js_op>


2 查询命令

在 PMON 命令行下输 h,然后按下回车即可查看当前 PMON 都支持哪些命令,如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_寄存器


上图只是 PMON 命令的一部分,我们按回车即可翻页向下继续查看命令列表。可以看出,PMON 下支持的命令还是挺多的,而且我们也可以在 PMON 下自定义命令。

这个帮助命令具体我们要怎么使用呢?我们输入“h 命令名”即可查看命令的详细用法,以 load 这个命令为例,我们输入 h load 即可查看这个命令的详细用户,如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_环境变量_02


上图就详细列举了 load 命令的详细介绍。其他命令大家也可以使用此方法进行查询。因为 PMON 下命令非常多,而且可以通过查询命令进行查询,所有下面我们就一起来看一些常用的 PMON 命令。

3 显示设备信息

PMON 下使用命令 devls 可以列出 PMON 下的设备,如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_寄存器_03


通过上图可以看出,当前 PMON 下的设备有网卡和磁盘,其中 syn0 和 syn1 为网卡设备名,其余的为磁

盘设备名,如 usb0 和 usb1 就代表开发板现在插了俩个 U 盘,并成功识别。

4 设置与查询环境变量

PMON 下的环境变量也是可以设置的,设置 PMON 的环境变量我们是使用的 set 命令。我们来看设置与查询环境变量的命令格式:

设置环境变量:

set A B //将环境变量 A 的值设置为 B

查询环境变量:

set A //查询环境变量 A 的值

举例:

设置环境 bootdelay 启动延迟为 5s 秒,并查询是否设置成功,如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_龙芯自主指令架构_04


5 删除环境变量

删除环境变量使用的命令为 unset,命令格式如下:

unset A //删除环境变量 A

6 查询分区信息

查询分区信息我们使用的命令为 fdisk,命令格式如下:

fdisk 设备名

举例,查询 usb0(U 盘)的分区信息,如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_命令行_05


可以看出,usb0 只有一个分区,类型为 FAT32。

7 写寄存器命令

PMON 下可以直接对 CPU 的寄存器进行写操作,命令为 m1,m2,m4,m8,分别对应:写 1 个字节,按照 unsigned char 访问修改,写 2 个字节,按照 unsigned short 访问修改,写 4 个字节,按照 unsigned long访问修改,写 8 个字节,按照 unsigned long long 访问修改。

举例:在 PMON 命令行下点亮 LED4.命令如下:

m4 0xbfe10500 0xFFDFFFF0 //把 GPIO1 设置为输出

m4 0xbfe10510 0x0020000E //置 1

m4 0xbfe10510 0x0020000C //置 0

如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_环境变量_06


8 读寄存器命令

PMON 下可以直接对 CPU 的寄存器进行读操作,命令为 d1,d2,d4,d8,分别对应:读 1 个字节,按照 unsigned char 访问显示。读 2 个字节,按照 unsigned short 访问显示,读 4 个字节,按照 unsigned long,读 8 个字节,按照 unsigned long long 访问显示。d 是 display 的简写。

举例:在 PMON 命令行下读取寄存器 0xbfe10500 的值.命令如下:

d4 0xbfe10500

如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_环境变量_07


9 拷贝命令

PMON 下拷贝命令为 devcp,命令格式:

devcp A B //将文件 A 拷贝到位置 B

举例,将 U 盘下的内核文件 vmlinuz 拷贝到分区/dev/sdb1,命令如下:

devcp /dev/fs/fat@usb0/vmlinuxz /dev/sdb1

如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_环境变量_08


10 设置时间命令

PMON 下可以通过 date 命令来查询系统时间,命令格式:

set date yyyymmddhhmm.ss //设置时间为 yyyymmddhhmm.ss

date //查询系统时间

举例:设置时间为 2021-9-01 08:00:00,并查询是否设置成功,命令如下

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_环境变量_09


11 设置内核加载位置

PMON 下可以通过设置 al1 来设置自动加载内核镜像的位置,命令格式:

set al1 内核镜像位置

举例,设置内核自动加载的位置为/dev/sdb1,命令如下:

set al1 /dev/sdb1

如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_寄存器_10


12 设置自启动参数

PMON 下可以通过设置 append 来设置自启动参数,命令格式:

set append “自启动参数” 举例:设置调试串口为 ttyS0,波特率为 115200,命令如下:

set append "cnotallow=ttyS0,115200" 如下图所示:

<ignore_js_op>

龙芯自主指令架构 龙芯 指令_寄存器_11