Uboot常用命令教材课件_第1页
Uboot常用命令教材课件_第2页
Uboot常用命令教材课件_第3页
Uboot常用命令教材课件_第4页
Uboot常用命令教材课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Uboot常用命令Uboot常用命令1一实验系统开关S4:拨码开关,ARMCPU的bank选择;DSPCPU的IO空间选择码位功能1-----ONCS0为ON片选为NGCS02-----ONCS1为ON片选为NGCS13-----ONCS2为ON片选为NGCS24-----ONCS3为ON片选为NGCS35-----ONDCS0有效:0000H~1FFFH(DSPI/O空间)6-----ONDCS1有效:2000H~3FFFH(DSPI/O空间)7-----ONDCS2有效:4000H~7FFFH(DSPI/O空间)8-----ONDCS3有效:8000H~7FFFH(DSP数据空间)SW4:拨码开关,ARM和DSPCPU板选择第一位DSP1第二位DSP2功能OFFOFF选择5XXX系列DSPCPUONOFF选择6XXX系列DSPCPUOFFON保留ONON保留第三位ARM1第四位ARM2功能OFFOFF选择ARM9CPUONOFF选择ARM10CPUOFFON选择OMAP35XXCPUONON保留一实验系统开关S4:拨码开关,ARMCPU的bank选择2一实验系统开关S4:拨码开关,ARMCPU的bank选择,全onSW4:拨码开关,ARM和DSPCPU板选择第三位OFF,第四位ON一实验系统开关S4:拨码开关,ARMCPU的bank选择3(1)获取帮助

命令:help或?

功能:查看当前U-boot版本中支持的所有命令。

二uboot常用命令(1)获取帮助二uboot常用命令4如果你想获取某条命令的更详细的帮助,可以使用:

help<你想要查的指令>

或者?<你想要查的指令>,

甚至h<你想要查的指令缩写>。

以bmp指令为例:

[u-boot@MINI2440]#helpbmp

bmp-manipulateBMPimagedata

如果你想获取某条命令的更详细的帮助,可以使用:

help<5(2)环境变量(environmentvariables,简称ENV)与相关指令

和shell类似,U-Boot也有环境变量。一些U-boot默认的环境变量如下:

环境变量

解释说明

bootdelay

执行自动启动(bootcmd中的命令)的等候秒数

baudrate

串口控制台的波特率

netmask

以太网的网络掩码

ethaddr

以太网的MAC地址

bootfile

默认的下载文件名

bootargs

传递给Linux内核的启动参数

bootcmd

自动启动时执行命令

serverip

TFTP服务器端的IP地址

ipaddr

本地的IP地址

stdin

标准输入设备,一般是串口

stdout

标准输出,一般是串口,也可是LCD(VGA)

stderr

标准出错,一般是串口,也可是LCD(VGA)

(2)环境变量(environmentvariables,6要看到你的板上的ENV值可使用printenv命令,例如我的板子:

[u-boot@MINI2440]#printenv

bootargs=noinitrdroot=/dev/nfsrwnfsroot=:/home/tekkaman/working/nfs/rootfsip=:::console=ttySAC0,115200init=/linuxrcmem=64M

bootcmd=nfs0x30008000:/home/tekkaman/working/nfs/zImage.img;bootm

bootdelay=1

baudrate=115200

ethaddr=08:08:11:18:12:27

ipaddr=

serverip=

gatewayip=

netmask=

tekkaman=bmpd70000

stdin=serial

stdout=serial

stderr=serial

ethact=dm9000

要看到你的板上的ENV值可使用printenv命令,例如我的7你会发现有些有的ENV我没有,还有一个“tekkaman”的ENV。原因是如果你没有设置这个环境变量就不会打印出,你也可以自己定义ENV,并在命令中使用${ENV}来调用它。同时你也可以删除这个ENV。设置ENV的命令是setenv,格式为:

setenvnamevalue

第1个参数是环境变量的名称。

第2个参数是要设置的值,如果没有第2个参数,表示删除这个环境变量。

例如:我先将”tekkaman”参数删除,再设置,最后在一个命令串中调用。

[u-boot@MINI2440]#printenvtekkaman

tekkaman=bmpd70000

[u-boot@MINI2440]#setenvtekkaman

[u-boot@MINI2440]#printenvtekkaman

##Error:"tekkaman"notdefined

[u-boot@MINI2440]#setenvtekkamanecho"IamTekkamanNinja!"

[u-boot@MINI2440]#printenvtekkaman

tekkaman=echoIamTekkaman

[u-boot@MINI2440]#echoILoveLinux;${tekkaman}

ILoveLinux

IamTekkaman

你会发现有些有的ENV我没有,还有一个“tekkaman”的8当你设置了ENV,它只保存在内存中,如果你要它保存在存放ENV的固态存储器中,请使用:saveenv。

[u-boot@MINI2440]#saveenv

SavingEnvironmenttoNAND...

ErasingNand...

Erasingat0x6000000000002--0%complete.

WritingtoNand...done

如果在启动的时候会看到U-boot打印出:“Warning-badCRC,usingdefaultenvironment”,说明U-boot没有在存放ENV的固态存储器中找到有效的ENV,只好使用你在编译的时候定义的默认ENV。如果U-boot存放ENV的固态存储器的驱动是OK的,那么只要运行saveenv就可以把默认ENV写入固态存储器,下次启动就不会有这个警告了。

ENV可以放在许多固体存储器中,对于mini2440来说NorFlash、NandFlash或EEPROM都可以,就看你如何配置了(include/configs下的配置文件)。例如:

NorFlash:

#defineCONFIG_ENV_IS_IN_FLASH1

#defineCONFIG_ENV_OFFSET0X40000

#defineCONFIG_ENV_SIZE0x20000/*TotalSizeofEnvironmentSector*/

NandFlash:

#defineCONFIG_ENV_IS_IN_NAND1

#defineCONFIG_ENV_OFFSET0X40000

#defineCONFIG_ENV_SIZE0x20000/*TotalSizeofEnvironmentSector*/

EEPROM:

#defineCONFIG_ENV_IS_IN_EEPROM1/*useEEPROMforenvironmentvars*/

#defineCONFIG_ENV_OFFSET0x000/*environmentstartsatoffset0*/

#defineCONFIG_ENV_SIZE0x400/*1KB*/

CONFIG_ENV_OFFSET是在整个存储器中的偏移地址;

CONFIG_ENV_SIZE是指其使用的大小。

注意CONFIG_ENV_OFFSET和CONFIG_ENV_SIZE的设置,不要覆盖了其他分区当你设置了ENV,它只保存在内存中,如果你要它保存在存放EN9(3)网络命令

只要网卡驱动没问题,那么就可以通过网络来传输文件到开发板,这可比串口快多了。直接用交叉网线连接开发板和电脑,也可以用普通直连网线连接路由器,再连到电脑,不过记得配置好网络,关闭防火墙。先测试网络是否通了,现在开发板使用ping命令,看看是否可以ping通电脑:

[u-boot@MINI2440]#ping00

dm9000i/o:0x20000300,id:0x90000a46

DM9000:runningin16bitmode

MAC:08:08:11:18:12:27

operatingat100Mfullduplexmode

Usingdm9000device

host00isalive

如果出现:

[u-boot@MINI2440]#ping00

dm9000i/o:0x20000300,id:0x90000a46

DM9000:runningin16bitmode

MAC:08:08:11:18:12:27

operatingat100Mfullduplexmode

Usingdm9000device

pingfailed;host00isnotalive

(3)网络命令

只要网卡驱动没问题,那么就可以通过网络来传输10如果网络畅通,下面就可以使用下面的命令从tftp目录或者nfs目录下载文件到SDRAM了。

命令:

dhcp-bootimagevianetworkusingDHCP/TFTPprotocol

rarpboot-bootimagevianetworkusingRARP/TFTPprotocol

nfs-bootimagevianetworkusingNFSprotocol

tftpboot-bootimagevianetworkusingTFTPprotocol

bootp-bootimagevianetworkusingBOOTP/TFTPprotocol

这几个命令的格式都是:<指令>[目的SDRAM地址][[主机IP:]文件名]

如果网络畅通,下面就可以使用下面的命令从tftp目录或者nf11范例:[u-boot@MINI2440]#nfs0x3000800000:/home/tekkaman/development/share/u-boot.bin

范例:[u-boot@MINI2440]#nfs0x30122)主机通讯环境的配置用交叉网线把主机和实验系统连接。在终端下输入minicom-s,配置minicom为波特率为115200,无奇偶校验,8bit。之后,在minicom下,给系统上电,系统正常起来后,利用ifconfigeth0xxx.xxx.xxx.xxx来改变实验系统的IP地址,让该地址的前三段和主机的前三段一致,最后的一段,可以选择和主机不重复的小于255的任意值。例如,主机是,则实验系统配置为ifconfigeth0,之后,利用ping命令,在实验系统上ping,看看实验系统能否和主机连上。当连通后,利用mount命令,挂载主机的nfs系统下的共享目录。2)主机通讯环境的配置13要mount成功,首先,利用命令chmod777/home/nfs改变/home/nfs文件夹的属性,让其变为可读可写,如果/home目录下没有nfs文件夹,建议创建此文件夹,以后需要挂载的用于调试的驱动模块以及应用程序均放在该文件夹内。之后,在终端中,输入mount–onolock:/home/nfs/tmp回车,即可完成把主机上的/home/nfs下的文件挂载到实验系统的/tmp目录下。要mount成功,首先,利用命令chmod777/hom141)“管理”-“网络”-双击-“静态设置的IP地址”-47

-“确定”-“激活”2)“管理”-“服务器设置”-“服务”服务配置后台服务:networkmanagerNfs分别重启按需服务:tftp“保存”4)按板子上的复位键或切断一下电源Ping47#root#cd/#ifconfigeth06 1)“管理”-“网络”-双击-“静态设置的IP地址”-19215最常见的情况就是,目标机上的BootLoader通过串口与主机之间进行文件传输,传输协议通常是xmodem/ymodem/zmodem协议中的一种。但是,串口传输的速度是有限的,因此通过以太网连接并借助TFTP协议来下载文件是个更好的选择。此外,在论及这个话题时,主机方所用的软件也要考虑。比如,在通过以太网连接和TFTP协议来下载文件时,主机方必须有一个软件用来的提供TFTP服务。在WINDOWS下启动超级终端,设置其(115200,8位数据,1位停止位,无奇偶校验);用交叉网线连接pc机和cpu网口用串口线连接实验系统和PC机的串口。系统上电,在超级终端下进入uboot界面最常见的情况就是,目标机上的BootLoader通过串163)、设置板子的参数:在超级终端下依次输入下面的指令setenvipaddr57 (板子IP,根据实际情况设)setenvserverip66 (虚拟机的IP,根据实际情况设)setenvnetmasksetenvbootdelay3setenvethaddr00:50:c2:7e:8A:1Dsetenvgatewayip (网关,根据实际情况设)setenvbootargsconsole=ttyS2,115200n8ubi.mtd=4root=ubi0:rootfsrootfstype=ubifsvideo=omapfb:mode:8inch_LCDsetenvbootcmdnandread.i80300000280000210000\;bootm80300000saveenv (保存设置好的参数)3)、设置板子的参数:在超级终端下依次输入下面的指令17Uboot常用命令Uboot常用命令18一实验系统开关S4:拨码开关,ARMCPU的bank选择;DSPCPU的IO空间选择码位功能1-----ONCS0为ON片选为NGCS02-----ONCS1为ON片选为NGCS13-----ONCS2为ON片选为NGCS24-----ONCS3为ON片选为NGCS35-----ONDCS0有效:0000H~1FFFH(DSPI/O空间)6-----ONDCS1有效:2000H~3FFFH(DSPI/O空间)7-----ONDCS2有效:4000H~7FFFH(DSPI/O空间)8-----ONDCS3有效:8000H~7FFFH(DSP数据空间)SW4:拨码开关,ARM和DSPCPU板选择第一位DSP1第二位DSP2功能OFFOFF选择5XXX系列DSPCPUONOFF选择6XXX系列DSPCPUOFFON保留ONON保留第三位ARM1第四位ARM2功能OFFOFF选择ARM9CPUONOFF选择ARM10CPUOFFON选择OMAP35XXCPUONON保留一实验系统开关S4:拨码开关,ARMCPU的bank选择19一实验系统开关S4:拨码开关,ARMCPU的bank选择,全onSW4:拨码开关,ARM和DSPCPU板选择第三位OFF,第四位ON一实验系统开关S4:拨码开关,ARMCPU的bank选择20(1)获取帮助

命令:help或?

功能:查看当前U-boot版本中支持的所有命令。

二uboot常用命令(1)获取帮助二uboot常用命令21如果你想获取某条命令的更详细的帮助,可以使用:

help<你想要查的指令>

或者?<你想要查的指令>,

甚至h<你想要查的指令缩写>。

以bmp指令为例:

[u-boot@MINI2440]#helpbmp

bmp-manipulateBMPimagedata

如果你想获取某条命令的更详细的帮助,可以使用:

help<22(2)环境变量(environmentvariables,简称ENV)与相关指令

和shell类似,U-Boot也有环境变量。一些U-boot默认的环境变量如下:

环境变量

解释说明

bootdelay

执行自动启动(bootcmd中的命令)的等候秒数

baudrate

串口控制台的波特率

netmask

以太网的网络掩码

ethaddr

以太网的MAC地址

bootfile

默认的下载文件名

bootargs

传递给Linux内核的启动参数

bootcmd

自动启动时执行命令

serverip

TFTP服务器端的IP地址

ipaddr

本地的IP地址

stdin

标准输入设备,一般是串口

stdout

标准输出,一般是串口,也可是LCD(VGA)

stderr

标准出错,一般是串口,也可是LCD(VGA)

(2)环境变量(environmentvariables,23要看到你的板上的ENV值可使用printenv命令,例如我的板子:

[u-boot@MINI2440]#printenv

bootargs=noinitrdroot=/dev/nfsrwnfsroot=:/home/tekkaman/working/nfs/rootfsip=:::console=ttySAC0,115200init=/linuxrcmem=64M

bootcmd=nfs0x30008000:/home/tekkaman/working/nfs/zImage.img;bootm

bootdelay=1

baudrate=115200

ethaddr=08:08:11:18:12:27

ipaddr=

serverip=

gatewayip=

netmask=

tekkaman=bmpd70000

stdin=serial

stdout=serial

stderr=serial

ethact=dm9000

要看到你的板上的ENV值可使用printenv命令,例如我的24你会发现有些有的ENV我没有,还有一个“tekkaman”的ENV。原因是如果你没有设置这个环境变量就不会打印出,你也可以自己定义ENV,并在命令中使用${ENV}来调用它。同时你也可以删除这个ENV。设置ENV的命令是setenv,格式为:

setenvnamevalue

第1个参数是环境变量的名称。

第2个参数是要设置的值,如果没有第2个参数,表示删除这个环境变量。

例如:我先将”tekkaman”参数删除,再设置,最后在一个命令串中调用。

[u-boot@MINI2440]#printenvtekkaman

tekkaman=bmpd70000

[u-boot@MINI2440]#setenvtekkaman

[u-boot@MINI2440]#printenvtekkaman

##Error:"tekkaman"notdefined

[u-boot@MINI2440]#setenvtekkamanecho"IamTekkamanNinja!"

[u-boot@MINI2440]#printenvtekkaman

tekkaman=echoIamTekkaman

[u-boot@MINI2440]#echoILoveLinux;${tekkaman}

ILoveLinux

IamTekkaman

你会发现有些有的ENV我没有,还有一个“tekkaman”的25当你设置了ENV,它只保存在内存中,如果你要它保存在存放ENV的固态存储器中,请使用:saveenv。

[u-boot@MINI2440]#saveenv

SavingEnvironmenttoNAND...

ErasingNand...

Erasingat0x6000000000002--0%complete.

WritingtoNand...done

如果在启动的时候会看到U-boot打印出:“Warning-badCRC,usingdefaultenvironment”,说明U-boot没有在存放ENV的固态存储器中找到有效的ENV,只好使用你在编译的时候定义的默认ENV。如果U-boot存放ENV的固态存储器的驱动是OK的,那么只要运行saveenv就可以把默认ENV写入固态存储器,下次启动就不会有这个警告了。

ENV可以放在许多固体存储器中,对于mini2440来说NorFlash、NandFlash或EEPROM都可以,就看你如何配置了(include/configs下的配置文件)。例如:

NorFlash:

#defineCONFIG_ENV_IS_IN_FLASH1

#defineCONFIG_ENV_OFFSET0X40000

#defineCONFIG_ENV_SIZE0x20000/*TotalSizeofEnvironmentSector*/

NandFlash:

#defineCONFIG_ENV_IS_IN_NAND1

#defineCONFIG_ENV_OFFSET0X40000

#defineCONFIG_ENV_SIZE0x20000/*TotalSizeofEnvironmentSector*/

EEPROM:

#defineCONFIG_ENV_IS_IN_EEPROM1/*useEEPROMforenvironmentvars*/

#defineCONFIG_ENV_OFFSET0x000/*environmentstartsatoffset0*/

#defineCONFIG_ENV_SIZE0x400/*1KB*/

CONFIG_ENV_OFFSET是在整个存储器中的偏移地址;

CONFIG_ENV_SIZE是指其使用的大小。

注意CONFIG_ENV_OFFSET和CONFIG_ENV_SIZE的设置,不要覆盖了其他分区当你设置了ENV,它只保存在内存中,如果你要它保存在存放EN26(3)网络命令

只要网卡驱动没问题,那么就可以通过网络来传输文件到开发板,这可比串口快多了。直接用交叉网线连接开发板和电脑,也可以用普通直连网线连接路由器,再连到电脑,不过记得配置好网络,关闭防火墙。先测试网络是否通了,现在开发板使用ping命令,看看是否可以ping通电脑:

[u-boot@MINI2440]#ping00

dm9000i/o:0x20000300,id:0x90000a46

DM9000:runningin16bitmode

MAC:08:08:11:18:12:27

operatingat100Mfullduplexmode

Usingdm9000device

host00isalive

如果出现:

[u-boot@MINI2440]#ping00

dm9000i/o:0x20000300,id:0x90000a46

DM9000:runningin16bitmode

MAC:08:08:11:18:12:27

operatingat100Mfullduplexmode

Usingdm9000device

pingfailed;host00isnotalive

(3)网络命令

只要网卡驱动没问题,那么就可以通过网络来传输27如果网络畅通,下面就可以使用下面的命令从tftp目录或者nfs目录下载文件到SDRAM了。

命令:

dhcp-bootimagevianetworkusingDHCP/TFTPprotocol

rarpboot-bootimagevianetworkusingRARP/TFTPprotocol

nfs-bootimagevianetworkusingNFSprotocol

tftpboot-bootimagevianetworkusingTFTPprotocol

bootp-bootimagevianetworkusingBOOTP/TFTPprotocol

这几个命令的格式都是:<指令>[目的SDRAM地址][[主机IP:]文件名]

如果网络畅通,下面就可以使用下面的命令从tftp目录或者nf28范例:[u-boot@MINI2440]#nfs0x3000800000:/home/tekkaman/development/share/u-boot.bin

范例:[u-boot@MINI2440]#nfs0x30292)主机通讯环境的配置用交叉网线把主机和实验系统连接。在终端下输入minicom-s,配置minicom为波特率为115200,无奇偶校验,8bit。之后,在minicom下,给系统上电,系统正常起来后,利用ifconfigeth0xxx.xxx.xxx.xxx来改变实验系统的IP地址,让该地址的前三段和主机的前三段一致,最后的一段,可以选择和主机不重复的小于255的任意值。例如,主机是,则实验系统配置为ifconfigeth0,之后,利用ping命令,在实验系统上ping,看看实验系统能否和主机连上。当连通后,利用mount命令,挂载主机的nfs系统下的共享目录。2)主机通讯环境的配置30要mount成功,首先,利用命令chmod777/home/nfs改变/home/nfs文件夹的属性,让其变为可读可写,如果/home目录下没有nfs文件夹,建议创建此文件夹,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论