pmon龙芯常用操作

原文出处:http://blog.sina.com.cn/s/blog_4d6d0dd201000bns.html   谢谢分享!!



pmon是一个兼有BIOS和bootloader部分功能的开放源码软件,多用于嵌入式系统。


与BIOS相比功能不足,与常见的bootloader 相比,功能要丰富的多。

基于龙芯的系统采用 pmon 作为类 BIOS 兼bootloader,并做了很多完善工作。

其有如下主要特点:
   
    * 支持ext2 fat32 ram文件系统
    *支持网络引导(tftp),磁盘引导,flash 引导
    *内建调试功能(强大,调试内核举重若轻)
    * USB 2.0 Mass Storage支持
    * 支持MIPS、ARM、PowerPC平台
    * BSD Licensed
    ...


以下结合实际,给出开发中常用的命令介绍

1. pmon 日常命令

    (1). load ---加载文件
     
      load[-options] pathname

      -o offset    将文件加载到内存 load_address+ offset 处
      -f addr       将文件加载到 flash 的地址 addr 处
      pathname    要加载的文件路径或URL

      其他选项 hload 查看


     例子:

     加载位于硬盘第一个分区的(pmon 只认第一个分区)内核:

         load/dev/fs/ext2@wd0/boot/vmlinux   #第一个分区是ext2文件系统

         load/dev/fs/msdos@wd0/boot/vmlinux #第一个分区是fat32文件系统(未测试)
   

     从远程tftp服务器上加载内核: (该功能在反复编译调试内核中很方便)

       load tftp://192.168.10.100/vmlinux  # 先要配置好网络


     其他格式:
        
      load/dev/fs/iso9660@cd0/boot/vmlinux
         load /dev/ram@address
         load/dev/ram@address,size
         load /dev/ram/logger

        这些在龙梦电脑上很少用到,不知有没有被支持(未测试)


       PS: 以上 wd0, cd0, ram 为pmon对设备的命名,可以用 devls 命令查看他发现并支持
          的所有设备, 龙梦电脑上常见的设备为:

            wd0 --------- 磁盘
            rtl0 --------- 网卡
            usb0 --------- usb 存储设备

            cd0 --------- 光盘
            ram --------- 内存

           
  (2). g ------ 执行程序

      g [-st][-b addr] [-e addr] [-- args...]   

      当 load完一个文件后, 通过 g 命令告诉 pmon 开始执行刚刚载人的文件


      例子:   

            # 从 epc寄存器指定的地址处开始执行

         g -e addr # 从内存地址 addr处开始执行

         g -e addr -b add2 #从内存地址 addr 处开始执行, 在addr2处设置一个临时断点
                   #在下一次执行挂起时删除该断点

         g console=tty root=/dev/hda1# 从 epc 寄存器指定的地址处开始执行, 并将参数
                          #console=tty root=/dev/hda1 传递给程序(内核)


  (3) devls ------- 显示设备

      devls[-a]

       例子:

         devls -a # 显示所有设备
 


    (4). ifaddr ------配置网卡

      ifaddrifname ipaddr[:ifparameters]

    其中 第二个字段可以为ipaddr:netmask:broadcast:gateway

       例子:

         ifaddr rtl0 192.168.10.99 #设置网卡 rtl0 的 IP 地址
        
         ifaddr rtl0192.168.10.99:255.255.255.0::192.168.10.2 # 设置网卡 IP地址和网关
   

    (5). ping

      ping192.168.10.188 # 测试网络是否配置好

     给几个您可能感兴趣的参数

      -f       flood ping. Send packages as fast aspossible
      -c n    send n packages andstop
      -s sz    size of packet expressed inbytes
      -i sec    wait sec seconds beforesending next packet


    (6). usb 相关命令

      usb help #列出所有 usb 命令

      usb stor #扫描所有 usb 存储设备

      usb info #显示所有可用的 usb 存储设备
     
      usb dev  # 显示当前所用之 usb 存储设备

      usb devusb0          # 设置当前所用之 usb存储设备为usb0

      usb read0x80000000 0x200 a # 从当前usb 存储设备中读取10个512Byte的块到内存0x80000000 处


  (7). h

     帮助命令

        # 显示所有命令
       h ping # 显示命令 ping 的帮助信息


  (8). reboot

     重启命令



[补充]

A. PMON 更新命令

load -r -f bfc00000 tftp://SERVER_IP/gzrom.bin

load -r -f bfc00000 /dev/fs/ext2@wd0/gzrom.bin

可以从系统更新PMON:

modprobe physmap    [装上mtd驱动以识别eeprom]

mknod /dev/mtd0 c 90 0    [创建mtd设备文件]

cp gzrom.bin /dev/mtd0    [写入]
sync

reboot


B. 从 USB 光驱加载 kernel:

  load iso9660/usb0/path/to/kernel


C. 从 U 盘或者移动硬盘加载 kernel:

  load /dev/fs/ext2@usb0/path/to/kernel

  注意:如果根文件系统位于 U盘或者移动硬盘的话,传给内核的参数应为:

    root=8:1 rootdelay=5

 

另:

设置 PMON 开始自动加载的内核:

  set al/dev/fs/ext2@wd0/vmlinux-2.6.14-longmeng2e

该命令会将用户设置的值保存,重启后亦有效。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值