说明:只供学习交流
一,环境变量相关命令
(1):printenv或print:打印环境变量。可以打印全部环境变量,也可以打印列出的环境变量。例如:print 打印全部环境变量,print ipaddr 只打印ip。
(2):setenv 或 set:设置环境变量。用法:setenv name value setenv name ,比如:添加环境变量file并设置为1, 使用命令:setenv file 1 删除file使用命令:set file;
(3):saveenv 或save:保存环境变量到flash,我们是在内存中修改环境变量的,掉电就没有了,要想保存结果,要将结果写到flash。
(4):echo [args]:回显命令。用法:echo $(bootcmd)。
(5):run var […]:run命令可以执行环境变量中的命令,后面参数可以跟几个环境变量名。例如,我的bootcmd=tftp 31000000 uImage; bootm 31000000 那么我运行run bootcmd就会使用tftp命令下载内核,并运行。
二,内存操作命令
(1):md[.b,.w,.l]address:md命令可以显示内存区的内容,可以按字节、字、长字操作。比如,md.b 31000000。
(2):mm[.b,.w,.l]address:修改内存,地址自动递增,直接回车,保持原内容不变。若要改变,在问号后面输入数值然后回车。按空格回车退出。
(3):cp[.b,.w,.l]source target count:cp命令可以在内存中复制数据块,包括对Flash的读写操作。
source:第一个参数source是要复制的数据块起始地址。
target:是数据块要复制到的地址。这个地址如果是在Flash中,那么会直接调用写Flash的函数操作。所以U-boot写Flash就使用这个命令,当然需要把对应Flash区域擦除干净。
(4):cmp[.b,.w,l]addr1 addr2 count:cmp命令可以比较2块内存中的内容。.b以字节为单位;.w以字为单位;.l以长字为单位。注意:cmp.b中间不能保留空格。
addr1:参数addr1是第一块内存的起始地址。
addr2:参数addr2是第二块内存的起始地址。
count:参数count是要比较的数目,单位按照字节,字或长字。
三,Nor flash操作命令
(1):flinfo:使用方法:flinfo / flinfo N ,flinfo命令打印全部Flash组的信息,也可以只打印其中某个组。一般嵌入式系统的flash只有一个组。
(2):protect:使用方法:protect on(0ff) start end,protect命令是对Flash写保护的操作,可以使能和解除写保护。
第一个参数on代表使能写保护,off代表解除写保护,第2、3参数是指定Flash写保护操作范围,更擦除的方式相同。
例如,protect on all使能所有写保护,protect off all解除所有写保护,protect on 000000 0000ffff 使能第一个vector的写保护。
(3):erase:使用方法:erase start end,erase命令可以擦Flash。参数必须指定Flash擦除的范围。
按照起始地址和结束地址,start必须是擦除块的起始地址;end必须是擦除末尾块的结束地址。这种方式最常用。举例说明:擦除0x20000--0x3ffff区域命令为
erase20000 3ffff。
注意:在使用cp命令向Nor flash写入数据之前必须使用erase命令擦除flash,因为Nor flash按字节写入时,无法写入1,所以必须通过擦除来写入1
四,引导启动相关命令
(1):go:使用方法:go addr[arg…],go命令可以执行应用程序。第一个参数是要执行程序的入口地址。第二个参数是传递给程序的参数,可以不用。
(2):bootm:使用方法:bootm[addr [arg…]],bootm命令可以引导存储在内存中的程序映像。这些内存包括RAM和可以永久保存的Flash。
参数addr是程序映像的地址,这个程序映像必须转换成U-boot的格式。第二个参数对应引导Linux内核有用,通常作为U-boot格式的Ramdisk映像存储地址;也可以是传递给Linux内核的参数(缺省情况下传递bootargs)环境变量给内核。
说明:启动映像需要经过mkimage处理。
(3):bootp:使用方法:bootp[loadaddress][bootfilename],
bootp命令通过bootp请求,要求DHCP服务器分配IP地址,然后通过TFTP协议下载指定的文件到内存。
第一个参数是下载文件存放的内存地址。第二个参数是要下载的文件名称,这个文件应该在开发主机上准备好。
(4):tftpboot:使用方法tftpboot [loadaddress][bootfilename],tftpboot命令可以使用TFTP协议通过网络启动映像。按照二进制文件格式下载。另外使用这个命令,必须配置好相关的环境变量。例如,serverip和ipaddr。
第一个参数是下载到的内存地址。
第二个参数是要下载的文件名称,必须放在TFTP服务器相应的目录下。
说明:tftp 命令可以通过网络下载文件,用法和tftpboot一致。
(5):nfs:使用方法:
nfs[loadaddress] [host ip addr:bootfilename],nfs命令可以使用NFS网络协议通过网络下载文件。例如:
nfs32000000 192.168.0.2:aa.txt ,可以把192.168.0.2(Linux下的NFS文件系统)中的NFS文件系统中的aa.txt读入到内存0x32000000处。
五,其他命令
usb:usb start:启动usb功能; usb info列出设备;
usb storage:显示usb storage(u 盘)设备细节。
ping:pingipaddr 只能开发板PING主机。