原文来自:http://www.flatws.cn/article/program/shell/2011-02-23/14038.html

常用U-boot命令详解

U-boot发展到现在,他的命令行模式已经非常接近Linux下的shell了,在我编译的U-boot-2009.11中的命令行模式模式下支持“Tab”键的命令补全和命令的历史记录功能。而且如果你输入的命令的前几个字符和别的命令不重复,那么你就只需要打这几个字符即可,比如我想看这个U-boot的版本号,命令就是“ version”,但是在所有的命令中没有其他任何一个的命令是由“v”开头的,所以只需要输入“v”即可.cRH平坦软件园
[u-boot@MINI2440]# versioncRH平坦软件园

U-Boot 2009.11 ( 4月 04 2010 - 12:09:25)cRH平坦软件园
[u-boot@MINI2440]# vcRH平坦软件园

U-Boot 2009.11 ( 4月 04 2010 - 12:09:25)cRH平坦软件园
[u-boot@MINI2440]# basecRH平坦软件园
Base Address: 0x00000000cRH平坦软件园
[u-boot@MINI2440]# bacRH平坦软件园
Base Address: 0x00000000cRH平坦软件园

cRH平坦软件园
     由于U-boot支持的命令实在太多,一个一个细讲不现实,也没有必要。所以下面我挑一些烧写和引导常用命令介绍一下,其他的命令大家就举一反三,或者“help”吧!cRH平坦软件园
(1)获取帮助cRH平坦软件园
命令:help 或 ?cRH平坦软件园
功能:查看当前U-boot版本中支持的所有命令。cRH平坦软件园

[u-boot@MINI2440]# helpcRH平坦软件园
? - alias for 'help'cRH平坦软件园
askenv - get environment variables from stdincRH平坦软件园
base - print or set address offsetcRH平坦软件园
bdinfo - print Board Info structurecRH平坦软件园
bmp - manipulate BMP image datacRH平坦软件园
boot - boot default, i.e., run 'bootcmd'cRH平坦软件园
bootd - boot default, i.e., run 'bootcmd'cRH平坦软件园
bootelf - Boot from an ELF image in memorycRH平坦软件园
bootm - boot application image from memorycRH平坦软件园
bootp - boot image via network using BOOTP/TFTP protocolcRH平坦软件园
bootvx - Boot vxWorks from an ELF imagecRH平坦软件园
cmp - memory comparecRH平坦软件园
coninfo - print console devices and informationcRH平坦软件园
cp - memory copycRH平坦软件园
crc32 - checksum calculationcRH平坦软件园
date - get/set/reset date & timecRH平坦软件园
dcache - enable or disable data cachecRH平坦软件园
dhcp - boot image via network using DHCP/TFTP protocolcRH平坦软件园
echo - echo args to consolecRH平坦软件园
editenv - edit environment variablecRH平坦软件园
eeprom - EEPROM sub-systemcRH平坦软件园
erase - erase FLASH memorycRH平坦软件园
exit - exit scriptcRH平坦软件园
fatinfo - print information about filesystemcRH平坦软件园
fatload - load binary file from a dos filesystemcRH平坦软件园
fatls - list files in a directory (default /)cRH平坦软件园
flinfo - print FLASH memory informationcRH平坦软件园
fsinfo - print information about filesystemscRH平坦软件园
fsload - load binary file from a filesystem imagecRH平坦软件园
go - start application at address 'addr'cRH平坦软件园
help - print online helpcRH平坦软件园
i2c - I2C sub-systemcRH平坦软件园
icache - enable or disable instruction cachecRH平坦软件园
iminfo - print header information for application imagecRH平坦软件园
imls - list all images found in flashcRH平坦软件园
imxtract- extract a part of a multi-imagecRH平坦软件园
itest - return true/false on integer comparecRH平坦软件园
loadb - load binary file over serial line (kermit mode)cRH平坦软件园
loads - load S-Record file over serial linecRH平坦软件园
loadx - load binary file over serial line (xmodem mode)cRH平坦软件园
loady - load binary file over serial line (ymodem mode)cRH平坦软件园
loop - infinite loop on address rangecRH平坦软件园
ls - list files in a directory (default /)cRH平坦软件园
md - memory displaycRH平坦软件园
mm - memory modify (auto-incrementing address)cRH平坦软件园
mmc - MMC sub-systemcRH平坦软件园
mtest - simple RAM read/write testcRH平坦软件园
mw - memory write (fill)cRH平坦软件园
nand - NAND sub-systemcRH平坦软件园
nboot - boot from NAND devicecRH平坦软件园
nfs - boot image via network using NFS protocolcRH平坦软件园
nm - memory modify (constant address)cRH平坦软件园
ping - send ICMP ECHO_REQUEST to network hostcRH平坦软件园
printenv- print environment variablescRH平坦软件园
protect - enable or disable FLASH write protectioncRH平坦软件园
rarpboot- boot image via network using RARP/TFTP protocolcRH平坦软件园
reginfo - print register informationcRH平坦软件园
reset - Perform RESET of the CPUcRH平坦软件园
run - run commands in an environment variablecRH平坦软件园
saveenv - save environment variables to persistent storagecRH平坦软件园
setenv - set environment variablescRH平坦软件园
showvar - print local hushshell variablescRH平坦软件园
sleep - delay execution for some timecRH平坦软件园
source - run script from memorycRH平坦软件园
test - minimal test like /bin/shcRH平坦软件园
tftpboot- boot image via network using TFTP protocolcRH平坦软件园
unzip - unzip a memory regioncRH平坦软件园
usb - USB sub-systemcRH平坦软件园
usbboot - boot from USB devicecRH平坦软件园
version - print monitor versioncRH平坦软件园

cRH平坦软件园

如果你想获取某条命令的更详细的帮助,可以使用:cRH平坦软件园
help <你想要查的指令>cRH平坦软件园
或者 ? <你想要查的指令> ,cRH平坦软件园
甚至 h <你想要查的指令缩写>。cRH平坦软件园
 cRH平坦软件园

以bmp指令为例:cRH平坦软件园

[u-boot@MINI2440]# help bmpcRH平坦软件园
bmp - manipulate BMP image datacRH平坦软件园

Usage:cRH平坦软件园
bmp info <imageAddr> - display image infocRH平坦软件园
bmp display <imageAddr> [x y] - display image at x,ycRH平坦软件园
[u-boot@MINI2440]# ? bmpcRH平坦软件园
bmp - manipulate BMP image datacRH平坦软件园

Usage:cRH平坦软件园
bmp info <imageAddr> - display image infocRH平坦软件园
bmp display <imageAddr> [x y] - display image at x,ycRH平坦软件园
[u-boot@MINI2440]# h bmcRH平坦软件园
bmp - manipulate BMP image datacRH平坦软件园

Usage:cRH平坦软件园
bmp info <imageAddr> - display image infocRH平坦软件园
bmp display <imageAddr> [x y] - display image at x,ycRH平坦软件园

cRH平坦软件园

(2)环境变量(environment variables,简称ENV)与相关指令cRH平坦软件园
和shell类似,U-Boot也有环境变量。一些U-boot默认的环境变量如下:cRH平坦软件园
bootdelay  执行自动启动(bootcmd中的命令)的等候秒数cRH平坦软件园
baudrate   串口控制台的波特率cRH平坦软件园
netmask    以太网的网络掩码cRH平坦软件园
ethaddr     以太网的MAC地址cRH平坦软件园
bootfile     默认的下载文件名cRH平坦软件园
bootargs   传递给Linux内核的启动参数cRH平坦软件园
bootcmd   自动启动时执行命令cRH平坦软件园
serverip    TFTP服务器端的IP地址cRH平坦软件园
ipaddr       本地的IP地址cRH平坦软件园
stdin        标准输入设备,一般是串口cRH平坦软件园
stdout      标准输出,一般是串口,也可是LCD(VGA)cRH平坦软件园
stderr       标准出错,一般是串口,也可是LCD(VGA)cRH平坦软件园
 cRH平坦软件园

要看到你的板上的ENV值可使用printenv命令,例如我的板子:cRH平坦软件园
   [u-boot@MINI2440]# printenvcRH平坦软件园
bootargs=noinitrd root=/dev/nfs rw nfsroot=192.168.0.1:/home/tekkaman/working/nfs/rootfs ip=192.168.0.2:192.168.0.1::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64McRH平坦软件园
bootcmd=nfs 0x30008000 192.168.0.1:/home/tekkaman/working/nfs/zImage.img;bootmcRH平坦软件园
bootdelay=1cRH平坦软件园
baudrate=115200cRH平坦软件园
ethaddr=08:08:11:18:12:27cRH平坦软件园
ipaddr=192.168.0.2cRH平坦软件园
serverip=192.168.0.1cRH平坦软件园
gatewayip=192.168.0.1cRH平坦软件园
netmask=255.255.255.0cRH平坦软件园
tekkaman=bmp d 70000cRH平坦软件园
stdin=serialcRH平坦软件园
stdout=serialcRH平坦软件园
stderr=serialcRH平坦软件园
ethact=dm9000cRH平坦软件园

Environment size: 470/131068 bytescRH平坦软件园

cRH平坦软件园
      你会发现有些有的ENV我没有,还有一个“tekkaman”的ENV。原因是如果你没有设置这个环境变量就不会打印出,你也可以自己定义ENV,并在命令中使用${ENV}来调用它。同时你也可以删除这个ENV。设置ENV的命令是setenv,格式为:cRH平坦软件园
setenv name valuecRH平坦软件园
 cRH平坦软件园

第1个参数是环境变量的名称。cRH平坦软件园
第2个参数是要设置的值,如果没有第2个参数,表示删除这个环境变量。cRH平坦软件园

例如:我先将”tekkaman”参数删除,再设置,最后在一个命令串中调用。cRH平坦软件园
[u-boot@MINI2440]# printenv tekkamancRH平坦软件园
tekkaman=bmp d 70000cRH平坦软件园
[u-boot@MINI2440]# setenv tekkamancRH平坦软件园
[u-boot@MINI2440]# printenv tekkamancRH平坦软件园
## Error: "tekkaman" not definedcRH平坦软件园
[u-boot@MINI2440]# setenv tekkaman echo "I am Tekkaman Ninja!"cRH平坦软件园
[u-boot@MINI2440]# printenv tekkamancRH平坦软件园
tekkaman=echo I am Tekkaman cRH平坦软件园
[u-boot@MINI2440]# echo I Love Linux ;${tekkaman}cRH平坦软件园
I Love LinuxcRH平坦软件园
I am Tekkaman cRH平坦软件园
 cRH平坦软件园

当你设置了ENV,它只保存在内存中,如果你要它保存在存放ENV的固态存储器中,请使用:saveenv。cRH平坦软件园

[u-boot@MINI2440]# saveenvcRH平坦软件园
Saving Environment to NAND...cRH平坦软件园
Erasing Nand...cRH平坦软件园
Erasing at 0x6000000000002 -- 0% complete.cRH平坦软件园
Writing to Nand... donecRH平坦软件园
 cRH平坦软件园

如果在启动的时候会看到U-boot打印出:“Warning - bad CRC, using default environment”,说明U-boot没有在存放ENV的固态存储器中找到有效的ENV,只好使用你在编译的时候定义的默认ENV。如果U-boot存放ENV的固态存储器的驱动是OK的,那么只要运行 saveenv就可以把默认ENV写入固态存储器,下次启动就不会有这个警告了。cRH平坦软件园
       ENV可以放在许多固体存储器中,对于mini2440来说Nor Flash、Nand Flash或EEPROM都可以,就看你如何配置了(include/configs下的配置文件)。例如:cRH平坦软件园
      Nor Flash:cRH平坦软件园
#define CONFIG_ENV_IS_IN_FLASH 1cRH平坦软件园
#define CONFIG_ENV_OFFSET 0X40000cRH平坦软件园
#define CONFIG_ENV_SIZE            0x20000    /* Total Size of Environment Sector */cRH平坦软件园
 cRH平坦软件园
Nand Flash: cRH平坦软件园
#define CONFIG_ENV_IS_IN_NAND 1cRH平坦软件园
#define CONFIG_ENV_OFFSET 0X40000cRH平坦软件园
#define CONFIG_ENV_SIZE            0x20000    /* Total Size of Environment Sector */cRH平坦软件园
 cRH平坦软件园

EEPROM:cRH平坦软件园
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */cRH平坦软件园
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at offset 0 */cRH平坦软件园
#define CONFIG_ENV_SIZE     0x400 /* 1KB */cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园

CONFIG_ENV_OFFSET是在整个存储器中的偏移地址;cRH平坦软件园
CONFIG_ENV_SIZE是指其使用的大小。cRH平坦软件园

注意 CONFIG_ENV_OFFSET和 CONFIG_ENV_SIZE 的设置,不要覆盖了其他分区。cRH平坦软件园
四、U-boot的使用(二)cRH平坦软件园

cRH平坦软件园
命令:cRH平坦软件园
loadb   - load binary file over serial line (kermit mode)cRH平坦软件园
loadx   - load binary file over serial line (xmodem mode)cRH平坦软件园
loady   - load binary file over serial line (ymodem mode)cRH平坦软件园

cRH平坦软件园

功能:以不同的协议从串口获取文件.。cRH平坦软件园
格式基本都为:cRH平坦软件园
load? [ off ] [ baud ]cRH平坦软件园
第1个参数是下载到SDRAM的地址,如果不填,就是用默认配置:CONFIG_SYS_LOAD_ADDRcRH平坦软件园
第2个参数是波特率,一般不填,用默认的115200.cRH平坦软件园

cRH平坦软件园

在windows下的超级终端可以用这些协议发送文件,但是在ubuntu下基本只能用kermit协议。一下使用C-kermit来发送一个文件到mini2440。cRH平坦软件园

[u-boot@MINI2440]# loadbcRH平坦软件园
## Ready for binary (kermit) download to 0x30008000 at 115200 bps...cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园

cRH平坦软件园
    上面已经启动了U-boot的kermit传输协议,这时按下 Ctrl + / , 再按 c, 切换到C-kermit的命令行模式,输入命令:send  <文件路径>,回车。cRH平坦软件园

[u-boot@MINI2440]# loadbcRH平坦软件园
## Ready for binary (kermit) download to 0x30008000 at 115200 bps...cRH平坦软件园

(Back at MAGI-Linux)cRH平坦软件园
----------------------------------------------------cRH平坦软件园
C-Kermit 8.0.211, 10 Apr 2004, for LinuxcRH平坦软件园
Copyright (C) 1985, 2004,cRH平坦软件园
  Trustees of Columbia University in the City of New York.cRH平坦软件园
Type ? or HELP for help.cRH平坦软件园
(/home/tekkaman/桌面/) C-Kermit>send /home/tekkaman/development/share/zImage.imgcRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
C-kermit就开始传送,并且显示一个传送界面,并动态显示传送进度。cRH平坦软件园
C-Kermit 8.0.211, 10 Apr 2004, MAGI-LinuxcRH平坦软件园

Current Directory: /home/tekkaman/��~L�~]�cRH平坦软件园
Communication Device: /dev/ttyUSB0cRH平坦软件园
Communication Speed: 115200cRH平坦软件园
              Parity: nonecRH平坦软件园
         RTT/Timeout: 01 / 02cRH平坦软件园
             SENDING: /home/tekkaman/development/share/zImage.img => zImage.imgcRH平坦软件园
           File Type: BINARYcRH平坦软件园
           File Size: 2277540cRH平坦软件园
        Percent Done: 19 /-cRH平坦软件园

...10...20...30...40...50...60...70...80...90..100cRH平坦软件园
Estimated Time Left: 00:03:35cRH平坦软件园
  Transfer Rate, CPS: 8536cRH平坦软件园
        Window Slots: 1 of 1cRH平坦软件园
         Packet Type: DcRH平坦软件园
        Packet Count: 557cRH平坦软件园
       Packet Length: 1000cRH平坦软件园
         Error Count: 0cRH平坦软件园
          Last Error:cRH平坦软件园
        Last Message:cRH平坦软件园

X to cancel file, Z to cancel group, <CR> to resend last packet,cRH平坦软件园
E to send Error packet, ^C to quit immediately, ^L to refresh screen.cRH平坦软件园
 cRH平坦软件园

传送完毕后,输入c ,回到U-boot的串口界面。cRH平坦软件园
[u-boot@MINI2440]# loadbcRH平坦软件园
## Ready for binary (kermit) download to 0x30008000 at 115200 bps...cRH平坦软件园

(Back at MAGI-Linux)cRH平坦软件园
----------------------------------------------------cRH平坦软件园
C-Kermit 8.0.211, 10 Apr 2004, for LinuxcRH平坦软件园
Copyright (C) 1985, 2004,cRH平坦软件园
  Trustees of Columbia University in the City of New York.cRH平坦软件园
Type ? or HELP for help.cRH平坦软件园
(/home/tekkaman/桌面/) C-Kermit>send /home/tekkaman/development/share/zImage.imgcRH平坦软件园
(/home/tekkaman/桌面/) C-Kermit>ccRH平坦软件园
Connecting to /dev/ttyUSB0, speed 115200cRH平坦软件园
Escape character: Ctrl-/ (ASCII 28, FS): enabledcRH平坦软件园
Type the escape character followed by C to get back,cRH平坦软件园
or followed by ? to see other options.cRH平坦软件园
----------------------------------------------------cRH平坦软件园
## Total Size = 0x0022c0a4 = 2277540 BytescRH平坦软件园
## Start Addr = 0x30008000cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
(4)网络命令cRH平坦软件园

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

[u-boot@MINI2440]# ping 192.168.1.100 cRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
host 192.168.1.100 is alivecRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
如果出现:cRH平坦软件园
[u-boot@MINI2440]# ping 192.168.1.100cRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
ping failed; host 192.168.1.100 is not alivecRH平坦软件园
 cRH平坦软件园

这样无法ping通的事,可能是:cRH平坦软件园
1、U-boot网卡驱动有问题cRH平坦软件园
2、U-boot网络协议延时配置有问题cRH平坦软件园
3、网络参数配置问题,比如IP等,Host和Target都有可能有问题。Host最好关闭IPv6。cRH平坦软件园
实在找不到原因,用Wireshark抓包看看。cRH平坦软件园
如果网络畅通,下面就可以使用下面的命令从tftp目录或者nfs目录下载文件到SDRAM了。cRH平坦软件园
命令:cRH平坦软件园
dhcp    - boot image via network using DHCP/TFTP protocolcRH平坦软件园
rarpboot- boot image via network using RARP/TFTP protocolcRH平坦软件园
nfs     - boot image via network using NFS protocolcRH平坦软件园
tftpboot- boot image via network using TFTP protocolcRH平坦软件园
bootp   - boot image via network using BOOTP/TFTP protocolcRH平坦软件园
这几个命令的格式都是:<指令> [目的SDRAM地址] [[主机IP:]文件名]cRH平坦软件园
注意:cRH平坦软件园
要使用dhcp、rarpboot或 bootp 等功能要路由器或Host的支持。cRH平坦软件园
如果没有输入[目的SDRAM地址],系统就是用编译时定义的CONFIG_SYS_LOAD_ADDR作为目的SDRAM地址cRH平坦软件园
如果tftpboot和nfs命令没有定义[主机IP:],则使用ENV中的serveripcRH平坦软件园
其它命令必需定义[主机IP:],否则会使用提供动态IP服务的主机IP作为[主机IP:]。cRH平坦软件园
使用范例:cRH平坦软件园
[u-boot@MINI2440]# nfs 0x30008000 192.168.1.100:/home/tekkaman/development/share/u-boot.bincRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
File transfer via NFS from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename '/home/tekkaman/development/share/u-boot.bin'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: ###################################################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 256220 (3e8dc hex)cRH平坦软件园
[u-boot@MINI2440]# tftp u-boot.bincRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
TFTP from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename 'u-boot.bin'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: T ##################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 256220 (3e8dc hex)cRH平坦软件园
[u-boot@MINI2440]# dhcp 192.168.1.100:u-boot.bincRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
BOOTP broadcast 1cRH平坦软件园
BOOTP broadcast 2cRH平坦软件园
DHCP client bound to address 192.168.1.101cRH平坦软件园
Using dm9000 devicecRH平坦软件园
TFTP from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename 'u-boot.bin'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: ##################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 256220 (3e8dc hex)cRH平坦软件园
[u-boot@MINI2440]# bootp 192.168.1.100:u-boot.bincRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
BOOTP broadcast 1cRH平坦软件园
BOOTP broadcast 2cRH平坦软件园
DHCP client bound to address 192.168.1.101cRH平坦软件园
Using dm9000 devicecRH平坦软件园
TFTP from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename 'u-boot.bin'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: ##################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 256220 (3e8dc hex)cRH平坦软件园
[u-boot@MINI2440]# rarpboot 192.168.1.100:u-boot.bincRH平坦软件园
 cRH平坦软件园

我的路由器没有开rarp协议,所以rarpboot 无法使用,要使用dhcp或 bootp 也是要路由或Host支持的。 cRH平坦软件园

(5)Nand Flash操作指令cRH平坦软件园

常用的Nand Flash指令如下:cRH平坦软件园
nand info      cRH平坦软件园

显示可使用的Nand FlashcRH平坦软件园
nand device [dev]cRH平坦软件园
     显示或设定当前使用的Nand FlashcRH平坦软件园
nand read addr off sizecRH平坦软件园
     Nand Flash读取命令,从Nand的 off 偏移地址处读取size 字节的数据到SDRAM的 addr地址。cRH平坦软件园
nand write addr off sizecRH平坦软件园
     Nand Flash烧写命令,将SDRAM的 addr地址处的size 字节的数据烧写到Nand的 off 偏移地址。cRH平坦软件园
nand write[.yaffs[1]] addr off sizecRH平坦软件园
     烧写yaffs 映像专用的命令,.yaffs1 for 512+16 NANDcRH平坦软件园
nand erase [clean] [off size]cRH平坦软件园
     Nand Flash檫除命令,擦除Nand Flash的 off 偏移地址处的size 字节的数据cRH平坦软件园
nand badcRH平坦软件园
     显示Nand Flash的坏块cRH平坦软件园
nand dump[.oob] offcRH平坦软件园
     显示Nand Flash中的数据(16进制)cRH平坦软件园
nand scrubcRH平坦软件园
     彻底擦除整块Nand Flash中的数据,包括OOB。可以擦除软件坏块标志。cRH平坦软件园
nand markbad offcRH平坦软件园
     标示Nand的 off 偏移地址处的块为坏块cRH平坦软件园
 cRH平坦软件园

使用范例:cRH平坦软件园
   [u-boot@MINI2440]# nand infocRH平坦软件园

Device 0: NAND 128MiB 3,3V 8-bit, sector size 128 KiBcRH平坦软件园
[u-boot@MINI2440]# nand device 0cRH平坦软件园
Device 0: NAND 128MiB 3,3V 8-bit... is now current devicecRH平坦软件园
[u-boot@MINI2440]# nand read 0x30008000 0x60000 200000cRH平坦软件园

NAND read: device 0 offset 0x60000, size 0x200000cRH平坦软件园
2097152 bytes read: OKcRH平坦软件园
[u-boot@MINI2440]# nand badcRH平坦软件园

Device 0 bad blocks:cRH平坦软件园
  030a0000cRH平坦软件园
  030c0000cRH平坦软件园
  030e0000cRH平坦软件园
  07ee0000cRH平坦软件园
[u-boot@MINI2440]# nand markbad 0x500000cRH平坦软件园
block 0x00500000 successfully marked as badcRH平坦软件园
[u-boot@MINI2440]# nand bad cRH平坦软件园

Device 0 bad blocks:cRH平坦软件园
  00500000cRH平坦软件园
  030a0000cRH平坦软件园
  030c0000cRH平坦软件园
  030e0000cRH平坦软件园
  07ee0000cRH平坦软件园
[u-boot@MINI2440]# nand scrubcRH平坦软件园

NAND scrub: device 0 whole chipcRH平坦软件园
Warning: scrub option will erase all factory set bad cRH平坦软件园
         There is no reliable way to recover them.cRH平坦软件园
         Use this command only for testing purposes if youcRH平坦软件园
         are sure of what you are cRH平坦软件园

Really scrub this NAND flash? <y/N>cRH平坦软件园
Erasing at 0x2f4000008000000 -- 0% complete.cRH平坦软件园
NAND 128MiB 3,3V 8-bit: MTD Erase failure: -5cRH平坦软件园

NAND 128MiB 3,3V 8-bit: MTD Erase failure: -5cRH平坦软件园

NAND 128MiB 3,3V 8-bit: MTD Erase failure: -5cRH平坦软件园
Erasing at 0x7ea000008000000 -- 0% complete.cRH平坦软件园
NAND 128MiB 3,3V 8-bit: MTD Erase failure: -5cRH平坦软件园
Erasing at 0x7fe000008000000 -- 0% complete.cRH平坦软件园
OKcRH平坦软件园
[u-boot@MINI2440]# nand badcRH平坦软件园

Device 0 bad blocks:cRH平坦软件园
  030a0000cRH平坦软件园
  030c0000cRH平坦软件园
  030e0000cRH平坦软件园
  07ee0000cRH平坦软件园
[u-boot@MINI2440]# nand dump 0x8000cRH平坦软件园
Page 00008000 dump:cRH平坦软件园
    ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffcRH平坦软件园
         (略)cRH平坦软件园
OOB:cRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
[u-boot@MINI2440]# tftp u-boot.bincRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
TFTP from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename 'u-boot.bin'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: T ##################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 256220 (3e8dc hex)cRH平坦软件园
[u-boot@MINI2440]# nand write 0x30008000 0 40000cRH平坦软件园

NAND write: device 0 offset 0x0, size 0x40000cRH平坦软件园
Writing at 0x2000000020000 -- 100% is complete. 262144 bytes written: OKcRH平坦软件园
[u-boot@MINI2440]# nand dump 0x8000cRH平坦软件园
Page 00008000 dump:cRH平坦软件园
    00 00 53 e1 01 00 00 2a 15 40 e0 e3 19 00 00 eacRH平坦软件园
         (略)cRH平坦软件园
    60 30 97 e5 03 00 54 e1 f6 ff ff ba 00 40 a0 e3cRH平坦软件园
OOB:cRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    ff ff ff ff ff ff ff ffcRH平坦软件园
    65 a9 6b f3 ff 33 fc 30cRH平坦软件园
    f3 33 cf 33 0f f0 ff 00cRH平坦软件园
    cc 0f 59 55 57 96 a5 5bcRH平坦软件园

cRH平坦软件园

nboot 指令也是一条Nand Flash 读取指令,它是将Nand Flash 的 offset 偏移地址的内核映像读取到SDRAM的loadAddr位置。它会自动读取到内核映像(使用mkimage处理过的)的结束,所以不用给出读取大小。cRH平坦软件园
格式:nboot  loadAddr  dev  offsetcRH平坦软件园
使用范例:cRH平坦软件园
[u-boot@MINI2440]# tftp 192.168.1.100:zImage.imgcRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
TFTP from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename 'zImage.img'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: T #################################################################cRH平坦软件园
     #################################################################cRH平坦软件园
     ##########################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 2277540 (22c0a4 hex)cRH平坦软件园
[u-boot@MINI2440]# nand erase 0x100000 300000cRH平坦软件园

NAND erase: device 0 offset 0x100000, size 0x300000cRH平坦软件园
Erasing at 0x3e000001800000 -- 0% complete.cRH平坦软件园
OKcRH平坦软件园
[u-boot@MINI2440]# nand write 0x30008000 0x100000 300000cRH平坦软件园

NAND write: device 0 offset 0x100000, size 0x300000cRH平坦软件园
Writing at 0x3e000000020000 -- 100% is complete. 3145728 bytes written: OKcRH平坦软件园
[u-boot@MINI2440]# nand device 0cRH平坦软件园
Device 0: NAND 128MiB 3,3V 8-bit... is now current devicecRH平坦软件园
[u-boot@MINI2440]# nboot 30008000 0 0x100000cRH平坦软件园

Loading from NAND 128MiB 3,3V 8-bit, offset 0x100000cRH平坦软件园
   Image Name: tekkamancRH平坦软件园
   Created: 2010-03-29 12:59:51 UTCcRH平坦软件园
   Image Type: ARM Linux Kernel Image (uncompressed)cRH平坦软件园
   Data Size: 2277476 Bytes = 2.2 MBcRH平坦软件园
   Load Address: 30008000cRH平坦软件园
   Entry Point: 30008040cRH平坦软件园

[u-boot@MINI2440]# bootm 30008000cRH平坦软件园
## Booting kernel from Legacy Image at 30008000 ...cRH平坦软件园
   Image Name: tekkamancRH平坦软件园
   Created: 2010-03-29 12:59:51 UTCcRH平坦软件园
   Image Type: ARM Linux Kernel Image (uncompressed)cRH平坦软件园
   Data Size: 2277476 Bytes = 2.2 MBcRH平坦软件园
   Load Address: 30008000cRH平坦软件园
   Entry Point: 30008040cRH平坦软件园
   Verifying Checksum ... OKcRH平坦软件园
   XIP Kernel Image ... OKcRH平坦软件园
OKcRH平坦软件园

Starting kernel ...cRH平坦软件园

Uncompressing Linux... done, booting the kernel.cRH平坦软件园
Linux version 2.6.33.1 (tekkaman@MAGI-Linux) (gcc version 4.3.2 (crosstool-NG-1.6.1-tekkaman) ) #5 Mon Mar 29 20:58:50 CST 2010cRH平坦软件园
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177cRH平坦软件园
CPU: VIVT data cache, VIVT instruction cachecRH平坦软件园
Machine: MINI2440cRH平坦软件园
(略)cRH平坦软件园
 cRH平坦软件园
(6) 内存/寄存器操作指令cRH平坦软件园

nm      修改内存值 (指定地址)    cRH平坦软件园
格式: nm [.b, .w, .l] addresscRH平坦软件园

mm     修改内存值(地址自动加一)cRH平坦软件园
格式:  mm [.b, .w, .l] addresscRH平坦软件园

md       显示内存值cRH平坦软件园
格式:  md [.b, .w, .l] address [# of objects]cRH平坦软件园

mw     用指定的数据填充内存cRH平坦软件园
格式:  mw [.b, .w, .l] address value [count]cRH平坦软件园

cp      内存的拷贝(包括内存与Nor Flash间的数据拷贝)cRH平坦软件园
格式:cp [.b, .w, .l] source target countcRH平坦软件园

上面是查看和修改内存值的指令,可以查看和修改SDRAM和寄存器值。cRH平坦软件园
[.b, .w, .l]代表了查看和修改形式:bit、word、longcRH平坦软件园
使用范例:cRH平坦软件园

[u-boot@MINI2440]# md.b 0x30008000 20cRH平坦软件园
30008000: cc 33 fe 33 cc b3 4c 33 ac 33 de 33 5c 13 cc 33 .3.3..L3.3.3/..3cRH平坦软件园
30008010: cc 32 cc 31 dc 33 cf 33 cc 33 4e 33 8f 13 cc 33 .2.1.3.3.3N3...3cRH平坦软件园
[u-boot@MINI2440]# md.w 0x30008000 20cRH平坦软件园
30008000: 33cc 33fe b3cc 334c 33ac 33de 135c 33cc .3.3..L3.3.3/..3cRH平坦软件园
30008010: 32cc 31cc 33dc 33cf 33cc 334e 138f 33cc .2.1.3.3.3N3...3cRH平坦软件园
30008020: 338c 33cd 33cc 7bcc 3bcc 33cc 135e 734c .3.3.3.{.;.3^.LscRH平坦软件园
30008030: 7bdc 37cc 31dc 33c4 038c 33e8 77cc 13cc .{.7.1.3...3.w..cRH平坦软件园
[u-boot@MINI2440]# md.l 0x30008000 20cRH平坦软件园
30008000: 33fe33cc 334cb3cc 33de33ac 33cc135c .3.3..L3.3.3/..3cRH平坦软件园
30008010: 31cc32cc 33cf33dc 334e33cc 33cc138f .2.1.3.3.3N3...3cRH平坦软件园
30008020: 33cd338c 7bcc33cc 33cc3bcc 734c135e .3.3.3.{.;.3^.LscRH平坦软件园
30008030: 37cc7bdc 33c431dc 33e8038c 13cc77cc .{.7.1.3...3.w..cRH平坦软件园
30008040: 234c77ce 33dc339c 33ec3ece f3cc36ec .wL#.3.3.>.3.6..cRH平坦软件园
30008050: 37dc33cc 73cc3f5c 17dd314c 33cc62e8 .3.7/?.sL1...b.3cRH平坦软件园
30008060: b6cc33dc 33c233cc 33cc32cc 33cc3f68 .3...3.3.2.3h?.3cRH平坦软件园
30008070: 73cc31cc b3cc33cc 33cc37c9 33df13cc .1.s.3...7.3...3cRH平坦软件园
[u-boot@MINI2440]# nm 0x30008000cRH平坦软件园
30008000: 33fe33cc ? 12345678cRH平坦软件园
30008000: 12345678 ? 34567890cRH平坦软件园
30008000: 34567890 ? qcRH平坦软件园
[u-boot@MINI2440]# nm.b 0x30008000cRH平坦软件园
30008000: 90 ? 11cRH平坦软件园
30008000: 11 ? 12cRH平坦软件园
30008000: 12 ? qcRH平坦软件园
[u-boot@MINI2440]# mm 0x30008000cRH平坦软件园
30008000: 34567812 ? 54321123cRH平坦软件园
30008004: 334cb3cc ? 12345678cRH平坦软件园
30008008: 33de33ac ? 21234543cRH平坦软件园
3000800c: 33cc135c ? qcRH平坦软件园
[u-boot@MINI2440]# md.b 0x30008000 20cRH平坦软件园
30008000: 23 11 32 54 78 56 34 12 43 45 23 21 5c 13 cc 33 #.2TxV4.CE#!/..3cRH平坦软件园
30008010: cc 32 cc 31 dc 33 cf 33 cc 33 4e 33 8f 13 cc 33 .2.1.3.3.3N3...3cRH平坦软件园
[u-boot@MINI2440]# mw.b 0x30008000 aa 10cRH平坦软件园
[u-boot@MINI2440]# mw.b 0x30008010 55 10cRH平坦软件园
[u-boot@MINI2440]# md.b 0x30008000 20cRH平坦软件园
30008000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................cRH平坦软件园
30008010: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUUcRH平坦软件园
[u-boot@MINI2440]# cp.b 0x30008000 0x30008010 10cRH平坦软件园
[u-boot@MINI2440]# md.b 0x30008000 20cRH平坦软件园
30008000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................cRH平坦软件园
30008010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
你可以试着修改LED相连的GPIO寄存器的数据寄存器值,可以控制LED的点亮!cRH平坦软件园
先熄灭后点亮LED1的范例:(这个实验要结合芯片数据手册和mini2440的原理图来理解) [u-boot@MINI2440]# md 0x56000014 1cRH平坦软件园
56000014: 00000600 ....cRH平坦软件园
[u-boot@MINI2440]# nm.w 0x56000014 cRH平坦软件园
56000014: 0600 ? 620 (熄灭)cRH平坦软件园
56000014: 0620 ? 600 (点亮)cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园

(7) Nor Flash指令cRH平坦软件园

Nor Flash 的命令经常用于烧写数据到Nor Flash 。cRH平坦软件园

flinfo  打印Flash存储器的信息,并列出所有Sector。cRH平坦软件园
flinfo  N 单独打Flash存储器N Block的信息。(在有多块Nor Flash时使用)cRH平坦软件园
使用范例:cRH平坦软件园
[u-boot@MINI2440]# flinfocRH平坦软件园

Bank # 1: SST: 1x SST39VF1601 (2MB)cRH平坦软件园
  Size: 2 MB in 32 SectorscRH平坦软件园
  Sector Start Addresses:cRH平坦软件园
    00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000cRH平坦软件园
    00050000 00060000 (RO) 00070000 (RO) 00080000 00090000cRH平坦软件园
    000A0000 000B0000 000C0000 000D0000 000E0000cRH平坦软件园
    000F0000 00100000 00110000 00120000 00130000cRH平坦软件园
    00140000 00150000 00160000 00170000 00180000cRH平坦软件园
    00190000 001A0000 001B0000 001C0000 001D0000cRH平坦软件园
001E0000 001F0000cRH平坦软件园
[u-boot@MINI2440]# flinfo 1cRH平坦软件园

Bank # 1: SST: 1x SST39VF1601 (2MB)cRH平坦软件园
  Size: 2 MB in 32 SectorscRH平坦软件园
  Sector Start Addresses:cRH平坦软件园
    00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000cRH平坦软件园
    00050000 00060000 (RO) 00070000 (RO) 00080000 00090000cRH平坦软件园
    000A0000 000B0000 000C0000 000D0000 000E0000cRH平坦软件园
    000F0000 00100000 00110000 00120000 00130000cRH平坦软件园
    00140000 00150000 00160000 00170000 00180000cRH平坦软件园
    00190000 001A0000 001B0000 001C0000 001D0000cRH平坦软件园
    001E0000 001F0000cRH平坦软件园
[u-boot@MINI2440]# flinfo 2cRH平坦软件园
Only FLASH Banks # 1 ... # 1 supportedcRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
后面带有(RO)的说明这个Sector已经写保护了。cRH平坦软件园

因为Nor Flash的读取接口和SDRAM是一样的,所以Nor Flash的读取也是使用md命令。范例如下:cRH平坦软件园
[u-boot@MINI2440]# md.b 0x0 20cRH平坦软件园
00000000: 12 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 ................cRH平坦软件园
00000010: 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 ................cRH平坦软件园
[u-boot@MINI2440]# md 0x0 20cRH平坦软件园
00000000: ea000012 e59ff014 e59ff014 e59ff014 ................cRH平坦软件园
00000010: e59ff014 e59ff014 e59ff014 e59ff014 ................cRH平坦软件园
00000020: 33f80260 33f802c0 33f80320 33f80380 `..3...3 ..3...3cRH平坦软件园
00000030: 33f803e0 33f80440 33f804a0 deadbeef ...3@..3...3....cRH平坦软件园
00000040: 33f80000 33f80000 33fbe8dc 3400374c ...3...3...3L7.4cRH平坦软件园
00000050: e10f0000 e3c0001f e38000d3 e129f000 ..............).cRH平坦软件园
00000060: e3a00453 e3a01000 e5801000 e3e01000 S...............cRH平坦软件园
00000070: e59f0488 e5801000 e59f1484 e59f0484 ................cRH平坦软件园

cRH平坦软件园

cRH平坦软件园
    但由于Nor Flash的烧写时序和SDRAM的写入不同,烧写Nor  Flash 不能使用mm等命令,只能使用cp命令从内存拷贝到Nor Flash,而且烧写之前必须解除保护并擦除!命令如下:cRH平坦软件园

protect :对Flash 写保护的操作,可以使能和解除写保护。cRH平坦软件园
格式:cRH平坦软件园
protect on/off start end cRH平坦软件园
protect on/off start +end cRH平坦软件园
protect on/off N:SF[-SL] cRH平坦软件园
protect on/off bank N cRH平坦软件园
protect on/off all cRH平坦软件园

第1 个参数on 代表使能写保护;off 代表解除写保护。cRH平坦软件园
第2 、3 参数是指定Flash 写保护操作范围cRH平坦软件园

start end是照起始地址和结束地址定义范围,start是擦除块的起始地址;end 是擦除末尾块的结束地址。cRH平坦软件园
例如:擦除Sector 2和Sector 3区域命令为erase 20000 3ffff 。 cRH平坦软件园

start +end是照起始地址和操作字节数定义范围,这种方式最常用。start是擦除块的起始地址;end 是擦除的字节数。cRH平坦软件园
例如:擦除Sector 2和Sector 3区域命令为erase 20000  +20000cRH平坦软件园

N:SF[-SL]是按照组和扇区,N 表示Flash 的Block号,SF 表示擦除起始Sector号,SL 表示擦除结束Sector号。cRH平坦软件园
例如:擦除Block1 的Sector 2和Sector 3区域命令为erase 1:2-3。cRH平坦软件园

bank N是擦除整个Block,擦除Block号为N 的整个Flash。cRH平坦软件园

all是擦除全部Flash。cRH平坦软件园

注意:Nor Flash擦除的最小单位是Sector,也就是0x10000字节,如果你定义的大小不满1 Sector或超过Sector的边界,那么被定义到的Sector会被全部擦除。cRH平坦软件园
erase  :擦除Flash的命令cRH平坦软件园
格式:cRH平坦软件园
erase start end cRH平坦软件园
erase start +end cRH平坦软件园
erase N:SF[-SL] cRH平坦软件园
erase bank N cRH平坦软件园
erase all cRH平坦软件园
参数是指定Flash 擦除操作范围,跟写保护的方式相同。cRH平坦软件园

以下的范例将mini2440的Nor Flash的Sector 16写保护,再解除保护,擦除数据,最后将起始的20字节拷贝到Sector 16。cRH平坦软件园

[u-boot@MINI2440]# flinfo 1cRH平坦软件园

Bank # 1: SST: 1x SST39VF1601 (2MB)cRH平坦软件园
  Size: 2 MB in 32 SectorscRH平坦软件园
  Sector Start Addresses:cRH平坦软件园
    00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000cRH平坦软件园
    00050000 00060000 (RO) 00070000 (RO) 00080000 00090000cRH平坦软件园
    000A0000 000B0000 000C0000 000D0000 000E0000cRH平坦软件园
    000F0000 00100000 00110000 00120000 00130000cRH平坦软件园
    00140000 00150000 00160000 00170000 00180000cRH平坦软件园
    00190000 001A0000 001B0000 001C0000 001D0000cRH平坦软件园
001E0000 001F0000cRH平坦软件园
[u-boot@MINI2440]# protect on 1:16-16cRH平坦软件园
Protect Flash Sectors 16-16 in Bank # 1cRH平坦软件园
[u-boot@MINI2440]# flinfo 1cRH平坦软件园

Bank # 1: SST: 1x SST39VF1601 (2MB)cRH平坦软件园
  Size: 2 MB in 32 SectorscRH平坦软件园
  Sector Start Addresses:cRH平坦软件园
    00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000cRH平坦软件园
    00050000 00060000 (RO) 00070000 (RO) 00080000 00090000cRH平坦软件园
    000A0000 000B0000 000C0000 000D0000 000E0000cRH平坦软件园
    000F0000 00100000 (RO) 00110000 00120000 00130000cRH平坦软件园
    00140000 00150000 00160000 00170000 00180000cRH平坦软件园
    00190000 001A0000 001B0000 001C0000 001D0000cRH平坦软件园
    001E0000 001F0000cRH平坦软件园
[u-boot@MINI2440]# protect off 0x100000 0x10ffffcRH平坦软件园
Un-Protect Flash Sectors 16-16 in Bank # 1cRH平坦软件园
[u-boot@MINI2440]# flinfo 1cRH平坦软件园

Bank # 1: SST: 1x SST39VF1601 (2MB)cRH平坦软件园
  Size: 2 MB in 32 SectorscRH平坦软件园
  Sector Start Addresses:cRH平坦软件园
    00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000cRH平坦软件园
    00050000 00060000 (RO) 00070000 (RO) 00080000 00090000cRH平坦软件园
    000A0000 000B0000 000C0000 000D0000 000E0000cRH平坦软件园
    000F0000 00100000 00110000 00120000 00130000cRH平坦软件园
    00140000 00150000 00160000 00170000 00180000cRH平坦软件园
    00190000 001A0000 001B0000 001C0000 001D0000cRH平坦软件园
    001E0000 001F0000cRH平坦软件园
[u-boot@MINI2440]# erase 0x100000 +20cRH平坦软件园
Erasing sector 16 ... ok.cRH平坦软件园
Erased 1 sectorscRH平坦软件园
[u-boot@MINI2440]# cp.b 0x0 0x100000 0x20cRH平坦软件园
Copy to Flash... donecRH平坦软件园
[u-boot@MINI2440]# md.b 100000 20cRH平坦软件园
00100000: 12 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 ................cRH平坦软件园
00100010: 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 ................cRH平坦软件园

cRH平坦软件园

cRH平坦软件园
(8) USB 操作指令cRH平坦软件园
usb resetcRH平坦软件园
     初始化USB控制器cRH平坦软件园
usb stop [f]cRH平坦软件园
     关闭USB控制器cRH平坦软件园
usb treecRH平坦软件园
     已连接的USB设备树cRH平坦软件园
usb info [dev]cRH平坦软件园
     显示USB设备[dev]的信息cRH平坦软件园
usb storagecRH平坦软件园
     显示已连接的USB存储设备cRH平坦软件园
usb dev [dev]cRH平坦软件园
     显示和设置当前USB存储设备cRH平坦软件园
usb part [dev]cRH平坦软件园
     显示USB存储设备[dev]的分区信息cRH平坦软件园
usb read addr blk# cntcRH平坦软件园
     读取USB存储设备数据cRH平坦软件园
cRH平坦软件园
在所有的命令使用前,必须先插入USB设备,然后使用:usb reset,以初始化USB控制器,获取设备信息.我将一个4G的kingstonU盘(可引导盘)插入 mini2440,然后读取他的头512 字节(MBR): cRH平坦软件园
[u-boot@MINI2440]# usb resetcRH平坦软件园
(Re)start USB...cRH平坦软件园
USB: scanning bus for devices... 2 USB Device(s) foundcRH平坦软件园
       scanning bus for storage devices... 1 Storage Device(s) foundcRH平坦软件园
[u-boot@MINI2440]# usb treecRH平坦软件园

Device Tree:cRH平坦软件园
  1 Hub (12 Mb/s, 0mA)cRH平坦软件园
  | OHCI Root HubcRH平坦软件园
  |cRH平坦软件园
  +-2 Mass Storage (12 Mb/s, 100mA)cRH平坦软件园
       Kingston DT 101 II 0019E02CB6EB5B8B1B120051cRH平坦软件园

[u-boot@MINI2440]# usb infocRH平坦软件园
1: Hub, USB Revision 1.10cRH平坦软件园
- OHCI Root HubcRH平坦软件园
- Class: HubcRH平坦软件园
- PacketSize: 8 Configurations: 1cRH平坦软件园
- Vendor: 0x0000 Product 0x0000 Version 0.0cRH平坦软件园
   Configuration: 1cRH平坦软件园
   - Interfaces: 1 Self Powered 0mAcRH平坦软件园
     Interface: 0cRH平坦软件园
     - Alternate Setting 0, Endpoints: 1cRH平坦软件园
     - Class HubcRH平坦软件园
     - Endpoint 1 In Interrupt MaxPacket 2 Interval 255mscRH平坦软件园

2: Mass Storage, USB Revision 2.0cRH平坦软件园
- Kingston DT 101 II 0019E02CB6EB5B8B1B120051cRH平坦软件园
- Class: (from Interface) Mass StoragecRH平坦软件园
- PacketSize: 64 Configurations: 1cRH平坦软件园
- Vendor: 0x0951 Product 0x1613 Version 1.0cRH平坦软件园
   Configuration: 1cRH平坦软件园
   - Interfaces: 1 Bus Powered 100mAcRH平坦软件园
     Interface: 0cRH平坦软件园
     - Alternate Setting 0, Endpoints: 2cRH平坦软件园
     - Class Mass Storage, Transp. SCSI, Bulk onlycRH平坦软件园
     - Endpoint 1 In Bulk MaxPacket 64cRH平坦软件园
     - Endpoint 2 Out Bulk MaxPacket 64cRH平坦软件园

[u-boot@MINI2440]# usb storagecRH平坦软件园
  Device 0: Vendor: Kingston Rev: PMAP Prod: DT 101 IIcRH平坦软件园
            Type: Removable Hard DiskcRH平坦软件园
            Capacity: 3875.0 MB = 3.7 GB (7936000 x 512)cRH平坦软件园
[u-boot@MINI2440]# usb dev 0cRH平坦软件园

USB device 0:cRH平坦软件园
    Device 0: Vendor: Kingston Rev: PMAP Prod: DT 101 IIcRH平坦软件园
            Type: Removable Hard DiskcRH平坦软件园
            Capacity: 3875.0 MB = 3.7 GB (7936000 x 512)cRH平坦软件园
... is now current devicecRH平坦软件园
[u-boot@MINI2440]# usb part 0cRH平坦软件园
print_part of 0cRH平坦软件园

Partition Map for USB device 0 -- Partition Type: DOScRH平坦软件园

Partition Start Sector Num Sectors TypecRH平坦软件园
    4 63 7935937 ccRH平坦软件园
[u-boot@MINI2440]# usb read 0x30008000 0 200cRH平坦软件园

USB read: device 0 block # 0, count 512 ... .........................cRH平坦软件园
512 blocks read: OKcRH平坦软件园
[u-boot@MINI2440]# md.b 0x30008000 200cRH平坦软件园

30008000: fa 31 c0 8e d8 8e c0 8e d0 bc 00 7c fb fc 89 e6cRH平坦软件园
.1.........|....cRH平坦软件园
30008010: bf 00 06 b9 00 01 f3 a5 ea dc 06 00 00 10 00 01cRH平坦软件园
................cRH平坦软件园
30008020: 00 00 7c 00 00 00 00 00 00 00 00 00 00 80 3f 00cRH平坦软件园
..|...........?.cRH平坦软件园
30008030: ff 00 ed 01 1e 0e 1f 3a 16 10 00 74 06 1f ea 36cRH平坦软件园
.......:...t...6cRH平坦软件园
30008040: e7 00 f0 3d fb 54 75 05 8c d8 fb eb 1d 80 fc 08cRH平坦软件园
...=.Tu.........cRH平坦软件园
30008050: 75 1b e8 81 00 8a 36 13 00 fe ce 8b 0e 15 00 86cRH平坦软件园
u.....6.........cRH平坦软件园
30008060: cd c0 e1 06 0a 0e 11 00 31 c0 f8 eb 65 80 fc 02cRH平坦软件园
........1...e...cRH平坦软件园
30008070: 72 cb 80 fc 04 77 c6 60 80 cc 40 50 be 00 00 c7cRH平坦软件园
r....w.`..@P....cRH平坦软件园
30008080: 04 10 00 30 e4 89 44 02 89 5c 04 8c 44 06 66 31cRH平坦软件园
...0..D../..D.f1cRH平坦软件园
30008090: c0 66 89 44 0c 88 f0 f6 26 11 00 88 cf 88 eb c0cRH平坦软件园
.f.D....&.......cRH平坦软件园
300080a0: ef 06 81 e1 3f 00 01 c8 48 89 c7 a1 13 00 f7 26cRH平坦软件园
....?...H......&cRH平坦软件园
300080b0: 11 00 f7 e3 01 f8 81 d2 00 00 89 44 08 89 54 0acRH平坦软件园
...........D..T.cRH平坦软件园
300080c0: 58 30 c0 8a 16 10 00 e8 0c 00 88 26 03 00 61 a1cRH平坦软件园
X0.........&..a.cRH平坦软件园
300080d0: 02 00 1f ca 02 00 9c ff 1e 22 00 c3 80 fa 8f 7fcRH平坦软件园
........."......cRH平坦软件园
300080e0: 04 88 16 2d 06 be 87 07 e8 8d 00 be be 07 31 c0cRH平坦软件园
...-..........1.cRH平坦软件园
300080f0: b9 04 00 f6 04 80 74 03 40 89 f5 81 c6 10 00 e2cRH平坦软件园
......t.@.......cRH平坦软件园
30008100: f2 48 74 02 cd 18 bf 05 00 be 1d 06 c7 44 02 01cRH平坦软件园
.Ht..........D..cRH平坦软件园
30008110: 00 66 8b 46 08 66 89 44 08 b8 00 42 8a 16 2d 06cRH平坦软件园
.f.F.f.D...B..-.cRH平坦软件园
30008120: cd 13 73 0d 4f 74 49 30 e4 8a 16 2d 06 cd 13 ebcRH平坦软件园
..s.OtI0...-....cRH平坦软件园
30008130: d8 a1 fe 7d 3d 55 aa 75 37 fa 66 a1 4c 00 66 a3cRH平坦软件园
...}=U.u7.f.L.f.cRH平坦软件园
30008140: 3f 06 be 13 04 8b 04 48 89 04 c1 e0 06 8e c0 31cRH平坦软件园
?......H.......1cRH平坦软件园
30008150: ff be 1d 06 b9 60 00 fc f3 a5 c7 06 4c 00 17 00cRH平坦软件园
.....`......L...cRH平坦软件园
30008160: a3 4e 00 fb 8a 16 2d 06 89 ee fa ea 00 7c 00 00cRH平坦软件园
.N....-......|..cRH平坦软件园
30008170: be aa 07 e8 02 00 eb fe ac 20 c0 74 09 b4 0e bbcRH平坦软件园
......... .t....cRH平坦软件园
30008180: 07 00 cd 10 eb f2 c3 53 74 61 72 74 20 62 6f 6fcRH平坦软件园
.......Start boocRH平坦软件园
30008190: 74 69 6e 67 20 66 72 6f 6d 20 55 53 42 20 64 65cRH平坦软件园
ting from USB decRH平坦软件园
300081a0: 76 69 63 65 2e 2e 2e 0d 0a 00 42 6f 6f 74 20 66cRH平坦软件园
vice......Boot fcRH平坦软件园
300081b0: 61 69 6c 65 64 00 00 00 ea eb d4 ca 00 00 00 00cRH平坦软件园
ailed...........cRH平坦软件园
300081c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00cRH平坦软件园
................cRH平坦软件园
300081d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00cRH平坦软件园
................cRH平坦软件园
300081e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01cRH平坦软件园
................cRH平坦软件园
300081f0: 01 00 0c fe 7f ec 3f 00 00 00 c1 17 79 00 55 aacRH平坦软件园
......?.....y.U.cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园

(9) SD卡(MMC)指令cRH平坦软件园

cRH平坦软件园
SD卡的使用命令比较简单,只有初始化和设备信息的显示,读写是通过文件系统命令实现的。cRH平坦软件园
mmc init [dev] - 初始化MMC子系统cRH平坦软件园
mmc device [dev] - 查看和设置当前设备cRH平坦软件园
使用和USB类似,在所有的命令使用前,必须先插入SD卡,然后使用:mmc init,以初始化MMC 控制器,获取设备信息。cRH平坦软件园
我在mini2440中插入1GB SD卡:cRH平坦软件园

[u-boot@MINI2440]# mmc initcRH平坦软件园
mmc: Probing for SDHC ...cRH平坦软件园
mmc: SD 2.0 or later card foundcRH平坦软件园
trying to detect SD Card...cRH平坦软件园
Manufacturer: 0x00, OEM "roduct name: "cRH平坦软件园
", revision 0.0cRH平坦软件园
Serial number:cRH平坦软件园
7864775cRH平坦软件园
Manufacturing date: 11/2006cRH平坦软件园
CRC:cRH平坦软件园
0x4f, b0 = 1cRH平坦软件园
READ_BL_LEN=6, C_SIZE_MULT=7, C_SIZE=4095cRH平坦软件园
size = 0cRH平坦软件园
SD Card detected RCA: 0x2 type: SDcRH平坦软件园
mmc1 is availablecRH平坦软件园
[u-boot@MINI2440]# mmc devicecRH平坦软件园
mmc1 is current devicecRH平坦软件园
 cRH平坦软件园

cRH平坦软件园

(10) FAT文件系统指令cRH平坦软件园

fatinfo:显示文件系统的相关信息cRH平坦软件园
格式:fatinfo <interface> <dev[:part]>cRH平坦软件园
Interface:代表接口,如usb、mmc;cRH平坦软件园
dev:代表设备编号,如0、1……;cRH平坦软件园
part:代表存储设备中的分区,如1、2……。cRH平坦软件园
fatload:从FAT32文件系统中读取二进制文件到SDRAM。cRH平坦软件园
格式:fatload <interface> <dev[:part]>  <addr> <filename> [bytes]cRH平坦软件园
Interface、dev和part同上;cRH平坦软件园
addr:代表写入SDRAM的地址;cRH平坦软件园
filename:代表存储设备中的文件名;cRH平坦软件园
bytes:代表从存储设备中读取的文件大小,可不填;如果填的数据比文件小,就只读取bytes字节,如果填的数据比文件大,也只读取文件的大小。cRH平坦软件园
fatls:列出FAT32文件系统中目录里的文件。cRH平坦软件园
格式:fatls <interface> <dev[:part]> [directory]cRH平坦软件园
Interface、dev和part同上;cRH平坦软件园
directoryr:代表所要查看的目录,可不填,默认为/。cRH平坦软件园
这些指令基本上要和U盘或者SD卡同时使用,主要用于读取这些移动存储器上的FAT32分区。cRH平坦软件园
使用范例:cRH平坦软件园

[u-boot@MINI2440]# usb part 0cRH平坦软件园
print_part of 0cRH平坦软件园

Partition Map for USB device 0 -- Partition Type: DOScRH平坦软件园

Partition Start Sector Num Sectors TypecRH平坦软件园
    4 63 7935937 ccRH平坦软件园
[u-boot@MINI2440]# fatinfo usb 0:4cRH平坦软件园
Interface: USBcRH平坦软件园
  Device 0: Vendor: Kingston Rev: PMAP Prod: DT 101 IIcRH平坦软件园
            Type: Removable Hard DiskcRH平坦软件园
            Capacity: 3875.0 MB = 3.7 GB (7936000 x 512)cRH平坦软件园
Partition 4: Filesystem: FAT32 "7600_16385_"cRH平坦软件园
[u-boot@MINI2440]# fatls usb 0:4cRH平坦软件园
            boot/cRH平坦软件园
            efi/cRH平坦软件园
            sources/cRH平坦软件园
            support/cRH平坦软件园
            upgrade/cRH平坦软件园
       43 autorun.infcRH平坦软件园
   383562 bootmgrcRH平坦软件园
   111880 setup.execRH平坦软件园
   256220 u-boot.bincRH平坦软件园

4 file(s), 5 dir(s)cRH平坦软件园

[u-boot@MINI2440]# fatls usb 0:4 /boot/cRH平坦软件园
            ./cRH平坦软件园
            ../cRH平坦软件园
            fonts/cRH平坦软件园
            zh-cn/cRH平坦软件园
   262144 bcdcRH平坦软件园
  3170304 boot.sdicRH平坦软件园
     1024 bootfix.bincRH平坦软件园
    97280 bootsect.execRH平坦软件园
     4096 etfsboot.comcRH平坦软件园
   485440 memtest.execRH平坦软件园

6 file(s), 4 dir(s)cRH平坦软件园
[u-boot@MINI2440]# fatload usb 0:4 0x30008000 u-boot.bincRH平坦软件园
reading u-boot.bincRH平坦软件园
........................cRH平坦软件园

256220 bytes readcRH平坦软件园
[u-boot@MINI2440]# fatload usb 0:4 0x30008000 u-boot.bin 200cRH平坦软件园
reading u-boot.bincRH平坦软件园

512 bytes readcRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
(11) 系统引导指令cRH平坦软件园

boot  和bootd  都是运行ENV”bootcmd”中指定的指令。cRH平坦软件园

bootm 指令是专门用于启动在SDRAM中的用U-boot的mkimage工具处理过的内核映像。cRH平坦软件园
格式:bootm [addr [arg ...]]cRH平坦软件园
addr 是内核映像所在的SDRAM中的地址cRH平坦软件园
当启动的是Linux内核时,'arg' 可以使 initrd 的地址。cRH平坦软件园
[u-boot@MINI2440]# setenv bootcmd tftp/;bootmcRH平坦软件园
[u-boot@MINI2440]# saveenvcRH平坦软件园
Saving Environment to NAND...cRH平坦软件园
Erasing Nand...cRH平坦软件园
Erasing at 0x6000000000002 -- 0% complete.cRH平坦软件园
Writing to Nand... donecRH平坦软件园
[u-boot@MINI2440]# bootcRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
TFTP from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename 'zImage.img'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: T #################################################################cRH平坦软件园
     #################################################################cRH平坦软件园
     ##########################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 2277540 (22c0a4 hex)cRH平坦软件园
## Booting kernel from Legacy Image at 30008000 ...cRH平坦软件园
   Image Name: tekkamancRH平坦软件园
   Created: 2010-03-29 12:59:51 UTCcRH平坦软件园
   Image Type: ARM Linux Kernel Image (uncompressed)cRH平坦软件园
   Data Size: 2277476 Bytes = 2.2 MBcRH平坦软件园
   Load Address: 30008000cRH平坦软件园
   Entry Point: 30008040cRH平坦软件园
   Verifying Checksum ... OKcRH平坦软件园
   XIP Kernel Image ... OKcRH平坦软件园
OKcRH平坦软件园

Starting kernel ...cRH平坦软件园

Uncompressing Linux... done, booting the kernel.cRH平坦软件园
Linux version 2.6.33.1 (tekkaman@MAGI-Linux) (gcc version 4.3.2 (crosstool-NG-1.6.1-tekkaman) ) #5 Mon Mar 29 20:58:50 CST 2010cRH平坦软件园
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177cRH平坦软件园
CPU: VIVT data cache, VIVT instruction cachecRH平坦软件园
Machine: MINI2440cRH平坦软件园
(略)cRH平坦软件园

cRH平坦软件园
U-Boot 2009.11 ( 4月 04 2010 - 12:09:25)cRH平坦软件园

modified by tekkamanninja (tekkamanninja@163.com)cRH平坦软件园
Love Linux cRH平坦软件园

I2C: readycRH平坦软件园
DRAM: 64 MBcRH平坦软件园
Flash: 2 MBcRH平坦软件园
NAND: 128 MiBcRH平坦软件园
Video: 240x320x16 20kHz 62HzcRH平坦软件园
In: serialcRH平坦软件园
Out: serialcRH平坦软件园
Err: serialcRH平坦软件园
Net: dm9000cRH平坦软件园
U-Boot 2009.11 ( 4月 04 2010 - 12:09:25)cRH平坦软件园
modified by tekkamanninjacRH平坦软件园
(tekkamanninja@163.com)cRH平坦软件园
Love Linux cRH平坦软件园
Hit any key to stop autoboot: 0cRH平坦软件园
[u-boot@MINI2440]# bootdcRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
TFTP from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename 'zImage.img'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: T #################################################################cRH平坦软件园
     #################################################################cRH平坦软件园
     ##########################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 2277540 (22c0a4 hex)cRH平坦软件园
## Booting kernel from Legacy Image at 30008000 ...cRH平坦软件园
   Image Name: tekkamancRH平坦软件园
   Created: 2010-03-29 12:59:51 UTCcRH平坦软件园
   Image Type: ARM Linux Kernel Image (uncompressed)cRH平坦软件园
   Data Size: 2277476 Bytes = 2.2 MBcRH平坦软件园
   Load Address: 30008000cRH平坦软件园
   Entry Point: 30008040cRH平坦软件园
   Verifying Checksum ... OKcRH平坦软件园
   XIP Kernel Image ... OKcRH平坦软件园
OKcRH平坦软件园

Starting kernel ...cRH平坦软件园
(略)cRH平坦软件园

cRH平坦软件园

12)EEPROM 读写指令eeprom  - I2C 接口的EEPROM 读写指令cRH平坦软件园
格式:cRH平坦软件园
eeprom read  addr off cntcRH平坦软件园
eeprom write addr off cntcRH平坦软件园
第一个参数addr 是要写入或读出的数据在SDRAM中的存放地址;cRH平坦软件园
第二个参数off 是在EEPROM中的偏移;cRH平坦软件园
第三个参数cnt 是读写的数据字节数。cRH平坦软件园
使用范例:cRH平坦软件园
[u-boot@MINI2440]# md.b 0x30008000 2cRH平坦软件园
30008000: aa aa ..cRH平坦软件园
[u-boot@MINI2440]# eeprom read 0x30008000 10 2cRH平坦软件园

EEPROM @0x50 read: addr 30008000 off 0010 count 2 ... donecRH平坦软件园
[u-boot@MINI2440]# md.b 0x30008000 2cRH平坦软件园
30008000: ff ff ..cRH平坦软件园
[u-boot@MINI2440]# mm.b 0x30008000cRH平坦软件园
30008000: ff ? aacRH平坦软件园
30008001: ff ? 55cRH平坦软件园
30008002: aa ? qcRH平坦软件园
[u-boot@MINI2440]# md.b 0x30008000 2cRH平坦软件园
30008000: aa 55 .UcRH平坦软件园
[u-boot@MINI2440]# eeprom write 0x30008000 10 2cRH平坦软件园

EEPROM @0x50 write: addr 30008000 off 0010 count 2 ... donecRH平坦软件园
[u-boot@MINI2440]# eeprom read 0x30008010 10 2cRH平坦软件园

EEPROM @0x50 read: addr 30008010 off 0010 count 2 ... donecRH平坦软件园
[u-boot@MINI2440]# md.b 0x30008010 2cRH平坦软件园
30008010: aa 55 .UcRH平坦软件园

cRH平坦软件园

cRH平坦软件园
(13)设置和读取RTC指令cRH平坦软件园

cRH平坦软件园
date    - 设置和读取RTCcRH平坦软件园
格式:cRH平坦软件园
date [MMDDhhmm[[CC]YY][.ss]]cRH平坦软件园
MM:月份cRH平坦软件园
DD:日期cRH平坦软件园
hh:小时cRH平坦软件园
mm 分钟cRH平坦软件园
CC:年份的前两个数字cRH平坦软件园
YY:年份的后两个数字cRH平坦软件园
ss:秒数cRH平坦软件园
使用范例:cRH平坦软件园
[u-boot@MINI2440]# datecRH平坦软件园
Date: 1980-00-06 (Thursday) Time: 20:30:25cRH平坦软件园
[u-boot@MINI2440]# date 041100582010.20cRH平坦软件园
Date: 2010-04-11 (Sunday) Time: 0:58:20cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
(14)脚本运行指令cRH平坦软件园

run var [...]cRH平坦软件园
var :ENV中的脚本名 cRH平坦软件园
使用范例:cRH平坦软件园
[u-boot@MINI2440]# setenv a_run_test echo $bootfile /; versioncRH平坦软件园
[u-boot@MINI2440]# run a_run_testcRH平坦软件园
zImage.imgcRH平坦软件园

U-Boot 2009.11 ( 4&aelig;œˆ 04 2010 - 12:09:25)cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
(15)系统重启指令cRH平坦软件园

resetcRH平坦软件园
- 重启CPUcRH平坦软件园
[u-boot@MINI2440]# resetcRH平坦软件园
resetting ...cRH平坦软件园

cRH平坦软件园
U-Boot 2009.11 ( 4&aelig;œˆ 04 2010 - 12:09:25)cRH平坦软件园

modified by tekkamanninja (tekkamanninja@163.com)cRH平坦软件园
Love Linux cRH平坦软件园

I2C: readycRH平坦软件园
DRAM: 64 MBcRH平坦软件园
Flash: 2 MBcRH平坦软件园
NAND: 128 MiBcRH平坦软件园
Video: 240x320x16 20kHz 62HzcRH平坦软件园
In: serialcRH平坦软件园
Out: serialcRH平坦软件园
Err: serialcRH平坦软件园
Net: dm9000cRH平坦软件园
U-Boot 2009.11 ( 4&aelig;œˆ 04 2010 - 12:09:25)cRH平坦软件园
modified by tekkamanninjacRH平坦软件园
(tekkamanninja@163.com)cRH平坦软件园
Love Linux cRH平坦软件园
Hit any key to stop autoboot: 0cRH平坦软件园
[u-boot@MINI2440]#cRH平坦软件园

cRH平坦软件园

cRH平坦软件园
四、U-boot的使用(四)cRH平坦软件园

cRH平坦软件园
下载与烧写cRH平坦软件园

cRH平坦软件园
使用U-boot将映像文件烧写到板上的Flash,一般步骤是:cRH平坦软件园
(1)通过网络、串口、U盘、SD卡等方式将文件传输到SDRAM;cRH平坦软件园
(2)使用Nand Flash或Nor Flash相关的读写命令将SDRAM中的数据烧入Flash。cRH平坦软件园
下面是烧写范例:cRH平坦软件园
如果使用 SD卡和U盘形式更新U-boot,那么首先SD卡和U盘中必须有FAT32文件系统,并在里面存放了u-boot.bin 文件。cRH平坦软件园
1) 通过SD卡烧入Nand Flash:cRH平坦软件园
[u-boot@MINI2440]# mmc initcRH平坦软件园
mmc: Probing for SDHC ...cRH平坦软件园
mmc: SD 2.0 or later card foundcRH平坦软件园
trying to detect SD Card...cRH平坦软件园
Manufacturer:cRH平坦软件园
0x00, OEM "roduct name:cRH平坦软件园
"cRH平坦软件园
", revision 0.0cRH平坦软件园
Serial number:cRH平坦软件园
7864775cRH平坦软件园
Manufacturing date: 11/2006cRH平坦软件园
CRC:cRH平坦软件园
0x4f, b0 = 1cRH平坦软件园
READ_BL_LEN=6, C_SIZE_MULT=7, C_SIZE=4095cRH平坦软件园
size = 0cRH平坦软件园
SD Card detected RCA: 0x2 type: SDcRH平坦软件园
mmc1 is availablecRH平坦软件园
[u-boot@MINI2440]# fatload mmc 1 0x30008000 u-boot.bincRH平坦软件园
reading u-boot.bincRH平坦软件园

256220 bytes readcRH平坦软件园
[u-boot@MINI2440]# nand erase 0 0x40000cRH平坦软件园

NAND erase: device 0 offset 0x0, size 0x40000cRH平坦软件园
Erasing at 0x2000000000004 --cRH平坦软件园
0% complete.cRH平坦软件园
OKcRH平坦软件园
[u-boot@MINI2440]# nand write 0x30008000 0 0x40000cRH平坦软件园

NAND write: device 0 offset 0x0, size 0x40000cRH平坦软件园
Writing at 0x2000000020000 -- 100% is complete. 262144 bytes written: OKcRH平坦软件园
 cRH平坦软件园

2) 通过U盘烧入Nor Flash:cRH平坦软件园
[u-boot@MINI2440]# usb startcRH平坦软件园
(Re)start USB...cRH平坦软件园
USB:cRH平坦软件园
scanning bus for devices... 2 USB Device(s) foundcRH平坦软件园

scanning bus for storage devices... 1 Storage Device(s) foundcRH平坦软件园
[u-boot@MINI2440]# usb storagecRH平坦软件园

Device 0: Vendor: Kingston Rev: PMAP Prod: DT 101 IIcRH平坦软件园

cRH平坦软件园
Type: Removable Hard DiskcRH平坦软件园

Capacity: 3875.0 MB = 3.7 GB (7936000 x 512)cRH平坦软件园
[u-boot@MINI2440]# usb part 0cRH平坦软件园
print_part of 0cRH平坦软件园

Partition Map for USB device 0cRH平坦软件园
--cRH平坦软件园
Partition Type: DOScRH平坦软件园

PartitioncRH平坦软件园
Start SectorcRH平坦软件园
Num SectorscRH平坦软件园
TypecRH平坦软件园

cRH平坦软件园
4cRH平坦软件园

cRH平坦软件园
63cRH平坦软件园

7935937cRH平坦软件园
ccRH平坦软件园

[u-boot@MINI2440]# fatload usb 0:4 0x30008000 u-boot.bincRH平坦软件园
reading u-boot.bincRH平坦软件园
........................cRH平坦软件园

256220 bytes readcRH平坦软件园
[u-boot@MINI2440]# protect off allcRH平坦软件园
Un-Protect Flash Bank # 1cRH平坦软件园
[u-boot@MINI2440]# erase 0x0 0x3ffffcRH平坦软件园
Erasing sectorcRH平坦软件园
0 ... ok.cRH平坦软件园
Erasing sectorcRH平坦软件园
1 ... ok.cRH平坦软件园
Erasing sectorcRH平坦软件园
2 ... ok.cRH平坦软件园
Erasing sectorcRH平坦软件园
3 ... ok.cRH平坦软件园
Erased 4 sectorscRH平坦软件园
[u-boot@MINI2440]# cp.b 0x30008000 0x0cRH平坦软件园
0x3ffffcRH平坦软件园
Copy to Flash... donecRH平坦软件园
 cRH平坦软件园

3) 通过TFTP服务烧入Nand Flash:cRH平坦软件园
[u-boot@MINI2440]# tftpboot 30008000 192.168.1.100:u-boot.bincRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46 cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
TFTP from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename 'u-boot.bin'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: T ##################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 256220 (3e8dc hex)cRH平坦软件园
[u-boot@MINI2440]# nand erase 0 0x40000cRH平坦软件园
NAND erase: device 0 offset 0x0, size 0x40000cRH平坦软件园
Erasing at 0x2000000000004 --cRH平坦软件园
0% complete.cRH平坦软件园
OKcRH平坦软件园
[u-boot@MINI2440]# nand write 0x30008000 0 0x40000cRH平坦软件园

NAND write: device 0 offset 0x0, size 0x40000cRH平坦软件园
Writing at 0x2000000020000 -- 100% is complete. 262144 bytes written: OKcRH平坦软件园
 cRH平坦软件园

4) 通过NFS 服务烧入Nand Flash:cRH平坦软件园

[u-boot@MINI2440]# nfs 30008000 192.168.1.100:/home/tekkaman/development/share/u-boot.bincRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46 cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
File transfer via NFS from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename '/home/tekkaman/development/share/u-boot.bin'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: ###################################################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 256220 (3e8dc hex)cRH平坦软件园
[u-boot@MINI2440]# nand erase 0 0x40000cRH平坦软件园
NAND erase: device 0 offset 0x0, size 0x40000cRH平坦软件园
Erasing at 0x2000000000004 --cRH平坦软件园
0% complete.cRH平坦软件园
OKcRH平坦软件园
[u-boot@MINI2440]# nand write 0x30008000 0 0x40000cRH平坦软件园

NAND write: device 0 offset 0x0, size 0x40000cRH平坦软件园
Writing at 0x2000000020000 -- 100% is complete. 262144 bytes written: OKcRH平坦软件园
 cRH平坦软件园

cRH平坦软件园

内核引导cRH平坦软件园

内核的引导步骤如下:cRH平坦软件园
(1)用U-boot的mkimage工具处理内核映像zImage。cRH平坦软件园
(2)通过网络、串口、U盘、SD卡等方式将处理过的内核映像传输到SDRAM的一定位置(一般使用0x30008000)cRH平坦软件园
(3)然后使用”bootm"等内核引导命令来启动内核。cRH平坦软件园

为什么要用U-boot的mkimage工具处理内核映像zImage?cRH平坦软件园
因为在用bootm命令引导内核的时候,bootm需要读取一个64字节的文件头,来获取这个内核映象所针对的CPU体系结构、OS、加载到内存中的位置、在内存中入口点的位置以及映象名等等信息。这样bootm才能为OS设置好启动环境,并跳入内核映象的入口点。而mkimage就是添加这个文件头的专用工具。具体的实现请看U-boot中bootm的源码和mkimage的源码。cRH平坦软件园
 cRH平坦软件园
mkimage工具的使用:cRH平坦软件园

参数说明:cRH平坦软件园
-A 指定CPU的体系结构,可用值有:alpha、armcRH平坦软件园
、x86、ia64、mips、mips64、ppc 、s390、sh、sparc 、sparc64、m68k等cRH平坦软件园
-O 指定操作系统类型,可用值有:openbsd、netbsd、freebsd、4_4bsd、linux、svr4、esix、solaris、irix、sco、dell、ncr、lynxos、vxworks、psos、qnx、u-boot、rtems、artoscRH平坦软件园
-T 指定映象类型,可用值有:standalone、kernel、ramdisk、multi、firmware、script、filesystemcRH平坦软件园
-C 指定映象压缩方式,可用值有:cRH平坦软件园
nonecRH平坦软件园
不压缩(一般使用这个,因为zImage是已经被bzip2压缩过的自解压内核) cRH平坦软件园
gzip 用gzip的压缩方式cRH平坦软件园
bzip2 用bzip2的压缩方式cRH平坦软件园
-a 指定映象在内存中的加载地址,映象下载到内存中时,要按照用mkimage制作映象时,这个参数所指定的地址值来下载cRH平坦软件园
-ecRH平坦软件园
指定映象运行的入口点地址,这个地址就是-a参数指定的值加上0x40(因为前面有个mkimage添加的0x40个字节的头)cRH平坦软件园
-ncRH平坦软件园
指定映象名cRH平坦软件园
-d 指定制作映象的源文件cRH平坦软件园

以下是制作内核映像的命令示例:cRH平坦软件园
mkimage -n 'tekkaman' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage zImage.imgcRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
以下是使用范例:cRH平坦软件园
1) 通过SD卡引导内核:cRH平坦软件园
首先SD卡中必须有FAT32文件系统,并在里面存放了处理过的内核映像文件。cRH平坦软件园
[u-boot@MINI2440]# mmc initcRH平坦软件园

cRH平坦软件园
mmc: Probing for SDHC ...cRH平坦软件园
mmc: SD 2.0 or later card foundcRH平坦软件园
trying to detect SD Card...cRH平坦软件园
Manufacturer:cRH平坦软件园
0x00, OEM "roduct name:cRH平坦软件园
"cRH平坦软件园
", revision 0.0cRH平坦软件园
Serial number:cRH平坦软件园
7864775cRH平坦软件园
Manufacturing date: 11/2006cRH平坦软件园
CRC:cRH平坦软件园
0x4f, b0 = 1cRH平坦软件园
READ_BL_LEN=6, C_SIZE_MULT=7, C_SIZE=4095cRH平坦软件园
size = 0cRH平坦软件园
SD Card detected RCA: 0x2 type: SDcRH平坦软件园
mmc1 is availablecRH平坦软件园
[u-boot@MINI2440]# fatload mmc 1 30008000 zImage.imgcRH平坦软件园
reading zImage.imgcRH平坦软件园

2277540 bytes readcRH平坦软件园
[u-boot@MINI2440]# bootm 30008000cRH平坦软件园
## Booting kernel from Legacy Image at 30008000 ...cRH平坦软件园

Image Name:cRH平坦软件园
tekkamancRH平坦软件园

Created:cRH平坦软件园
2010-03-29cRH平坦软件园
12:59:51 UTCcRH平坦软件园

Image Type:cRH平坦软件园
ARM Linux Kernel Image (uncompressed)cRH平坦软件园

Data Size:cRH平坦软件园
2277476 Bytes =cRH平坦软件园
2.2 MBcRH平坦软件园

Load Address: 30008000cRH平坦软件园

Entry Point:cRH平坦软件园
30008040cRH平坦软件园

Verifying Checksum ... OKcRH平坦软件园

XIP Kernel Image ... OKcRH平坦软件园
OKcRH平坦软件园

Starting kernel ...cRH平坦软件园

Uncompressing Linux... done, booting the kernel.cRH平坦软件园
Linux version 2.6.33.1 (tekkaman@MAGI-Linux) (gcc version 4.3.2 (crosstool-NG-1.6.1-tekkaman) ) #5 Mon Mar 29 20:58:50 CST 2010cRH平坦软件园
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177cRH平坦软件园
CPU: VIVT data cache, VIVT instruction cachecRH平坦软件园
Machine: MINI2440cRH平坦软件园
(略)cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
2) 通过TFTP服务引导内核:cRH平坦软件园
[u-boot@MINI2440]# tftpboot 0x30008000 192.168.1.100:zImage.img cRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46 cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
TFTP from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename 'zImage.img'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: T #################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
##########################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 2277540 (22c0a4 hex)cRH平坦软件园
[u-boot@MINI2440]# bootm 30008000cRH平坦软件园
## Booting kernel from Legacy Image at 30008000 ...cRH平坦软件园

Image Name:cRH平坦软件园
tekkamancRH平坦软件园

Created:cRH平坦软件园
2010-03-29cRH平坦软件园
12:59:51 UTCcRH平坦软件园

Image Type:cRH平坦软件园
ARM Linux Kernel Image (uncompressed)cRH平坦软件园

Data Size:cRH平坦软件园
2277476 Bytes =cRH平坦软件园
2.2 MBcRH平坦软件园

Load Address: 30008000cRH平坦软件园

Entry Point:cRH平坦软件园
30008040cRH平坦软件园

Verifying Checksum ... OKcRH平坦软件园

XIP Kernel Image ... OKcRH平坦软件园
OKcRH平坦软件园

Starting kernel ...cRH平坦软件园

Uncompressing Linux... done, booting the kernel.cRH平坦软件园
Linux version 2.6.33.1 (tekkaman@MAGI-Linux) (gcc version 4.3.2 (crosstool-NG-1.6.1-tekkaman) ) #5 Mon Mar 29 20:58:50 CST 2010cRH平坦软件园
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177cRH平坦软件园
CPU: VIVT data cache, VIVT instruction cachecRH平坦软件园
Machine: MINI2440cRH平坦软件园
(略)cRH平坦软件园
 cRH平坦软件园

cRH平坦软件园
3) 通过NFS服务引导内核:cRH平坦软件园
[u-boot@MINI2440]# nfs 30008000 192.168.1.100:/home/tekkaman/development/share/zImage.imgcRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46 cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
File transfer via NFS from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename '/home/tekkaman/development/share/zImage.img'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: #################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#######################################################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 2277540 (22c0a4 hex)cRH平坦软件园
[u-boot@MINI2440]# bootm 30008000cRH平坦软件园
## Booting kernel from Legacy Image at 30008000 ...cRH平坦软件园

Image Name:cRH平坦软件园
tekkamancRH平坦软件园

Created:cRH平坦软件园
2010-03-29cRH平坦软件园
12:59:51 UTCcRH平坦软件园

Image Type:cRH平坦软件园
ARM Linux Kernel Image (uncompressed)cRH平坦软件园

Data Size:cRH平坦软件园
2277476 Bytes =cRH平坦软件园
2.2 MBcRH平坦软件园

Load Address: 30008000cRH平坦软件园

Entry Point:cRH平坦软件园
30008040cRH平坦软件园

Verifying Checksum ... OKcRH平坦软件园

XIP Kernel Image ... OKcRH平坦软件园
OKcRH平坦软件园

Starting kernel ...cRH平坦软件园

Uncompressing Linux... done, booting the kernel.cRH平坦软件园
Linux version 2.6.33.1 (tekkaman@MAGI-Linux) (gcc version 4.3.2 (crosstool-NG-1.6.1-tekkaman) ) #5 Mon Mar 29 20:58:50 CST 2010cRH平坦软件园
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177cRH平坦软件园
CPU: VIVT data cache, VIVT instruction cachecRH平坦软件园
Machine: MINI2440cRH平坦软件园
(略)cRH平坦软件园
 cRH平坦软件园

4) 通过Nand Flash引导内核:cRH平坦软件园
   首先要将处理过的内核映像文件烧入Nand Flash的一定位置(由内核分区表决定)。以后每次启动时用Nand Flash的读取命令先将这个内核映像文件读到内存的一定位置(由制作内核映像时的-a参数决定),再使用bootm命令引导内核。cRH平坦软件园
内核映像文件的烧入:cRH平坦软件园
[u-boot@MINI2440]# nfs 30008000 192.168.1.100:/home/tekkaman/development/share/zImage.imgcRH平坦软件园
dm9000 i/o: 0x20000300, id: 0x90000a46 cRH平坦软件园
DM9000: running in 16 bit modecRH平坦软件园
MAC: 08:08:11:18:12:27cRH平坦软件园
operating at 100M full duplex modecRH平坦软件园
Using dm9000 devicecRH平坦软件园
File transfer via NFS from server 192.168.1.100; our IP address is 192.168.1.101cRH平坦软件园
Filename '/home/tekkaman/development/share/zImage.img'.cRH平坦软件园
Load address: 0x30008000cRH平坦软件园
Loading: #################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#################################################################cRH平坦软件园

cRH平坦软件园
#######################################################cRH平坦软件园
donecRH平坦软件园
Bytes transferred = 2277540 (22c0a4 hex)cRH平坦软件园
[u-boot@MINI2440]# nand erase 0x80000 0x300000cRH平坦软件园

NAND erase: device 0 offset 0x80000, size 0x300000cRH平坦软件园
Erasing at 0x36000001800000 --cRH平坦软件园
0% complete.cRH平坦软件园
OKcRH平坦软件园
[u-boot@MINI2440]# cRH平坦软件园
nand write 30008000 0x80000 300000 cRH平坦软件园

NAND write: device 0 offset 0x80000, size 0x300000cRH平坦软件园

Writing at 0x36000000020000 -- 100% is complete. 3145728 bytes written: OKcRH平坦软件园

cRH平坦软件园

cRH平坦软件园
内核引导: cRH平坦软件园
[u-boot@MINI2440]# cRH平坦软件园
nand read 30008000 0x80000 300000cRH平坦软件园

NAND read: device 0 offset 0x80000, size 0x300000cRH平坦软件园

3145728 bytes read: OKcRH平坦软件园
[u-boot@MINI2440]# bootm 30008000cRH平坦软件园
## Booting kernel from Legacy Image at 30008000 ...cRH平坦软件园

Image Name:cRH平坦软件园
tekkamancRH平坦软件园

Created:cRH平坦软件园
2010-03-29cRH平坦软件园
12:59:51 UTCcRH平坦软件园

Image Type:cRH平坦软件园
ARM Linux Kernel Image (uncompressed)cRH平坦软件园

Data Size:cRH平坦软件园
2277476 Bytes =cRH平坦软件园
2.2 MBcRH平坦软件园

Load Address: 30008000cRH平坦软件园

Entry Point:cRH平坦软件园
30008040cRH平坦软件园

Verifying Checksum ... OKcRH平坦软件园

XIP Kernel Image ... OKcRH平坦软件园
OKcRH平坦软件园

Starting kernel ...cRH平坦软件园

Uncompressing Linux... done, booting the kernel.cRH平坦软件园
Linux version 2.6.33.1 (tekkaman@MAGI-Linux) (gcc version 4.3.2 (crosstool-NG-1.6.1-tekkaman) ) #5 Mon Mar 29 20:58:50 CST 2010cRH平坦软件园
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177cRH平坦软件园
CPU: VIVT data cache, VIVT instruction cachecRH平坦软件园
Machine: MINI2440 cRH平坦软件园
cRH平坦软件园

[]
/r/n/n本文来自CSDN博客,转载请标明出处:http://www.flatws.cn/article/program/shell/2011-02-23/14038.html

常用U-boot命令详解相关推荐

  1. c#endread怎么打印出来_C#编程直接发送打印机命令到打印机及ZPL常用的打印命令详解...

    本文主要向大家介绍了C#编程直接发送打印机命令到打印机及ZPL常用的打印命令详解,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助. using System; using System.Co ...

  2. java开发中常用的Git命令详解

    java开发中常用的Git命令详解(IDEA内如何操作) 一:写这篇文章的目的是什么? 二:使用场景在哪里? 1:当我们要使用idea去git仓库拉代码时,首先我们的idea得配置git工具 2:项目 ...

  3. Linux常用的关机命令详解

    Linux常用的关机命令详解 Linux是一款开源的操作系统,为了保护系统的稳定性和数据的完整性,用户需要使用正确的关机命令来关闭系统.本文将详细介绍Linux下常用的关机命令,以及各种关机命令的具体 ...

  4. linux常用性能分析命令详解#TOP

    top top命令非常强大,是linux使用者最常用的命令之一,从下图中可以了解非常多的信息. 1-top - 07:02:09 up 27 min,  2 users,  load average: ...

  5. Windows学习总结(10)——Windows系统中常用的CMD命令详解

    1.ping命令 ping是电脑网络故障诊断中的常用的命令,它的作用是用来检查网络是否通畅或者网络连接速度.我们来看一下PING命令的具体表述. 日常的诊断过程中我们最常用到的就是诊断连接是否通畅.

  6. Linux常用硬盘管理命令详解!

    对于Linux系统来说,学习使用命令是非常重要的,因为其所有的操作都是需要执行命令来完成的,对于运维人员来说,会需要经常对硬盘进行管理,以便确保硬盘的可利用率,那么硬盘管理相关的命令都有哪些呢?以下是 ...

  7. Linux常用文件权限命令详解

    pwd pwd命令用于获取当前工作目录的绝对路径. 使用示例: pwd 效果如下图: cd cd命令用于切换工作目录. 使用示例: cd 万猫学社/ 效果如下图: 其中在路径表示时, 一个半角句号(. ...

  8. docker build命令详解_Docker镜像与容器常用命令图文详解

    一.系统命令 #查看docker版本 docker version #查看docker的系统信息,包含镜像容器的数量 docker info #查看docker的所有命令 docker --help ...

  9. U-Boot的常用命令详解

    2019独角兽企业重金招聘Python工程师标准>>> U-Boot的常用命令详解 U-Boot 还提供了更加详细的命令帮助,通过 help 命令还可以查看每个命令的参数说明.由于开 ...

最新文章

  1. Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
  2. Microbiome: 植物生态位和基因型对微生物的影响
  3. python用途与前景-java和Python的前景谁更好
  4. gradle风格的groovy代码
  5. GIS创新实践【课堂笔记】
  6. boost::subgraph用法的测试程序
  7. Django报错SocialApp matching query does not exist以及Django的SITE_ID = 1的含义
  8. 安卓键盘加上数字_Android自定义键盘的实现(数字键盘和字母键盘)
  9. Vue学习笔记(四)
  10. Biztalk AS2开发经验总结
  11. 小菜的Scala学习笔记,主要部分更新完成
  12. nginx reopen
  13. 软件测试工程师职业规划
  14. 万物互联的灵鹫山,取经的华为
  15. libselinux conflicts with fakesystemd-1-17.el7.centos.noarch
  16. JDK1.8源码分析:阻塞队列LinkedBlockingQueue与BlockingDeque(双端)的设计与实现
  17. SpreadJS 16.0.3 Crack
  18. 智安网络丨浅析如何加强个人信息安全防护
  19. php 实现抽奖接口,PHP转盘抽奖接口实例,php转盘抽奖_PHP教程
  20. (王道考研计算机网络)第五章传输层-第一节:传输层概述、功能和端口

热门文章

  1. uView下拉菜单组件u-dropdown设置高度并防止滑动穿透
  2. 与Google Protocol Buffer亲密接触
  3. lxf官方网站学习手册python基础
  4. 合作共赢,就在2022亚马逊云科技re:Invent全球大会
  5. 中国历年出生人口1983至2022及往后预测
  6. 推荐7个好用的Python效率工具,拿走不谢
  7. bbddddddddd
  8. arctanx的导数
  9. 布莱克—斯科尔斯—默顿(BSM)模型
  10. 为什么你该开始学习编程了?