U-boot发展到现在,他的命令行模式已经非常接近Linux下的shell了,在我编译的U-boot-2009.11中的命令行模式模式下支持“Tab”键的命令补全和命令的历史记录功能。而且如果你输入的命令的前几个字符和别的命令不重复,那么你就只需要打这几个字符即可,比如我想看这个U-boot的版本号,命令就是“ version”,但是在所有的命令中没有其他任何一个的命令是由“v”开头的,所以只需要输入“v”即可。
[u-boot@MINI2440]# version U-Boot 2009.11 ( 4月 04 2010 - 12:09:25) [u-boot@MINI2440]# v U-Boot 2009.11 ( 4月 04 2010 - 12:09:25) [u-boot@MINI2440]# base Base Address: 0x00000000 [u-boot@MINI2440]# ba Base Address: 0x00000000 |
由于U-boot支持的命令实在太多,一个一个细讲不现实,也没有必要。所以下面我挑一些烧写和引导常用命令介绍一下,其他的命令大家就举一反三,或者“help”吧!
(1)获取帮助
命令:help 或 ?
功能:查看当前U-boot版本中支持的所有命令。
[u-boot@MINI2440]# help ? - alias for 'help' askenv - get environment variables from stdin base - print or set address offset bdinfo - print Board Info structure bmp - manipulate BMP image data boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootelf - Boot from an ELF image in memory bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol bootvx - Boot vxWorks from an ELF image cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation date - get/set/reset date & time dcache - enable or disable data cache dhcp - boot image via network using DHCP/TFTP protocol echo - echo args to console editenv - edit environment variable eeprom - EEPROM sub-system erase - erase FLASH memory exit - exit script fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) flinfo - print FLASH memory information fsinfo - print information about filesystems fsload - load binary file from a filesystem image go - start application at address 'addr' help - print online help i2c - I2C sub-system icache - enable or disable instruction cache iminfo - print header information for application image imls - list all images found in flash imxtract- extract a part of a multi-image itest - return true/false on integer compare loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loadx - load binary file over serial line (xmodem mode) loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range ls - list files in a directory (default /) md - memory display mm - memory modify (auto-incrementing address) mmc - MMC sub-system mtest - simple RAM read/write test mw - memory write (fill) nand - NAND sub-system nboot - boot from NAND device nfs - boot image via network using NFS protocol nm - memory modify (constant address) ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables protect - enable or disable FLASH write protection rarpboot- boot image via network using RARP/TFTP protocol reginfo - print register information reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage setenv - set environment variables showvar - print local hushshell variables sleep - delay execution for some time source - run script from memory test - minimal test like /bin/sh tftpboot- boot image via network using TFTP protocol unzip - unzip a memory region usb - USB sub-system usbboot - boot from USB device version - print monitor version |
如果你想获取某条命令的更详细的帮助,可以使用:
help <你想要查的指令> 或者 ? <你想要查的指令> , 甚至 h <你想要查的指令缩写>。 |
以bmp指令为例:
[u-boot@MINI2440]# help bmp bmp - manipulate BMP image data Usage: bmp info <imageAddr> - display image info bmp display <imageAddr> [x y] - display image at x,y [u-boot@MINI2440]# ? bmp bmp - manipulate BMP image data Usage: bmp info <imageAddr> - display image info bmp display <imageAddr> [x y] - display image at x,y [u-boot@MINI2440]# h bm bmp - manipulate BMP image data Usage: bmp info <imageAddr> - display image info bmp display <imageAddr> [x y] - display image at x,y |
(2)环境变量(environment variables,简称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) |
要看到你的板上的ENV值可使用printenv命令,例如我的板子:
[u-boot@MINI2440]# printenv 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=64M bootcmd=nfs 0x30008000 192.168.0.1:/home/tekkaman/working/nfs/zImage.img;bootm bootdelay=1 baudrate=115200 ethaddr=08:08:11:18:12:27 ipaddr=192.168.0.2 serverip=192.168.0.1 gatewayip=192.168.0.1 netmask=255.255.255.0 tekkaman=bmp d 70000 stdin=serial stdout=serial stderr=serial ethact=dm9000 Environment size: 470/131068 bytes |
setenv name value |
[u-boot@MINI2440]# printenv tekkaman tekkaman=bmp d 70000 [u-boot@MINI2440]# setenv tekkaman [u-boot@MINI2440]# printenv tekkaman ## Error: "tekkaman" not defined [u-boot@MINI2440]# setenv tekkaman echo "I am Tekkaman Ninja!" [u-boot@MINI2440]# printenv tekkaman tekkaman=echo I am Tekkaman [u-boot@MINI2440]# echo I Love Linux ;${tekkaman} I Love Linux I am Tekkaman |
[u-boot@MINI2440]# saveenv Saving Environment to NAND... Erasing Nand... Erasing at 0x6000000000002 -- 0% complete. Writing to Nand... done |
#define CONFIG_ENV_IS_IN_FLASH 1 #define CONFIG_ENV_OFFSET 0X40000 #define CONFIG_ENV_SIZE 0x20000 /* Total Size of Environment Sector */ |
#define CONFIG_ENV_IS_IN_NAND 1 #define CONFIG_ENV_OFFSET 0X40000 #define CONFIG_ENV_SIZE 0x20000 /* Total Size of Environment Sector */ |
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */ #define CONFIG_ENV_OFFSET 0x000 /* environment starts at offset 0 */ #define CONFIG_ENV_SIZE 0x400 /* 1KB */ |
注意 CONFIG_ENV_OFFSET和 CONFIG_ENV_SIZE 的设置,不要覆盖了其他分区。
CONFIG_ENV_OFFSET是在整个存储器中的偏移地址;
CONFIG_ENV_SIZE是指其使用的大小。
命令:
loadb - load binary file over serial line (kermit mode)
loadx - load binary file over serial line (xmodem mode)
loady - load binary file over serial line (ymodem mode)
功能:以不同的协议从串口获取文件.。
格式基本都为:
load? [ off ] [ baud ]
第1个参数是下载到SDRAM的地址,如果不填,就是用默认配置:CONFIG_SYS_LOAD_ADDR
第2个参数是波特率,一般不填,用默认的115200.
在windows下的超级终端可以用这些协议发送文件,但是在ubuntu下基本只能用kermit协议。一下使用C-kermit来发送一个文件到mini2440。
[u-boot@MINI2440]# loadb ## Ready for binary (kermit) download to 0x30008000 at 115200 bps... |
上面已经启动了U-boot的kermit传输协议,这时按下 Ctrl + / , 再按 c, 切换到C-kermit的命令行模式,输入命令:send <文件路径>,回车。
[u-boot@MINI2440]# loadb ## Ready for binary (kermit) download to 0x30008000 at 115200 bps... (Back at MAGI-Linux) ---------------------------------------------------- C-Kermit 8.0.211, 10 Apr 2004, for Linux Copyright (C) 1985, 2004, Trustees of Columbia University in the City of New York. Type ? or HELP for help. (/home/tekkaman/桌面/) C-Kermit>send /home/tekkaman/development/share/zImage.img |
C-Kermit 8.0.211, 10 Apr 2004, MAGI-Linux Current Directory: /home/tekkaman/��~L�~]� Communication Device: /dev/ttyUSB0 Communication Speed: 115200 Parity: none RTT/Timeout: 01 / 02 SENDING: /home/tekkaman/development/share/zImage.img => zImage.img File Type: BINARY File Size: 2277540 Percent Done: 19 /////////- ...10...20...30...40...50...60...70...80...90..100 Estimated Time Left: 00:03:35 Transfer Rate, CPS: 8536 Window Slots: 1 of 1 Packet Type: D Packet Count: 557 Packet Length: 1000 Error Count: 0 Last Error: Last Message: X to cancel file, Z to cancel group, <CR> to resend last packet, E to send Error packet, ^C to quit immediately, ^L to refresh screen. |
[u-boot@MINI2440]# loadb ## Ready for binary (kermit) download to 0x30008000 at 115200 bps... (Back at MAGI-Linux) ---------------------------------------------------- C-Kermit 8.0.211, 10 Apr 2004, for Linux Copyright (C) 1985, 2004, Trustees of Columbia University in the City of New York. Type ? or HELP for help. (/home/tekkaman/桌面/) C-Kermit>send /home/tekkaman/development/share/zImage.img (/home/tekkaman/桌面/) C-Kermit>c Connecting to /dev/ttyUSB0, speed 115200 Escape character: Ctrl-/ (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by ? to see other options. ---------------------------------------------------- ## Total Size = 0x0022c0a4 = 2277540 Bytes ## Start Addr = 0x30008000 |
(4)网络命令
只要你的网卡驱动没问题,那么你就可以通过网络来传输文件到开发板,这可比串口快多了。你可以直接用交叉网线连接开发板和电脑,也可以用普通直连网线连接路由器,再连到电脑,不过记得配置好网络,关闭防火墙哦。
先测试网络是否通了,现在开发板使用ping 命令,看看是否可以ping通电脑:
[u-boot@MINI2440]# ping 192.168.1.100 dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device host 192.168.1.100 is alive |
[u-boot@MINI2440]# ping 192.168.1.100 dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device ping failed; host 192.168.1.100 is not alive |
[u-boot@MINI2440]# nfs 0x30008000 192.168.1.100:/home/tekkaman/development/share/u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device File transfer via NFS from server 192.168.1.100; our IP address is 192.168.1.101 Filename '/home/tekkaman/development/share/u-boot.bin'. Load address: 0x30008000 Loading: ################################################### done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# tftp u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'u-boot.bin'. Load address: 0x30008000 Loading: T ################## done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# dhcp 192.168.1.100:u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 192.168.1.101 Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'u-boot.bin'. Load address: 0x30008000 Loading: ################## done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# bootp 192.168.1.100:u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 192.168.1.101 Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'u-boot.bin'. Load address: 0x30008000 Loading: ################## done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# rarpboot 192.168.1.100:u-boot.bin |
(5)Nand Flash操作指令
常用的Nand Flash指令如下:
指令 |
功能 |
nand info |
显示可使用的Nand Flash |
nand device [dev] |
显示或设定当前使用的Nand Flash |
nand read addr off size |
Nand Flash读取命令,从Nand的 off 偏移地址处读取size 字节的数据到SDRAM的 addr地址。 |
nand write addr off size |
Nand Flash烧写命令,将SDRAM的 addr地址处的size 字节的数据烧写到Nand的 off 偏移地址。 |
nand write[.yaffs[1]] addr off size |
烧写yaffs 映像专用的命令,.yaffs1 for 512+16 NAND |
nand erase [clean] [off size] |
Nand Flash檫除命令,擦除Nand Flash的 off 偏移地址处的size 字节的数据 |
nand bad |
显示Nand Flash的坏块 |
nand dump[.oob] off |
显示Nand Flash中的数据(16进制) |
nand scrub |
彻底擦除整块Nand Flash中的数据,包括OOB。可以擦除软件坏块标志。 |
nand markbad off |
标示 Nand的 off 偏移地址处的块为坏块 |
[u-boot@MINI2440]# nand info Device 0: NAND 128MiB 3,3V 8-bit, sector size 128 KiB [u-boot@MINI2440]# nand device 0 Device 0: NAND 128MiB 3,3V 8-bit... is now current device [u-boot@MINI2440]# nand read 0x30008000 0x60000 200000 NAND read: device 0 offset 0x60000, size 0x200000 2097152 bytes read: OK [u-boot@MINI2440]# nand bad Device 0 bad blocks: 030a0000 030c0000 030e0000 07ee0000 [u-boot@MINI2440]# nand markbad 0x500000 block 0x00500000 successfully marked as bad [u-boot@MINI2440]# nand bad Device 0 bad blocks: 00500000 030a0000 030c0000 030e0000 07ee0000 [u-boot@MINI2440]# nand scrub NAND scrub: device 0 whole chip Warning: scrub option will erase all factory set bad There is no reliable way to recover them. Use this command only for testing purposes if you are sure of what you are Really scrub this NAND flash? <y/N> Erasing at 0x2f4000008000000 -- 0% complete. NAND 128MiB 3,3V 8-bit: MTD Erase failure: -5 NAND 128MiB 3,3V 8-bit: MTD Erase failure: -5 NAND 128MiB 3,3V 8-bit: MTD Erase failure: -5 Erasing at 0x7ea000008000000 -- 0% complete. NAND 128MiB 3,3V 8-bit: MTD Erase failure: -5 Erasing at 0x7fe000008000000 -- 0% complete. OK [u-boot@MINI2440]# nand bad Device 0 bad blocks: 030a0000 030c0000 030e0000 07ee0000 [u-boot@MINI2440]# nand dump 0x8000 Page 00008000 dump: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff (略) OOB: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [u-boot@MINI2440]# tftp u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'u-boot.bin'. Load address: 0x30008000 Loading: T ################## done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# nand write 0x30008000 0 40000 NAND write: device 0 offset 0x0, size 0x40000 Writing at 0x2000000020000 -- 100% is complete. 262144 bytes written: OK [u-boot@MINI2440]# nand dump 0x8000 Page 00008000 dump: 00 00 53 e1 01 00 00 2a 15 40 e0 e3 19 00 00 ea (略) 60 30 97 e5 03 00 54 e1 f6 ff ff ba 00 40 a0 e3 OOB: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 65 a9 6b f3 ff 33 fc 30 f3 33 cf 33 0f f0 ff 00 cc 0f 59 55 57 96 a5 5b |
[u-boot@MINI2440]# tftp 192.168.1.100:zImage.img dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'zImage.img'. Load address: 0x30008000 Loading: T ################################################################# ################################################################# ########################## done Bytes transferred = 2277540 (22c0a4 hex) [u-boot@MINI2440]# nand erase 0x100000 300000 NAND erase: device 0 offset 0x100000, size 0x300000 Erasing at 0x3e000001800000 -- 0% complete. OK [u-boot@MINI2440]# nand write 0x30008000 0x100000 300000 NAND write: device 0 offset 0x100000, size 0x300000 Writing at 0x3e000000020000 -- 100% is complete. 3145728 bytes written: OK [u-boot@MINI2440]# nand device 0 Device 0: NAND 128MiB 3,3V 8-bit... is now current device [u-boot@MINI2440]# nboot 30008000 0 0x100000 Loading from NAND 128MiB 3,3V 8-bit, offset 0x100000 Image Name: tekkaman Created: 2010-03-29 12:59:51 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2277476 Bytes = 2.2 MB Load Address: 30008000 Entry Point: 30008040 [u-boot@MINI2440]# bootm 30008000 ## Booting kernel from Legacy Image at 30008000 ... Image Name: tekkaman Created: 2010-03-29 12:59:51 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2277476 Bytes = 2.2 MB Load Address: 30008000 Entry Point: 30008040 Verifying Checksum ... OK XIP Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. 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 2010 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 CPU: VIVT data cache, VIVT instruction cache Machine: MINI2440 (略) |
(6) 内存/寄存器操作指令
nm 修改内存值 (指定地址)[u-boot@MINI2440]# md.b 0x30008000 20 30008000: cc 33 fe 33 cc b3 4c 33 ac 33 de 33 5c 13 cc 33 .3.3..L3.3.3/..3 30008010: cc 32 cc 31 dc 33 cf 33 cc 33 4e 33 8f 13 cc 33 .2.1.3.3.3N3...3 [u-boot@MINI2440]# md.w 0x30008000 20 30008000: 33cc 33fe b3cc 334c 33ac 33de 135c 33cc .3.3..L3.3.3/..3 30008010: 32cc 31cc 33dc 33cf 33cc 334e 138f 33cc .2.1.3.3.3N3...3 30008020: 338c 33cd 33cc 7bcc 3bcc 33cc 135e 734c .3.3.3.{.;.3^.Ls 30008030: 7bdc 37cc 31dc 33c4 038c 33e8 77cc 13cc .{.7.1.3...3.w.. [u-boot@MINI2440]# md.l 0x30008000 20 30008000: 33fe33cc 334cb3cc 33de33ac 33cc135c .3.3..L3.3.3/..3 30008010: 31cc32cc 33cf33dc 334e33cc 33cc138f .2.1.3.3.3N3...3 30008020: 33cd338c 7bcc33cc 33cc3bcc 734c135e .3.3.3.{.;.3^.Ls 30008030: 37cc7bdc 33c431dc 33e8038c 13cc77cc .{.7.1.3...3.w.. 30008040: 234c77ce 33dc339c 33ec3ece f3cc36ec .wL#.3.3.>.3.6.. 30008050: 37dc33cc 73cc3f5c 17dd314c 33cc62e8 .3.7/?.sL1...b.3 30008060: b6cc33dc 33c233cc 33cc32cc 33cc3f68 .3...3.3.2.3h?.3 30008070: 73cc31cc b3cc33cc 33cc37c9 33df13cc .1.s.3...7.3...3 [u-boot@MINI2440]# nm 0x30008000 30008000: 33fe33cc ? 12345678 30008000: 12345678 ? 34567890 30008000: 34567890 ? q [u-boot@MINI2440]# nm.b 0x30008000 30008000: 90 ? 11 30008000: 11 ? 12 30008000: 12 ? q [u-boot@MINI2440]# mm 0x30008000 30008000: 34567812 ? 54321123 30008004: 334cb3cc ? 12345678 30008008: 33de33ac ? 21234543 3000800c: 33cc135c ? q [u-boot@MINI2440]# md.b 0x30008000 20 30008000: 23 11 32 54 78 56 34 12 43 45 23 21 5c 13 cc 33 #.2TxV4.CE#!/..3 30008010: cc 32 cc 31 dc 33 cf 33 cc 33 4e 33 8f 13 cc 33 .2.1.3.3.3N3...3 [u-boot@MINI2440]# mw.b 0x30008000 aa 10 [u-boot@MINI2440]# mw.b 0x30008010 55 10 [u-boot@MINI2440]# md.b 0x30008000 20 30008000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ 30008010: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU [u-boot@MINI2440]# cp.b 0x30008000 0x30008010 10 [u-boot@MINI2440]# md.b 0x30008000 20 30008000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ 30008010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................ |
[u-boot@MINI2440]# md 0x56000014 1 56000014: 00000600 .... [u-boot@MINI2440]# nm.w 0x56000014 56000014: 0600 ? 620 (熄灭) 56000014: 0620 ? 600 (点亮) |
(7) Nor Flash指令
[u-boot@MINI2440]# flinfo Bank # 1: SST: 1x SST39VF1601 (2MB) Size: 2 MB in 32 Sectors Sector Start Addresses: 00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000 00050000 00060000 (RO) 00070000 (RO) 00080000 00090000 000A0000 000B0000 000C0000 000D0000 000E0000 000F0000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001A0000 001B0000 001C0000 001D0000 001E0000 001F0000 [u-boot@MINI2440]# flinfo 1 Bank # 1: SST: 1x SST39VF1601 (2MB) Size: 2 MB in 32 Sectors Sector Start Addresses: 00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000 00050000 00060000 (RO) 00070000 (RO) 00080000 00090000 000A0000 000B0000 000C0000 000D0000 000E0000 000F0000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001A0000 001B0000 001C0000 001D0000 001E0000 001F0000 [u-boot@MINI2440]# flinfo 2 Only FLASH Banks # 1 ... # 1 supported |
[u-boot@MINI2440]# md.b 0x0 20 00000000: 12 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 ................ 00000010: 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 ................ [u-boot@MINI2440]# md 0x0 20 00000000: ea000012 e59ff014 e59ff014 e59ff014 ................ 00000010: e59ff014 e59ff014 e59ff014 e59ff014 ................ 00000020: 33f80260 33f802c0 33f80320 33f80380 `..3...3 ..3...3 00000030: 33f803e0 33f80440 33f804a0 deadbeef ...3@..3...3.... 00000040: 33f80000 33f80000 33fbe8dc 3400374c ...3...3...3L7.4 00000050: e10f0000 e3c0001f e38000d3 e129f000 ..............). 00000060: e3a00453 e3a01000 e5801000 e3e01000 S............... 00000070: e59f0488 e5801000 e59f1484 e59f0484 ................ |
[u-boot@MINI2440]# flinfo 1 Bank # 1: SST: 1x SST39VF1601 (2MB) Size: 2 MB in 32 Sectors Sector Start Addresses: 00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000 00050000 00060000 (RO) 00070000 (RO) 00080000 00090000 000A0000 000B0000 000C0000 000D0000 000E0000 000F0000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001A0000 001B0000 001C0000 001D0000 001E0000 001F0000 [u-boot@MINI2440]# protect on 1:16-16 Protect Flash Sectors 16-16 in Bank # 1 [u-boot@MINI2440]# flinfo 1 Bank # 1: SST: 1x SST39VF1601 (2MB) Size: 2 MB in 32 Sectors Sector Start Addresses: 00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000 00050000 00060000 (RO) 00070000 (RO) 00080000 00090000 000A0000 000B0000 000C0000 000D0000 000E0000 000F0000 00100000 (RO) 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001A0000 001B0000 001C0000 001D0000 001E0000 001F0000 [u-boot@MINI2440]# protect off 0x100000 0x10ffff Un-Protect Flash Sectors 16-16 in Bank # 1 [u-boot@MINI2440]# flinfo 1 Bank # 1: SST: 1x SST39VF1601 (2MB) Size: 2 MB in 32 Sectors Sector Start Addresses: 00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000 00050000 00060000 (RO) 00070000 (RO) 00080000 00090000 000A0000 000B0000 000C0000 000D0000 000E0000 000F0000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001A0000 001B0000 001C0000 001D0000 001E0000 001F0000 [u-boot@MINI2440]# erase 0x100000 +20 Erasing sector 16 ... ok. Erased 1 sectors [u-boot@MINI2440]# cp.b 0x0 0x100000 0x20 Copy to Flash... done [u-boot@MINI2440]# md.b 100000 20 00100000: 12 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 ................ 00100010: 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 ................ |
(8) USB 操作指令
指令 |
功能 |
usb reset |
初始化USB控制器 |
usb stop [f] |
关闭USB控制器 |
usb tree |
已连接的USB设备树 |
usb info [dev] |
显示USB设备[dev]的信息 |
usb storage |
显示已连接的USB存储设备 |
usb dev [dev] |
显示和设置当前USB存储设备 |
usb part [dev] |
显示USB存储设备[dev]的分区信息 |
usb read addr blk# cnt |
读取USB存储设备数据 |
[u-boot@MINI2440]# usb reset (Re)start USB... USB: scanning bus for devices... 2 USB Device(s) found scanning bus for storage devices... 1 Storage Device(s) found [u-boot@MINI2440]# usb tree Device Tree: 1 Hub (12 Mb/s, 0mA) | OHCI Root Hub | +-2 Mass Storage (12 Mb/s, 100mA) Kingston DT 101 II 0019E02CB6EB5B8B1B120051 [u-boot@MINI2440]# usb info 1: Hub, USB Revision 1.10 - OHCI Root Hub - Class: Hub - PacketSize: 8 Configurations: 1 - Vendor: 0x0000 Product 0x0000 Version 0.0 Configuration: 1 - Interfaces: 1 Self Powered 0mA Interface: 0 - Alternate Setting 0, Endpoints: 1 - Class Hub - Endpoint 1 In Interrupt MaxPacket 2 Interval 255ms 2: Mass Storage, USB Revision 2.0 - Kingston DT 101 II 0019E02CB6EB5B8B1B120051 - Class: (from Interface) Mass Storage - PacketSize: 64 Configurations: 1 - Vendor: 0x0951 Product 0x1613 Version 1.0 Configuration: 1 - Interfaces: 1 Bus Powered 100mA Interface: 0 - Alternate Setting 0, Endpoints: 2 - Class Mass Storage, Transp. SCSI, Bulk only - Endpoint 1 In Bulk MaxPacket 64 - Endpoint 2 Out Bulk MaxPacket 64 [u-boot@MINI2440]# usb storage Device 0: Vendor: Kingston Rev: PMAP Prod: DT 101 II Type: Removable Hard Disk Capacity: 3875.0 MB = 3.7 GB (7936000 x 512) [u-boot@MINI2440]# usb dev 0 USB device 0: Device 0: Vendor: Kingston Rev: PMAP Prod: DT 101 II Type: Removable Hard Disk Capacity: 3875.0 MB = 3.7 GB (7936000 x 512) ... is now current device [u-boot@MINI2440]# usb part 0 print_part of 0 Partition Map for USB device 0 -- Partition Type: DOS Partition Start Sector Num Sectors Type 4 63 7935937 c [u-boot@MINI2440]# usb read 0x30008000 0 200 USB read: device 0 block # 0, count 512 ... ......................... 512 blocks read: OK [u-boot@MINI2440]# md.b 0x30008000 200 30008000: fa 31 c0 8e d8 8e c0 8e d0 bc 00 7c fb fc 89 e6 .1.........|.... 30008010: bf 00 06 b9 00 01 f3 a5 ea dc 06 00 00 10 00 01 ................ 30008020: 00 00 7c 00 00 00 00 00 00 00 00 00 00 80 3f 00 ..|...........?. 30008030: ff 00 ed 01 1e 0e 1f 3a 16 10 00 74 06 1f ea 36 .......:...t...6 30008040: e7 00 f0 3d fb 54 75 05 8c d8 fb eb 1d 80 fc 08 ...=.Tu......... 30008050: 75 1b e8 81 00 8a 36 13 00 fe ce 8b 0e 15 00 86 u.....6......... 30008060: cd c0 e1 06 0a 0e 11 00 31 c0 f8 eb 65 80 fc 02 ........1...e... 30008070: 72 cb 80 fc 04 77 c6 60 80 cc 40 50 be 00 00 c7 r....w.`..@P.... 30008080: 04 10 00 30 e4 89 44 02 89 5c 04 8c 44 06 66 31 ...0..D../..D.f1 30008090: c0 66 89 44 0c 88 f0 f6 26 11 00 88 cf 88 eb c0 .f.D....&....... 300080a0: ef 06 81 e1 3f 00 01 c8 48 89 c7 a1 13 00 f7 26 ....?...H......& 300080b0: 11 00 f7 e3 01 f8 81 d2 00 00 89 44 08 89 54 0a ...........D..T. 300080c0: 58 30 c0 8a 16 10 00 e8 0c 00 88 26 03 00 61 a1 X0.........&..a. 300080d0: 02 00 1f ca 02 00 9c ff 1e 22 00 c3 80 fa 8f 7f ........."...... 300080e0: 04 88 16 2d 06 be 87 07 e8 8d 00 be be 07 31 c0 ...-..........1. 300080f0: b9 04 00 f6 04 80 74 03 40 89 f5 81 c6 10 00 e2 ......t.@....... 30008100: f2 48 74 02 cd 18 bf 05 00 be 1d 06 c7 44 02 01 .Ht..........D.. 30008110: 00 66 8b 46 08 66 89 44 08 b8 00 42 8a 16 2d 06 .f.F.f.D...B..-. 30008120: cd 13 73 0d 4f 74 49 30 e4 8a 16 2d 06 cd 13 eb ..s.OtI0...-.... 30008130: d8 a1 fe 7d 3d 55 aa 75 37 fa 66 a1 4c 00 66 a3 ...}=U.u7.f.L.f. 30008140: 3f 06 be 13 04 8b 04 48 89 04 c1 e0 06 8e c0 31 ?......H.......1 30008150: ff be 1d 06 b9 60 00 fc f3 a5 c7 06 4c 00 17 00 .....`......L... 30008160: a3 4e 00 fb 8a 16 2d 06 89 ee fa ea 00 7c 00 00 .N....-......|.. 30008170: be aa 07 e8 02 00 eb fe ac 20 c0 74 09 b4 0e bb ......... .t.... 30008180: 07 00 cd 10 eb f2 c3 53 74 61 72 74 20 62 6f 6f .......Start boo 30008190: 74 69 6e 67 20 66 72 6f 6d 20 55 53 42 20 64 65 ting from USB de 300081a0: 76 69 63 65 2e 2e 2e 0d 0a 00 42 6f 6f 74 20 66 vice......Boot f 300081b0: 61 69 6c 65 64 00 00 00 ea eb d4 ca 00 00 00 00 ailed........... 300081c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 300081d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 300081e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01 ................ 300081f0: 01 00 0c fe 7f ec 3f 00 00 00 c1 17 79 00 55 aa ......?.....y.U. |
(9) SD卡(MMC)指令
[u-boot@MINI2440]# mmc init mmc: Probing for SDHC ... mmc: SD 2.0 or later card found trying to detect SD Card... Manufacturer: 0x00, OEM "roduct name: " ", revision 0.0 Serial number: 7864775 Manufacturing date: 11/2006 CRC: 0x4f, b0 = 1 READ_BL_LEN=6, C_SIZE_MULT=7, C_SIZE=4095 size = 0 SD Card detected RCA: 0x2 type: SD mmc1 is available [u-boot@MINI2440]# mmc device mmc1 is current device |
(10) FAT文件系统指令
fatinfo:显示文件系统的相关信息[u-boot@MINI2440]# usb part 0 print_part of 0 Partition Map for USB device 0 -- Partition Type: DOS Partition Start Sector Num Sectors Type 4 63 7935937 c [u-boot@MINI2440]# fatinfo usb 0:4 Interface: USB Device 0: Vendor: Kingston Rev: PMAP Prod: DT 101 II Type: Removable Hard Disk Capacity: 3875.0 MB = 3.7 GB (7936000 x 512) Partition 4: Filesystem: FAT32 "7600_16385_" [u-boot@MINI2440]# fatls usb 0:4 boot/ efi/ sources/ support/ upgrade/ 43 autorun.inf 383562 bootmgr 111880 setup.exe 256220 u-boot.bin 4 file(s), 5 dir(s) [u-boot@MINI2440]# fatls usb 0:4 /boot/ ./ ../ fonts/ zh-cn/ 262144 bcd 3170304 boot.sdi 1024 bootfix.bin 97280 bootsect.exe 4096 etfsboot.com 485440 memtest.exe 6 file(s), 4 dir(s) [u-boot@MINI2440]# fatload usb 0:4 0x30008000 u-boot.bin reading u-boot.bin ........................ 256220 bytes read [u-boot@MINI2440]# fatload usb 0:4 0x30008000 u-boot.bin 200 reading u-boot.bin 512 bytes read |
(11) 系统引导指令
boot 和bootd 都是运行ENV”bootcmd”中指定的指令。[u-boot@MINI2440]# setenv bootcmd tftp/;bootm [u-boot@MINI2440]# saveenv Saving Environment to NAND... Erasing Nand... Erasing at 0x6000000000002 -- 0% complete. Writing to Nand... done [u-boot@MINI2440]# boot dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'zImage.img'. Load address: 0x30008000 Loading: T ################################################################# ################################################################# ########################## done Bytes transferred = 2277540 (22c0a4 hex) ## Booting kernel from Legacy Image at 30008000 ... Image Name: tekkaman Created: 2010-03-29 12:59:51 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2277476 Bytes = 2.2 MB Load Address: 30008000 Entry Point: 30008040 Verifying Checksum ... OK XIP Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. 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 2010 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 CPU: VIVT data cache, VIVT instruction cache Machine: MINI2440 (略) U-Boot 2009.11 ( 4月 04 2010 - 12:09:25) modified by tekkamanninja (tekkamanninja@163.com) Love Linux I2C: ready DRAM: 64 MB Flash: 2 MB NAND: 128 MiB Video: 240x320x16 20kHz 62Hz In: serial Out: serial Err: serial Net: dm9000 U-Boot 2009.11 ( 4月 04 2010 - 12:09:25) modified by tekkamanninja (tekkamanninja@163.com) Love Linux Hit any key to stop autoboot: 0 [u-boot@MINI2440]# bootd dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'zImage.img'. Load address: 0x30008000 Loading: T ################################################################# ################################################################# ########################## done Bytes transferred = 2277540 (22c0a4 hex) ## Booting kernel from Legacy Image at 30008000 ... Image Name: tekkaman Created: 2010-03-29 12:59:51 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2277476 Bytes = 2.2 MB Load Address: 30008000 Entry Point: 30008040 Verifying Checksum ... OK XIP Kernel Image ... OK OK Starting kernel ... (略) |
[u-boot@MINI2440]# md.b 0x30008000 2 30008000: aa aa .. [u-boot@MINI2440]# eeprom read 0x30008000 10 2 EEPROM @0x50 read: addr 30008000 off 0010 count 2 ... done [u-boot@MINI2440]# md.b 0x30008000 2 30008000: ff ff .. [u-boot@MINI2440]# mm.b 0x30008000 30008000: ff ? aa 30008001: ff ? 55 30008002: aa ? q [u-boot@MINI2440]# md.b 0x30008000 2 30008000: aa 55 .U [u-boot@MINI2440]# eeprom write 0x30008000 10 2 EEPROM @0x50 write: addr 30008000 off 0010 count 2 ... done [u-boot@MINI2440]# eeprom read 0x30008010 10 2 EEPROM @0x50 read: addr 30008010 off 0010 count 2 ... done [u-boot@MINI2440]# md.b 0x30008010 2 30008010: aa 55 .U |
(13)设置和读取RTC指令
[u-boot@MINI2440]# date Date: 1980-00-06 (Thursday) Time: 20:30:25 [u-boot@MINI2440]# date 041100582010.20 Date: 2010-04-11 (Sunday) Time: 0:58:20 |
(14)脚本运行指令
run var [...][u-boot@MINI2440]# setenv a_run_test echo $bootfile /; version [u-boot@MINI2440]# run a_run_test zImage.img U-Boot 2009.11 ( 4月 04 2010 - 12:09:25) |
(15)系统重启指令
reset[u-boot@MINI2440]# reset resetting ... U-Boot 2009.11 ( 4月 04 2010 - 12:09:25) modified by tekkamanninja (tekkamanninja@163.com) Love Linux I2C: ready DRAM: 64 MB Flash: 2 MB NAND: 128 MiB Video: 240x320x16 20kHz 62Hz In: serial Out: serial Err: serial Net: dm9000 U-Boot 2009.11 ( 4月 04 2010 - 12:09:25) modified by tekkamanninja (tekkamanninja@163.com) Love Linux Hit any key to stop autoboot: 0 [u-boot@MINI2440]# |
下载与烧写
[u-boot@MINI2440]# mmc init mmc: Probing for SDHC ... mmc: SD 2.0 or later card found trying to detect SD Card... Manufacturer: 0x00, OEM "roduct name: " ", revision 0.0 Serial number: 7864775 Manufacturing date: 11/2006 CRC: 0x4f, b0 = 1 READ_BL_LEN=6, C_SIZE_MULT=7, C_SIZE=4095 size = 0 SD Card detected RCA: 0x2 type: SD mmc1 is available [u-boot@MINI2440]# fatload mmc 1 0x30008000 u-boot.bin reading u-boot.bin 256220 bytes read [u-boot@MINI2440]# nand erase 0 0x40000 NAND erase: device 0 offset 0x0, size 0x40000 Erasing at 0x2000000000004 -- 0% complete. OK [u-boot@MINI2440]# nand write 0x30008000 0 0x40000 NAND write: device 0 offset 0x0, size 0x40000 Writing at 0x2000000020000 -- 100% is complete. 262144 bytes written: OK |
[u-boot@MINI2440]# usb start (Re)start USB... USB: scanning bus for devices... 2 USB Device(s) found scanning bus for storage devices... 1 Storage Device(s) found [u-boot@MINI2440]# usb storage Device 0: Vendor: Kingston Rev: PMAP Prod: DT 101 II Type: Removable Hard Disk Capacity: 3875.0 MB = 3.7 GB (7936000 x 512) [u-boot@MINI2440]# usb part 0 print_part of 0 Partition Map for USB device 0 -- Partition Type: DOS Partition Start Sector Num Sectors Type 4 63 7935937 c [u-boot@MINI2440]# fatload usb 0:4 0x30008000 u-boot.bin reading u-boot.bin ........................ 256220 bytes read [u-boot@MINI2440]# protect off all Un-Protect Flash Bank # 1 [u-boot@MINI2440]# erase 0x0 0x3ffff Erasing sector 0 ... ok. Erasing sector 1 ... ok. Erasing sector 2 ... ok. Erasing sector 3 ... ok. Erased 4 sectors [u-boot@MINI2440]# cp.b 0x30008000 0x0 0x3ffff Copy to Flash... done |
[u-boot@MINI2440]# tftpboot 30008000 192.168.1.100:u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'u-boot.bin'. Load address: 0x30008000 Loading: T ################## done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# nand erase 0 0x40000 NAND erase: device 0 offset 0x0, size 0x40000 Erasing at 0x2000000000004 -- 0% complete. OK [u-boot@MINI2440]# nand write 0x30008000 0 0x40000 NAND write: device 0 offset 0x0, size 0x40000 Writing at 0x2000000020000 -- 100% is complete. 262144 bytes written: OK |
[u-boot@MINI2440]# nfs 30008000 192.168.1.100:/home/tekkaman/development/share/u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device File transfer via NFS from server 192.168.1.100; our IP address is 192.168.1.101 Filename '/home/tekkaman/development/share/u-boot.bin'. Load address: 0x30008000 Loading: ################################################### done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# nand erase 0 0x40000 NAND erase: device 0 offset 0x0, size 0x40000 Erasing at 0x2000000000004 -- 0% complete. OK [u-boot@MINI2440]# nand write 0x30008000 0 0x40000 NAND write: device 0 offset 0x0, size 0x40000 Writing at 0x2000000020000 -- 100% is complete. 262144 bytes written: OK |
内核引导
内核的引导步骤如下:为什么要用U-boot的mkimage工具处理内核映像zImage? 因为在用bootm命令引导内核的时候,bootm需要读取一个64字节的文件头,来获取这个内核映象所针对的CPU体系结构、OS、加载到内存中的位置、在内存中入口点的位置以及映象名等等信息。这样bootm才能为OS设置好启动环境,并跳入内核映象的入口点。而mkimage就是添加这个文件头的专用工具。具体的实现请看U-boot中bootm的源码和mkimage的源码。 |
mkimage工具的使用: 参数说明: -A 指定CPU的体系结构,可用值有:alpha、arm 、x86、ia64、mips、mips64、ppc 、s390、sh、sparc 、sparc64、m68k等 -O 指定操作系统类型,可用值有:openbsd、netbsd、freebsd、4_4bsd、linux、svr4、esix、solaris、irix、sco、dell、ncr、lynxos、vxworks、psos、qnx、u-boot、rtems、artos -T 指定映象类型,可用值有:standalone、kernel、ramdisk、multi、firmware、script、filesystem -C 指定映象压缩方式,可用值有: none 不压缩(一般使用这个,因为zImage是已经被bzip2压缩过的自解压内核) gzip 用gzip的压缩方式 bzip2 用bzip2的压缩方式 -a 指定映象在内存中的加载地址,映象下载到内存中时,要按照用mkimage制作映象时,这个参数所指定的地址值来下载 -e 指定映象运行的入口点地址,这个地址就是-a参数指定的值加上0x40(因为前面有个mkimage添加的0x40个字节的头) -n 指定映象名 -d 指定制作映象的源文件 以下是制作内核映像的命令示例: mkimage -n 'tekkaman' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage zImage.img |
[u-boot@MINI2440]# mmc init mmc: Probing for SDHC ... mmc: SD 2.0 or later card found trying to detect SD Card... Manufacturer: 0x00, OEM "roduct name: " ", revision 0.0 Serial number: 7864775 Manufacturing date: 11/2006 CRC: 0x4f, b0 = 1 READ_BL_LEN=6, C_SIZE_MULT=7, C_SIZE=4095 size = 0 SD Card detected RCA: 0x2 type: SD mmc1 is available [u-boot@MINI2440]# fatload mmc 1 30008000 zImage.img reading zImage.img 2277540 bytes read [u-boot@MINI2440]# bootm 30008000 ## Booting kernel from Legacy Image at 30008000 ... Image Name: tekkaman Created: 2010-03-29 12:59:51 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2277476 Bytes = 2.2 MB Load Address: 30008000 Entry Point: 30008040 Verifying Checksum ... OK XIP Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. 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 2010 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 CPU: VIVT data cache, VIVT instruction cache Machine: MINI2440 (略) |
[u-boot@MINI2440]# tftpboot 0x30008000 192.168.1.100:zImage.img dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'zImage.img'. Load address: 0x30008000 Loading: T ################################################################# ################################################################# ########################## done Bytes transferred = 2277540 (22c0a4 hex) [u-boot@MINI2440]# bootm 30008000 ## Booting kernel from Legacy Image at 30008000 ... Image Name: tekkaman Created: 2010-03-29 12:59:51 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2277476 Bytes = 2.2 MB Load Address: 30008000 Entry Point: 30008040 Verifying Checksum ... OK XIP Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. 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 2010 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 CPU: VIVT data cache, VIVT instruction cache Machine: MINI2440 (略) |
[u-boot@MINI2440]# nfs 30008000 192.168.1.100:/home/tekkaman/development/share/zImage.img dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device File transfer via NFS from server 192.168.1.100; our IP address is 192.168.1.101 Filename '/home/tekkaman/development/share/zImage.img'. Load address: 0x30008000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ####################################################### done Bytes transferred = 2277540 (22c0a4 hex) [u-boot@MINI2440]# bootm 30008000 ## Booting kernel from Legacy Image at 30008000 ... Image Name: tekkaman Created: 2010-03-29 12:59:51 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2277476 Bytes = 2.2 MB Load Address: 30008000 Entry Point: 30008040 Verifying Checksum ... OK XIP Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. 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 2010 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 CPU: VIVT data cache, VIVT instruction cache Machine: MINI2440 (略) |
[u-boot@MINI2440]# nfs 30008000 192.168.1.100:/home/tekkaman/development/share/zImage.img dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device File transfer via NFS from server 192.168.1.100; our IP address is 192.168.1.101 Filename '/home/tekkaman/development/share/zImage.img'. Load address: 0x30008000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ####################################################### done Bytes transferred = 2277540 (22c0a4 hex) [u-boot@MINI2440]# nand erase 0x80000 0x300000 NAND erase: device 0 offset 0x80000, size 0x300000 Erasing at 0x36000001800000 -- 0% complete. OK [u-boot@MINI2440]# nand write 30008000 0x80000 300000 NAND write: device 0 offset 0x80000, size 0x300000 Writing at 0x36000000020000 -- 100% is complete. 3145728 bytes written: OK |
[u-boot@MINI2440]# nand read 30008000 0x80000 300000 NAND read: device 0 offset 0x80000, size 0x300000 3145728 bytes read: OK [u-boot@MINI2440]# bootm 30008000 ## Booting kernel from Legacy Image at 30008000 ... Image Name: tekkaman Created: 2010-03-29 12:59:51 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2277476 Bytes = 2.2 MB Load Address: 30008000 Entry Point: 30008040 Verifying Checksum ... OK XIP Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. 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 2010 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 CPU: VIVT data cache, VIVT instruction cache Machine: MINI2440 |