海思平台Uboot 调试命令介绍

前言

其实标准uboot都是这一套命令体系,开源的嘛

一. 常用命令

       1.1. help命令

    a. 帮助查看其他命令的使用方法,类型linux下man 

    b. 示例: help help

  1.2. printenv命令

    a. printenv命令可以简化为print

    b. print命令不用带参数,作用是打印出系统中所有的环境变量。

  1.3. setenv命令

    1.3.1. setenv可以简化为set

    1.3.2. 设置环境变量

      a. 新建,使用set var value

      b. 更改,使用set var value
      c. 删除,使用set var

      1.4. saveenv命令

    a. saveenv命令可以简化为save

    b. saveenv/save命令不带参数,直接执行,作用是将内存中的环境变量的值同步保存到Flash中环境变量的分区

    c. 彻底更改一个环境变量的值,需要2步:第一步set命令来更改内存中的环境变量,第二步用save命令将其同步到

                  Flash中环境变量的分区

二. 与网络相关命令

    2.1. ping命令

    a. ping是测试开发板和主机之间的网络链接

    b. 命令用法: ping ip地址

  2.2. tftp命令

    a. tftp 命令用于从服务器下载内容到客户端

    b. 示例:tftp 0x30000000 Image :将服务器上名为Image的文件下载到开发板内存的0x30000000地址处

三. Nand/EMMC操作指令

       3.1  NAND操作

             nand

           例:

             nand erase 0x0 0x100000
             nand write 0x44000000 0x0 0x100000
 

       3.2 EMMC操作              

            mmc            

             例:

                mmc write.ext4sp 0 0x42000000 0x5000 0x30000

四. 内存操作指令

  4.1. DDR内存中是没有分区的(只听说过对硬盘、Flash进行分区,没听说过对内存进行分区····),但是内存使用时要注意,千万不能越界

  4.2. md(memory display)命令 

    4.2.1. 用来显示内存中的内容。 

    4.2.2. help md

      a. .b表示也字节形式查看;.w表示也半字形式查看;.l表示也字形式查看;# of object表示查看长度

      b. 示例: md.b 0x30000000 10

  4.3. mw(memory write)命令

    4.3.1. 将内容写到内存中

    4.3.2. help mw

                   例: mw.b 0x42000000 0xff 0x100000

  4.4. mm(memory modify)

    4.4.1. 修改内存中的某一块,说白了还是写内存(如果需要批量的逐个单元的修改内存,用mm最合适)

    4.4.2. help mm

五. 启动内核命令

  5.1. bootm命令

    a. bootm启动内核同时给内核传参,bootm专门用于启动内核的

    b. help bootm分析

  5.2. go命令

    a. 此命令虽然可以启动内核但并不是专门用于启动内核

    b. help go分析

     我一般就直接boot命令启动了

六. 示例

6.1   NAND

烧写uboot

mw.b 0x44000000 0xff 0x100000
tftp 0x44000000 u-boot-hi3559av100.bin
nand erase 0x0 0x100000
nand write 0x44000000 0x0 0x100000

烧写kernel

mw.b 0x44000000 0xff 0x900000
tftp 0x44000000 uImage_hi3559av100_multi-core
nand erase 0x100000 0x900000
nand write 0x44000000 0x100000 0x900000

烧写rootfs

mw.b 0x44000000 0xff 0x1000000
tftp 0x44000000 rootfs_hi3559av100_2k_24bit.yaffs2
nand erase 0xA00000 0x1000000
nand write.yaffs 0x44000000 0xA00000 0xcfeb00
 

6.2  EMMC

烧写uboot

mw.b 0x42000000 0xff 0x100000;

tftp 0x42000000 u-boot-hi3559av100.bin;

mmc write 0 0x42000000 0x0 0x800

烧写kernel

mw.b 0x42000000 0xff 0x900000;

tftp 0x42000000 uImage_hi3559av100_multi-core;

mmc write 0 0x42000000 0x800 0x4800

烧写rootfs

mw.b 0x42000000 0xff 0x6000000;

tftp 0x42000000 rootfs_hi3559av100_96M.ext4;

mmc write.ext4sp 0 0x42000000 0x5000 0x30000

猜你喜欢

转载自blog.csdn.net/jzwjzw19900922/article/details/104895640