u-boot下的指令操作

常用的信息查询命令

信息查询命令主要有3个,分别是bdinfo、printenv和version命令

=>bdinfo

该命令用来查询当前板子的相关信息可通过该命令可以查看板子的DRAM的大小以及DRAM的起始地址、当前使用的网络接口以及IP地址、波特率和

uboot偏移地址以及偏移量等相关信息。

=>printenv

该命令用于查询当前板子的一些相关环境变量。

=>version

该命令用于查询uboot版本和交叉编译工具的相关信息。

环境变量相关命令

环境变量常用的命令主要有两个,分别是setenv和saveenv,setenv命令用来设置或者修改当前环境变量的值,saveenv用来保存环境变量的值,一般环境变量是存放在外部的Flash中的,例如Nand、Flash中,当uboot启动的时候,会将环境变量读取的DRAM中,当我们使用setenv修改了环境变量的值后,需要使用saveenv命令将修改后的环境变量的值保存到Flash中,否则修改无效。

当前的bootdelay为3,我们要将bootdelay环境变量的值设置为5,可以使用下面的命令:

=>setenv bootdelay 5=> saveenv

需要注意的是,当我们修改环境变量有空格值的时候,例如bootcmd或者bootargs等,这个时候的环境变量值需要使用单引号括起来。

setenv可以用来删除环境变量,如下命令可以删除author环境变量:

=>setenv author
=>saveenv
=>printenv author

内存操作相关命令

内存操作的相关命令用于对DRAM内存进行读写操作,常用的内存操作命令有md、nm、mm、mw、cp、cmp。md命令用法中的[.b, .w, .l]对应着byte、word、long,分别以1个字节、2个字节、4个字节来进行内存值显示,address表示要查看的内存起始地址,[# of objects]表示要查看的数据长度,和显示的数据格式有关, 并且需要注意的是uboot命令中的数字都是十六进制的。

例如,当我们想要查看从地址0x8000000开始的20个字节的内存值,可以使用下面的命令显示:

=>md.b 80000000 14
//or
=>md.b 0x80000000 0x14

nm命令同样是使用[.b, .w, .l]来指定内存的操作格式,

例如,想要使用修改0x80000000地址的数据为0x77,可使用下面的命令:

=>nm.b 80000000
//or
=>nm.b 0x80000000

mm命令也是可以用来修改内存值,但是使用mm命令修改内存值的时候,地址值将会自增,使用nm命令时,地址值将不会自增。

例如,使用.b格式修改0x80000000开始的连续4个字节数据为0x12345678,使用命令如下:

=>mm.b 80000000

修改的过程中,地址会自增

mw命令用来使用一个指定的数据填充一段内存,该命令同样使用[.b, .w, .l]来指定操作格式,address表示要填充的内存起始地址,value表示要填充的数据,count是要填充的长度。

例如,使用.b格式将以0x80000000为起始地址的0x14个内存块填充为0x33,命令如下:

=>mw.b 80000000 33 14

cp命令是数据拷贝命令,用于将DRAM中的数据从一段内存中拷贝到另一段内存中该命令同样使用[.b, .w, .l]来指定操作格式,source表示为内存源地址,target表示为目标地址,count为拷贝的长度。

例如,使用.b格式将0x80000000开始地址处的0x14个字节拷贝到0x80000100地址处,命令如下所示:

=>cp.b 80000000 80000100 14
//or
=>cp.b 0x80000000 0x80000100 14

cmp命令用于比较两段内存的数据是否相等,该命令同样使用[.b, .w, .l]来指定操作格式,addr1为第一段内存首地址,addr2为第二段内存首地址,count表示要比较的长度。

例如,使用.b格式来比较0x80000000和0x80000100两个地址的数据是否相等,比较的长度为0x14个字节,命令如下:

=>cmp.b 80000000 80000100 14

emmc相关操作命令

对于uboot来说是支持emmc或者sd卡,因此也需要提供给用户emmc和sd卡的相关操作命令,uboot中常用于操作mmc设备的命令为"mmc",mmc是一系列的命令,它的后面可以跟不同的参数。

=>mmc info                    //输出mmc设备的信息
=>mmc read                    //读取mmc设备中的数据
=>mmc write                   //向mmc设备中写入数据
=>mmc rescan                  //扫描当前存在的mmc设备
=>mmc part                    //列出mmc设备的分区
=>mmc dev                     //切换mmc设备
=>mmc list                    //列出当前的mmc设备
=>mmc hwpartition             //设置mmc设备的分区
=>mmc bootbus                 //设置指定mmc设备的BOOT_BUS_WIDTH的值
=>mmc bootpart                //设置指定mmc设备的boot和RPMB分区大小
=>mmc partconf                //设置指定mmc设备的PARTITION_CONFIG的值
=>mmc rst mmc                 //设备复位
=>mmc setdsr                  //设置mmc设备DSR寄存器的值

mmc info命令用来显示当前选中的mmc设备的信息,直接输入下面的命令即可:

=>mmc info

mmc rescan命令用于扫描当前目标板上所有的mmc设备,包括eMMC和SD卡,命令输入如下:

=>mmc rescan

mmc list命令可用于查看当前目标板共有多少个mmc设备,输入命令如下:

=>mmc list

mmc dev命令可以用来切换当前的mmc设备,命令格式如下:

=>mmc dev  [dev]  [part]

其中[dev]表示要切换的mmc设备号,[part]是mmc设备的分区号,如果不写分区号,则默认为分区0。

例如,使用命令切换到eMMC设备:

#当0为SD卡,1为eMMC时
=>mmc dev 1

mmc part命令可以用来查看当前mmc设备的分区,例如查看当前sd卡中的分区:

=>mmc dev 0
=>mmc part

mmc read命令可用于读取mmc设备的数据,它的使用格式如下所示:

=>mmc read addr blk# cnt

其中addr是将数据读取到DRAM中的地址,blk是要读取的块起始地址,一块为512字节,cnt则是要读取的块的数量。

例如,从当前的SD卡设备的第2048块开始,读取20个块数据到DRAM的0x80000100地址处,该命令如下:

=>mmc list=> mmc dev 0
=>mmc read 80000100 800 14

mmc write命令可以将DRAM中的数据写入到mmc设备里面,其命令的格式如下所示:

=>mmc write addr blk# cnt

其中addr是要写入到mmc设备中的数据在DRAM中的起始地址,blk是要写入mmc的块起始地址,cnt是要写入的块数量,一个块的大小为512字节。

例如,将DRAM地址0x80000100开始的数据,从mmc设备的2048个块开始烧写,烧写20个块,命令如下:

=>mmc list
=>mmc part
=>mmc write 80000100 2048 14

mmc erase可以用来擦除mmc设备中指定的块,其使用命令格式如下:

=>mmc erase blk# cnt

其中blk是要擦除的起始块,cnt是要擦除的块数量。

例如,可以使用下面的命令擦除mmc设备从2048个块开始的20个块:

=>mmc list
=>mmc part
=>mmc erase 800 14

USB设备相关操作命令

=>help usb                        //查看uboot支持的usb命令
=>usb start                       //(U盘插入)USB接口挂载U盘设备
=>usb reset                       //重置(挂载)U盘设备
=>usb dev                         //查看检测到的USB设备
=>usb info                        //列出板子上USB主接口的属性
=>usb storage                     //列出U盘的设备信息
=>usb tree                        //列出Device Tree
=>usb part                        //列出U盘设备的分区信息
=>usb stop                        //停止设备(挂载)

uboot模式下,操作U盘中的文件需要借助FAT文件系统,不管是U盘或MMC,或其他存储设备,都可以用FAT文件系统统一操作。

(执行 help 中可以看到有3个fat命令:fatls、 fatinfo、 fatload)

=>fatinfo usb 0                     //查看U盘的信息
=>fatls usb 0                       //列出U盘上的文件系统目录结构(目录/文件)
=>fatload usb 0 x2000000 uboot.bin  //将U盘上的uboot.bin文件读到x2000000 的地址处

FAT格式文件系统相关操作命令

当我们需要在uboot中对SD卡或者eMMC设备中存储的文件进行操作时,这个时候就需要用到uboot中文件系统的操作命令,对于FAT格式的文件系统操作相关的命令有fatinfo、fatls、fstype、fatload、fatwrite等。

fatinfo命令用来查询mmc设备中指定分区的文件系统信息,

=>fatinfo <interface> [<dev[:part]>]

用法中, 表示要查看的接口,例如mmc,[]中的dev表示要查询的设备号,part则表示要查询的分区。

例如,当前我的目标板有个sd卡设备,查看sd卡中分区1的文件系统信息,可以使用下面的命令:

=>mmc list
=>mmc part
=>fatinfo mmc 0:1

fatls命令可以用于查询FAT格式文件系统的目录和文件信息

=>fatls <interface> [<dev[:part]>]

用法中,表示要查询的接口,[]中dev表示要查询的设备号,part表示要查询分区,[directory]表示要查询的目录,如果该参数不输入的话,默认为根目录。

例如,查询我当前sd卡中分区1中的目录和文件,可以输入下面命令:

=>fatls mmc 0:1

当我们再想查看img/目录下的目录或者文件时,可以使用下面的命令:

=>fatls mmc 0:1 img/

fstype命令可以用于查看mmc设备中某个分区的文件系统格式

=>fstype <interface> <dev>:<part>

fstype命令具有两个用法,第一个用来查看mmc设备分区中的文件系统类型,第二个则是用来设置文件系统类型的环境变量,对于第一个命令用法,表示接口,例如mmc,:中dev则表示要查询的设备号,part则是设备的分区。

例如,查看我当前目标板中sd设备的第一个分区的文件系统类型,可以使用下面命令:

=>fstype mmc 0:1

fatload命令用来将指定的文件读取到DRAM内存中

=>fatload <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]

用法中,表示设备接口,例如mmc,[中的dev表示设备号,part表示mmc设备的分区,则是文件读取到DRAM中的起始地址,则是要读取的文件的名字,bytes表示要读取多少字节的数据,如果该值为0或者未使用,则表示将要读取整个文件,pos表示要读的文件相对于文件首地址的偏移,如果为0或者未使用,则表示从文件首地址开始读取。

例如,在我当前的目标帮中,将sd卡中第一个分区中的img/u-boot-imx6ul14x14evk_nand.imx文件读取到DRAM中0x80000100起始地址中,可以使用下面的命令:

=>fatls mmc 0:1 img/
=>fatload mmc 0:1 80000100 img/u-boot-imx6ul14x14evk_nand.imx

fatwrite命令需要注意的是,当在uboot的板级配置文件中定义了#define CONFIG_CMD_FAT宏,fatinfo、fatls、fatload命令才会出现在uboot命令中,而fatwrite命令则需要定义#define CONFIG_FAT_WRITE宏才会出现,因此,如果想要在uboot中使用fatwrite命令,则需要定义宏CONFIG_FAT_WRITE。

fatwrite命令可以用于将DRAM中的数据写入到mmc设备中去,该命令的使用格式如下:

=>fatwrite <interface> <dev[:part]> <addr> <filename> <bytes>

命令格式中,表示为接口,例如mmc,中dev表示为设备号,part表示为mmc设备的分区,则为要写入的数据在DRAM中的起始地址,表示写入的数据文件的名字,表示要写入的字节数。

例如,在我的目标板系统中从DRAM地址0x80000100开始写20个字节,在sd卡设备的分区1中生成test.bin文件,可以使用下面命令:(在Linux嵌入式调试中,可以使用该命令进行uboot或者zImage文件的更新)

=>mmc list=> fatls mmc 0:1
=>fatwrite mmc 0:1 80000100 test.bin 14
=>fatls mmc 0:1

EXT格式文件系统相关操作命令

uboot中除了有FAT格式文件系统的相关操作命令外,还有EXT格式文件系统的相关操作命令,这些命令和实现的功能如下所示:

=>ext2load              //从Ext2文件系统中加载二进制文件到DRAM中
=>ext2ls                //列举目录中的文件
=>ext4load              //从Ext4文件系统中加载二进制文件到DRAM中
=>ext4ls                //列举目录中的文件
=>ext4size              //修改文件大小
=>ext4write             //在root目录下新创建文件

以上命令的使用方式和FAT格式文件系统相关命令的使用方式相同。

例如,当前我目标板上的sd卡设备中的分区2是ext2文件系统,可以使用下面命令查询分区2中的目录和文件:

=>mmc list
=>mmc part
=>ext2ls mmc 0:2

Nand Flash相关操作命令

uboot中除了有emmc子系统外,还具有nand子系统。在uboot中输入下面的命令可以查看nand子系统所支持的所有命令:

=>? nand

nand info 命令可以用来打印目标板上Nand Flash的相关信息:

=>nand info

nand device命令能用于显示Nand Flash的信息,也能用于切换目标板上的Nand Flash,如果目标板支持多块Nand Flash的话,可以使用该命令进行切换。

nand erase 命令可以用于擦除Nand Flash,在对Nand Flash中写入数据之前,必须要先对写的区域进行擦除, 然后才能保证数据能写入进擦除的区域内,nand erase命令的形式有3种,如下:

第一种形式如下:

=>nand erase[.spread][clean] off size       //off表示Nand Flash的偏移地址,也就是要擦除区域的起始地址,size表示要擦除的区域大小。

例如,可以使用下面的命令将Nand Flash存储Linux内核镜像zImage的区域进行擦除:

=>nand erase 0x400000 0x1000000

第二种形式如下:

=>nand erase.part [clean]        //part表示擦除指定的区域。

第三种形式如下:

=>nand erase.chip [clean]   //该形式将会将整个Nand Flash进行擦除,nand erase命令一般是配合nand write命令使用。

nand read命令可以用于从Nand Flash中指定的地址读取指定大小的数据到DRAM中,该命令的使用格式如下:

=>nand read - addr off|partition size

命令使用格式中,addr表示DRAM的地址,off表示要读取的Nand Flash的区域的起始地址,size表示要读取的数据大小。

例如,可以使用下面的命令读取Linux内核镜像zImage文件到DRAM的0x80800000地址处:

=>nand read 0x80800000 0x400000 0x1000000

nand write命令可以用于向Nand Flash中指定的地址写入指定大小的数据,一般和nand erase命令结合使用,还可以用来更新Nand Flash中的boot、kernel和dtb等文件,该命令的使用格式如下:

=>nand write [addr][off]  [partition][size]

和nand read命令类似,addr表示要写入的数据的开始地址,off表示Nand Flash中写入的起始地址,size表示要写入的数据大小。

例如,使用该命令并结合fatload命令进行Linux内核镜像zImage和dtb文件更新,将我们需要更新的文件放入到SD卡中,使用fatload命令将需要更新的zImage和dtb写入到DRAM中,然后使用nand write命令更新到Nand Flash中,如下:

将需要更新的zImage镜像文件读入到DRAM中:

=>fatload mmc 0:1 0x80800000 img/zImage 

擦除Nand Flash中存储zImage的区域,并将DRAM中的zImage更新到Nand Flash中:

=>nand erase 0x400000 0x1000000
=>nand write 0x80800000 0x400000 0x1000000

将需要更新的dtb设备树文件读入到DRAM中:

=>fatload mmc 0:1 0x83000000 img/imx6ul-14x14-evk.dtb

擦除Nand Flash中存储dtb设备树的区域,并将DRAM中的dtb文件更新到Nand Flash中:

=>nand erase 0x1400000 0x80000
=>nand write 0x83000000 0x1400000 0x80000

还可以使用bootz命令启动Linux内核,使用下面命令即可:

=>bootz 0x80800000 - 0x83000000

i2c操作

在uboot环境下直接输入i2c可获取i2c命令帮助

=> i2c
i2c - I2C sub-system

Usage:
i2c bus [muxtype:muxaddr:muxchannel] - show I2C bus info
crc32 chip address[.0, .1, .2] count - compute CRC32 checksum
i2c dev [dev] - show or set current I2C bus
i2c loop chip address[.0, .1, .2] [# of objects] - looping read of device
i2c md chip address[.0, .1, .2] [# of objects] - read from I2C device
i2c mm chip address[.0, .1, .2] - write to I2C device (auto-incrementing)
i2c mw chip address[.0, .1, .2] value [count] - write to I2C device (fill)
i2c nm chip address[.0, .1, .2] - write to I2C device (constant address)
i2c probe [address] - test for and show device(s) on the I2C bus
i2c read chip address[.0, .1, .2] length memaddress - read to memory
i2c write memaddress chip address[.0, .1, .2] length [-s] - write memory
          to I2C; the -s option selects bulk write in a single transaction
i2c reset - re-init the I2C Controller
i2c speed [speed] - show or set I2C bus speed


在i2c子系统中,i2c bus可以查看系统中有几路i2c总线。

=> i2c bus
Bus 0:  fsl_0
Bus 1:  fsl_1
Bus 2:  fsl_2
Bus 3:  fsl_3


i2c dev可以查看现在操作的是哪个bus,i2c dev [dev]可切换所操作的i2c总线。

=> i2c dev
Current bus is 0
=> i2c dev 1
Setting bus to 1
=> i2c dev
Current bus is 1


i2c probe可以检测出当前bus上有多少个设备,且slaveID是多少。

=> i2c probe
Valid chip addresses: 32 4C 54 5C 6A


i2c md mm mw nm命令分别为向i2c读写命令,命令格式类似内存操作,详见本问uboot常用命令中内存操作小结,例如:向slaveID为0x32的设备写入三个值分别为0,1,2

=> i2c mw 0x32 0 0
=> i2c mw 0x32 1 1
=> i2c mw 0x32 2 2

以上命令每次只能写一个值,使用下面的命令可连续填充

=> i2c mw 0x32 0 2 8


执行后可以看到从00-07的8个值都被写为02。

另外,我们还可以将值写入内存中,使用i2c write命令将内存中的值写入i2c设备中。首先在内存0x10000000处写入三个值0,1,2

mw.b 10000000 00
mw.b 10000000 01
mw.b 10000000 02
=> md.b 10000000   
10000000: 00 01 02 ef de ad be ef de ad be ef de ad be ef    ................


接下来使用i2c write命令将内存中10000000处的值写入i2c设备0x32中。

=> i2c write 10000000 0x32 0 3


i2c read可将内容读到内存中,然后使用md命令查看

=> i2c read 0x4C 0 3 10000000
=> i2c md 0x4C 0
0000: 19 13 19 19 19 19 19 19 19 19 19 19 19 19 19 19    ................
=> md.b 10000000
10000000: 19 13 19 ef de ad be ef de ad be ef de ad be ef    ................


eeprom操作

在u-boot环境输入eeprom即可获得eeprom命令帮助

=> eeprom
eeprom - EEPROM sub-system

Usage:
eeprom read  <bus> <devaddr> addr off cnt
eeprom write <bus> <devaddr> addr off cnt
       - read/write `cnt' bytes from `devaddr` EEPROM at offset `off'


eeprom只有读写命令,devaddr表示eeprom的地址,也就是0x4C,而后一个参数addr则是表示将read的数据存在这个地址中,off表示偏移量,cnt表示读取多少个字节的数据。

=> eeprom read 0x4C 10000000 0 8

EEPROM @0x4C read: addr 10000000  off 0000  count 8 ... done
=> md.b 10000000
10000000: 19 13 19 19 19 19 19 19 de ad be ef de ad be ef    ................


SPI Flash操作

检测系统中存在哪些spi 设备

=> sf probe


从Flash中读取数据

=> sf probe
SF: Detected w25q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
=> sf read 0x10000000 0 5
device 0 offset 0x0, size 0x5
SF: 5 bytes @ 0x0 Read: OK
=> md.b 10000000 
10000000: aa 55 aa 55 01 ad be ef de ad be ef de ad be ef    .U.U............


擦除Flash中的数据

=> sf erase 0 10


向Flash写入数据(将内存0x10000000处的10字节数据写入Flash0x00处)

=> sf write 0x10000000 0 10


注:每次向Flash写入数据时,都要先进行擦除动作。操作flash之前需要先执行sf probe命令。

通过CRT串口向uboot发送文件

在uboot环境下向uboot传输文件可通过网口,内存卡,usb等,也可通过串口传输,下面将介绍使用Xmodem协议向uboot传输文件。

=> loadx $loadaddr


输入以上命令uboot会等待用户传输文件。

然后点击CRT串口上方传输按钮选择发送Xmodem

然后选择将要传输的文件即可开始传输

BOOT启动相关操作命令

我们都知道uboot最主要的工作就是引导启动Linux系统,因此uboot中肯定是有相关的boot启动命令的,和boot启动常用相关的命令有boot、bootm和bootz,接下来,我们了解一下这些命令的使用boot命令是用来启动Linux系统的,可以看到到,该命令将会运行bootcmd,也就是boot命令将会读取bootcmd这个环境变量, 并运行这个环境变量中的命令,来看一下当前我目标板中的bootcmd环境变量内容,使用下面命令查看:

=>print bootcmd

环境变量就是定义了一些启动引导的命令集合,先使用nand read命令从Nand Flash中读取kernel和dtb在DRAM内存地址中,然后使用bootz命令启动Linux系统。

bootm命令用于启动uImage镜像:

=>bootm [addr [args]]

其中addr就是uImage镜像文件在DRAM的起始地址,另外它还有一些参数,如果要使用dtb或initrd的话,则就是在后面添加对应的DRAM地址。

bootz命令也是用来启动Linux系统,只不过启动的是Linux zImage镜像文件:

=>bootz [addr [initrd[:size]][fat]]

命令中的addr是DRAM内存Linux镜像文件的起始地址,initrd是initrd文件在DRAM中的地址,fdt是设备树在DRAM中的地址,如果没有使用到initrd文件的话,则使用'-'进行替代,对于Linux镜像和设备树文件,我们可以通过读取eMMC或Nand Flash到DRAM中,当然,如果在网络接口可以使用的情况下,也可以使用NFS或TFTP服务将镜像下载到DRAM中, 启动的原理是一样的。

例如,当Nand Flash中存储着我们需要启动的Linux系统镜像和设备树文件的话,可以使用下面命令进行启动:

先读取Linux zImage镜像到DRAM的0x80800000处:

=>nand read 0x80800000 0x400000 0x1000000

然后读取设备树文件到DRAM的0x83000000处:

=>nand read 0x83000000 0x1400000 0x80000

使用bootz启动引导Linux系统:

=>bootz 0x80800000-0x83000000

其它常用uboot命令

除了上面提及到的一些常用命令以外,uboot中还有一些另外常用的命令,例如reset、go、run和mtest等,接下来看看这些命令的使用。

reset命令能用来复位CPU:

=>reset

go命令能用于跳转到指定的内存地址处执行应用程序

=>go addr [args]

命令用法中的addr就是内存的地址,将应用程序下载到该内存地址后,用go跳转到该地址处,将会执行该应用程序。

例如,编写一个简单的GPIO电平控制汇编程序gpioctrl.S编译产生gpioctrl.bin文件后,将.bin文件拷贝到SDCard中,在uboot中使用fatload命令加载到内存0x87800000地址处,并使用go命令执行程序:

=>fatload mmc 0:1 0x87800000 gpioctrl.bin
=> go 0x87800000

程序运行后,对应的GPIO电平将得到控制。

run命令能用来运行环境变量中定义的命令

例如通过run bootcmd来运行bootcmd中定义的启动命令,能将Linux系统进行启动,

该命令能运行我们自己定义的环境变量,用法如下

=>run var [... ]

用法中的var就是定义好的环境变量。

接下来,举例说明该命令如何使用,例如,当前目标板是Nand Flash启动的,我们想要通过SDCard去更新Nand Flash中存储的kernel和dtb,该怎么操作呢?可以将需要更新的固件保存到SDCard里面,然后通过fatload命令将需要更新的固件读入到DRAM里面,再通过nand write命令更新到NandFlash里面,命令非常多,我们可以将这些使用到的命令定义为一个环境变量,然后在uboot中run var即可,在调试Linux系统的时候将会非常方便,接下来,看看怎么操作。

在uboot中使用下面命令,创建updatecmd环境变量并将环境变量进行保存:

=>setenv updatecmd 'fatload mmc 0:1 0x80800000 zImage;nand erase 0x400000 0x1000000;nand write 0x80800000 0x400000 0x1000000;fatload mmc 0:1 0x83000000 imx6ul-14x14-evk.dtb;nand erase 0x1400000 0x80000;nand write 0x83000000 0x1400000 0x80000'
=>saveenv

使用print命令查看updatecmd环境变量是否创建成功:

=>print updatecmd

接下来,将保存了需要更新固件的SDCard接入到目标板中,并使用run命令进行固件更新:

=>run updatecmd

命令运行后,固件更新成功(使用该命令能很方便地在uboot中完成了kernel和dtb固件的更新)。

mtest命令能用于进行内存读写测试,例如可以用来测试目标板DDR的稳定性,该命令的用法如下:

=>mtest [start [end [pattern [iterations]]]]

命令用法中的start是DRAM内存的起始地址,end是内存的结束地址,

例如我们向测试0x80000000到0x87800000这段内存,可以使用下面命令:

=>mtest 80000000 87800000

测试的时候,如果想退出测试的话,可以使用键盘上的"Ctrl+C"组合键。

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值