您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > UBOOT超详细命令解析
U-boot发展到现在,他的命令行模式已经非常接近Linux下的shell了,命令行模式模式下支持“Tab”键的命令补全和命令的历史记录功能。而且如果你输入的命令的前几个字符和别的命令不重复,那么你就只需要打这几个字符即可,比如我想看这个U-boot的版本号,命令就是“version”,但是在所有的命令中没有其他任何一个的命令是由“v”开头的,所以只需要输入“v”即可。[u-boot@MINI2440]#versionU-Boot2009.11(4月042010-12:09:25)[u-boot@MINI2440]#vU-Boot2009.11(4月042010-12:09:25)[u-boot@MINI2440]#baseBaseAddress:0x00000000[u-boot@MINI2440]#baBaseAddress:0x00000000由于U-boot支持的命令实在太多,一个一个细讲不现实,也没有必要。所以下面我挑一些烧写和引导常用命令介绍一下,其他的命令大家就举一反三,或者“help”吧!(1)获取帮助命令:help或?功能:查看当前U-boot版本中支持的所有命令。[u-boot@MINI2440]#help?-aliasfor'help'askenv-getenvironmentvariablesfromstdinbase-printorsetaddressoffsetbdinfo-printBoardInfostructurebmp-manipulateBMPimagedataboot-bootdefault,i.e.,run'bootcmd'bootd-bootdefault,i.e.,run'bootcmd'bootelf-BootfromanELFimageinmemorybootm-bootapplicationimagefrommemorybootp-bootimagevianetworkusingBOOTP/TFTPprotocolbootvx-BootvxWorksfromanELFimagecmp-memorycompareconinfo-printconsoledevicesandinformationcp-memorycopycrc32-checksumcalculationdate-get/set/resetdate&timedcache-enableordisabledatacachedhcp-bootimagevianetworkusingDHCP/TFTPprotocolecho-echoargstoconsoleeditenv-editenvironmentvariableeeprom-EEPROMsub-systemerase-eraseFLASHmemoryexit-exitscriptfatinfo-printinformationaboutfilesystemfatload-loadbinaryfilefromadosfilesystemfatls-listfilesinadirectory(default/)flinfo-printFLASHmemoryinformationfsinfo-printinformationaboutfilesystemsfsload-loadbinaryfilefromafilesystemimagego-startapplicationataddress'addr'help-printonlinehelpi2c-I2Csub-systemicache-enableordisableinstructioncacheiminfo-printheaderinformationforapplicationimageimls-listallimagesfoundinflashimxtract-extractapartofamulti-imageitest-returntrue/falseonintegercompareloadb-loadbinaryfileoverserialline(kermitmode)loads-loadS-Recordfileoverseriallineloadx-loadbinaryfileoverserialline(xmodemmode)loady-loadbinaryfileoverserialline(ymodemmode)loop-infinitelooponaddressrangels-listfilesinadirectory(default/)md-memorydisplaymm-memorymodify(auto-incrementingaddress)mmc-MMCsub-systemmtest-simpleRAMread/writetestmw-memorywrite(fill)nand-NANDsub-systemnboot-bootfromNANDdevicenfs-bootimagevianetworkusingNFSprotocolnm-memorymodify(constantaddress)ping-sendICMPECHO_REQUESTtonetworkhostprintenv-printenvironmentvariablesprotect-enableordisableFLASHwriteprotectionrarpboot-bootimagevianetworkusingRARP/TFTPprotocolreginfo-printregisterinformationreset-PerformRESEToftheCPUrun-runcommandsinanenvironmentvariablesaveenv-saveenvironmentvariablestopersistentstoragesetenv-setenvironmentvariablesshowvar-printlocalhushshellvariablessleep-delayexecutionforsometimesource-runscriptfrommemorytest-minimaltestlike/bin/shtftpboot-bootimagevianetworkusingTFTPprotocolunzip-unzipamemoryregionusb-USBsub-systemusbboot-bootfromUSBdeviceversion-printmonitorversion如果你想获取某条命令的更详细的帮助,可以使用:help你想要查的指令或者?你想要查的指令,甚至h你想要查的指令缩写。以bmp指令为例:[u-boot@MINI2440]#helpbmpbmp-manipulateBMPimagedataUsage:bmpinfoimageAddr-displayimageinfobmpdisplayimageAddr[xy]-displayimageatx,y[u-boot@MINI2440]#?bmpbmp-manipulateBMPimagedataUsage:bmpinfoimageAddr-displayimageinfobmpdisplayimageAddr[xy]-displayimageatx,y[u-boot@MINI2440]#hbmbmp-manipulateBMPimagedataUsage:bmpinfoimageAddr-displayimageinfobmpdisplayimageAddr[xy]-displayimageatx,y(2)环境变量(environmentvariables,简称ENV)与相关指令和shell类似,U-Boot也有环境变量。一些U-boot默认的环境变量如下:环境变量解释说明bootdelay执行自动启动(bootcmd中的命令)的等候秒数baudrate串口控制台的波特率netmask以太网的网络掩码ethaddr以太网的MAC地址bootfile默认的下载文件名bootargs传递给Linux内核的启动参数bootcmd自动启动时执行命令serveripTFTP服务器端的IP地址ipaddr本地的IP地址stdin标准输入设备,一般是串口stdout标准输出,一般是串口,也可是LCD(VGA)stderr标准出错,一般是串口,也可是LCD(VGA)要看到你的板上的ENV值可使用printenv命令,例如我的板子:[u-boot@MINI2440]#printenvbootargs=noinitrdroot=/dev/nfsrwnfsroot=192.168.0.1:/home/tekkaman/working/nfs/rootfsip=192.168.0.2:192.168.0.1::255.255.255.0console=ttySAC0,115200init=/linuxrcmem=64Mbootcmd=nfs0x30008000192.168.0.1:/home/tekkaman/working/nfs/zImage.img;bootmbootdelay=1baudrate=115200ethaddr=08:08:11:18:12:27ipaddr=192.168.0.2serverip=192.168.0.1gatewayip=192.168.0.1netmask=255.255.255.0tekkaman=bmpd70000stdin=serialstdout=serialstderr=serialethact=dm9000Environmentsize:470/131068bytes你会发现有些有的ENV我没有,还有一个“tekkaman”的ENV。原因是如果你没有设置这个环境变量就不会打印出,你也可以自己定义ENV,并在命令中使用${ENV}来调用它。同时你也可以删除这个ENV。设置ENV的命令是setenv,格式为:setenvnamevalue第1个参数是环境变量的名称。第2个参数是要设置的值,如果没有第2个参数,表示删除这个环境变量。例如:我先将”tekkaman”参数删除,再设置,最后在一个命令串中调用。[u-boot@MINI2440]#printenvtekkamantekkaman=bmpd70000[u-boot@MINI2440]#setenvtekkaman[u-boot@MINI2440]#printenvtekkaman##Error:tekkamannotdefined[u-boot@MINI2440]#setenvtekkamanechoIamTekkamanNinja![u-boot@MINI2440]#printenvtekkamantekkaman=echoIamTekkaman[u-boot@MINI2440]#echoILoveLinux;${tekkaman}ILoveLinuxIamTekkaman当你设置了ENV,它只保存在内存中,如果你要它保存在存放ENV的固态存储器中,请使用:saveenv。[u-boot@MINI2440]#saveenvSavingEnvironmenttoNAND...ErasingNand...Erasingat0x6000000000002--0%complete.WritingtoNand...done如果在启动的时候会看到U-boot打印出:“Warning-badCRC,usingdefaultenvironment”,说明U-boot没有在存放ENV的固态存储器中找到有效的ENV,只好使用你在编译的时候定义的默认ENV。如果U-boot存放ENV的固态存储器的驱动是OK的,那么只要运行saveenv就可以把默认ENV写入固态存储器,下次启动就不会有这个警告了。ENV可以放在许
本文标题:UBOOT超详细命令解析
链接地址:https://www.777doc.com/doc-1358470 .html