U-Boot上电启动后,按任意键可以退出自动启动状态,进入命令行。

U-Boot 2010.03 (Sep 25 2011 - 16:18:50)

DRAM: 64 MB

Flash: 2 MB

NAND: 64 MiB

In: serial

Out: serial

Err: serial

Net: CS8900-0

Hit any key to stop autoboot: 1

在命令行提示符下,输入U-Boot的命令并履行。U-Boot可支持几10个经常使用命令,通过这些命令,可以对开发板进行调试,引导Linux内核,还可以擦写Flash完成系统部署等功能。掌握这些命令的使用,才能够顺利地进行嵌入式系统的开发。

输入help命令,可以得到当前U-Boot的所有命令列表。每条命令后面是简单的命令说明。

U-Boot还提供了更加详细的命令帮助,通过help命令还可以查看每一个命令的参数说明。由于开发进程的需要,有必要先把U-Boot命令的用法弄清楚。接下来,根据每条命令的帮助信息,解释1下这些命令的功能和参数。

1)bootm命令

bootm命令可以引导启动存储在内存中的程序映像,这些内存包括RAM和可以永久保存的Flash。

# help bootm

bootm - boot application image from memory

Usage:

bootm [addr [arg ...]]

- boot application image stored in memory

passing arguments 'arg ...'; when booting a Linux kernel,

'arg' can be the address of an initrd image

Sub-commands to do part of the bootm sequence. The sub-commands must beissued in

the order below (it's ok to not issue all sub-commands):

start [addr [arg ...]]

loados - load OS image

cmdline - OS specific command line processing/setup

bdt - OS specific bd_t processing

prep - OS specific prep before relocation or go

go - start OS

● 第1个参数addr是程序映像的地址,这个程序映像必须转换成U-Boot的格式。

● 第2个参数对引导Linux内核有用,通常作为U-Boot格式的RAMDISK映像存储地址;也能够是传递给Linux内核的参数(默许情况下传递bootargs环境变量给内核)。

2)bootp命令

bootp命令要求DHCP服务器分配IP地址,然后通过TFTP协议下载指定的文件到内存。

# help bootp

bootp - boot image via network using BOOTP/TFTP protocol

Usage:

bootp [loadAddress] [[hostIPaddr:]bootfilename]

● 第1个参数是load Address下载文件寄存的内存地址。

● 第2个参数是bootfilename要下载的文件名称,这个文件应当在开发主机上准备好。

3)cmp命令

cmp命令可以比较两块内存中的内容。.b以字节为单位;.w以字为单位;.l以长字为单位。注意:cmp.b中间不能保存空格,需要连续输入命令。

# help cmp

cmp - memory compare

Usage:

cmp [.b, .w, .l] addr1 addr2 count

● 第1个参数addr1是第1块内存的起始地址。

● 第2个参数addr2是第2块内存的起始地址。

● 第3个参数count是要比较的数目,单位是字节、字或长字。

4)cp命令

cp命令可以在内存中复制数据块,包括对Flash的读写操作。

# help cp

cp - memory copy

Usage:

cp [.b, .w, .l] source target count

● 第1个参数source是要复制的数据块起始地址。

● 第2个参数target是数据块要复制到的地址。这个地址如果在Flash中,那末会直接调用写Flash的函数操作。所以U-Boot写Flash就使用这个命令,固然需要先把对应Flash区域擦干净。

● 第3个参数count是要复制的数目,根据cp.b、cp.w、cp.l分别以字节、字、长字为单位。

5)crc32命令

crc32命令可以计算存储数据的校验和。

# help crc32

crc32 - checksum calculation

Usage:

crc32 address count [addr]

- compute CRC32 checksum [save at addr]

● 第1个参数address是需要校验的数据起始地址。

● 第2个参数count是要校验的数据字节数。

● 第3个参数addr用来指定保存结果的地址。

6)echo命令

echo命令回显参数。

# help echo

echo - echo args to console

Usage:

echo [args..]

- echo args to console; c suppresses newline

7)erase命令

erase命令可以擦除Flash。参数必须指定Flash擦除的范围。

# help erase

erase - erase FLASH memory

Usage:

erase start end

- erase FLASH from addr 'start' to addr 'end'

erase start +len

- erase FLASH from addr 'start' to the end of sect w/addr 'start'+'len'⑴

erase N:SF[-SL]

- erase sectors SF-SL in FLASH bank # N

erase bank N

- erase FLASH bank # N

erase all

- erase all FLASH banks

依照起始地址和结束地址,start必须是擦除块的起始地址;end必须是擦除末尾块的结束地址,这类方式最经常使用。举例说明:擦除0x20000~0x3ffff区域命令为erase 20000 3ffff。

依照组和扇区,N表示Flash的组号,SF表示擦除起始扇区号,SL表示擦除结束扇区号。另外,还可以擦除全部组,擦除组号为N的全部Flash组。擦除全部Flash只要给出1个all的参数便可。

8)nand命令

nand命令可以通过不同的参数实现对Nand Flash的擦除、读、写操作。

常见的几种命令的含义以下(具体格式见help nand)。

# help nand

nand - NAND sub-system

Usage:

nand info - show available NAND devices

nand device [dev] - show or set current device

nand read - addr off|partition size

nand write - addr off|partition size

read/write 'size' bytes starting at offset 'off'

to/from memory address 'addr', skipping bad blocks.

nand erase [clean] [off size] - erase 'size' bytes from

offset 'off' (entire device if not specified)

nand bad - show bad blocks

nand dump[.oob] off - dump page

nand scrub - really clean NAND erasing bad blocks (UNSAFE)

nand markbad off [...] - mark bad block(s) at offset (UNSAFE)

nand biterr off - make a bit error at offset (UNSAFE)

● nand erase:擦除Nand Flash。

● nand read:读取Nand Flash,遇到flash坏块时会出错。

● nand write:写Nand Flash,nand write命令遇到flash坏块时会出错。

9)flinfo命令

flinfo命令打印全部Flash组的信息,也能够只打印其中某个组。1般嵌入式系统的Flash只有1个组。

# help flinfo

flinfo - print FLASH memory information

Usage:

flinfo

- print information for all FLASH memory banks

flinfo N

- print information for FLASH memory bank # N

10)go命令

go命令可以履行利用程序。

# help go

go - start application at address 'addr'

Usage:

go addr [arg ...]

- start application at address 'addr'

passing 'arg' as arguments

● 第1个参数addr是要履行程序的入口地址。

● 第2个可选参数是传递给程序的参数,可以不用。

11)iminfo命令

iminfo命令可以打印程序映像的开头信息,包括了映像内容的校验(序列号、头和校验和)。

# help iminfo

iminfo - print header information for application image

Usage:

iminfo addr [addr ...]

- print header information for application image starting at

address 'addr' in memory; this includes verification of the

image contents (magic number, header and payload checksums)

第1个参数addr指定映像的起始地址。可选的参数是指定更多的映像地址。

12)loadb命令

loadb命令可以通过串口线下载2进制格式文件。

# help loadb

loadb - load binary file over serial line (kermit mode)

Usage:

loadb [ off ] [ baud ]

- load binary file over serial line with offset 'off' and baudrate 'baud'

13)loads命令

loads命令可以通过串口线下载S-Record格式文件。

# help loads

loads - load S-Record file over serial line

Usage:

loads [ off ]

- load S-Record file over serial line with offset 'off'

14)mw命令

mw命令可以依照字节、字、长字写内存,.b、.w、.l的用法与cp命令相同。

# help mw

mw - memory write (fill)

Usage:

mw [.b, .w, .l] address value [count]

● 第1个参数address是要写的内存地址。

● 第2个参数value是要写的值。

● 第3个可选参数count是要写单位值的数目。

15)nfs命令

nfs命令可使用NFS网络协议通过网络启动映像。

# help nfs

nfs - boot image via network using NFS protocol

Usage:

nfs [loadAddress] [[hostIPaddr:]bootfilename]

16)printenv命令

printenv命令打印环境变量。可以打印全部环境变量,也能够只打印参数中列出的环境变量。

# help printenv

printenv - print environment variables

Usage:

printenv

- print values of all environment variables

printenv name ...

- print value of environment variable 'name'

17)protect命令

protect命令是对Flash写保护的操作,可使能和消除写保护。

help protect

protect - enable or disable FLASH write protection

Usage:

protect on start end

- protect FLASH from addr 'start' to addr 'end'

protect on start +len

- protect FLASH from addr 'start' to end of sect w/addr 'start'+'len'⑴

protect on N:SF[-SL]

- protect sectors SF-SL in FLASH bank # N

protect on bank N

- protect FLASH bank # N

protect on all

- protect all FLASH banks

protect off start end

- make FLASH from addr 'start' to addr 'end' writable

protect off start +len

- make FLASH from addr 'start' to end of sect w/addr 'start'+'len'⑴ wrtable

protect off N:SF[-SL]

- make sectors SF-SL writable in FLASH bank # N

protect off bank N

- make FLASH bank # N writable

protect off all

- make all FLASH banks writable

● 第1个参数on代表使能写保护;off代表消除写保护。

● 第2和3个参数是指定Flash写保护操作范围,与擦除的方式相同。

18)rarpboot命令

rarpboot命令可使用TFTP协议通过网络启动映像,也就是把指定的文件下载到指定地址,然后履行。

# help rarpboot

rarpboot - boot image via network using RARP/TFTP protocol

Usage:

rarpboot [loadAddress] [[hostIPaddr:]bootfilename]

● 第1个参数是loadAddress映像文件下载到的内存地址。

● 第2个参数是bootfilename要下载履行的镜像文件。

19)run命令

run命令可以履行环境变量中的命令,后面参数可以跟几个环境变量名。

# help run

run - run commands in an environment variable

Usage:

run var [...]

- run the commands in the environment variable(s) 'var'

20)setenv命令

setenv命令可以设置环境变量。

# help setenv

setenv - set environment variables

Usage:

setenv name value ...

- set environment variable 'name' to 'value ...'

setenv name

- delete environment variable 'name'

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

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

21)sleep命令

sleep命令可使用TFTP协议通过网络下载文件,依照2进制文件格式下载。另外,使用这个命令,必须配置好相干的环境变量,例如serverip和ipaddr。

help sleep

sleep - delay execution for some time

Usage:

sleep N

- delay execution for N seconds (N is _decimal_ !!!)

sleep命令可以延迟N秒履行,N为10进制数。

22)nm命令

nm命令可以修改内存,可以依照字节、字、长字操作。

# help nm

nm - memory modify (constant address)

Usage:

nm [.b, .w, .l] address

参数address是要读出并且修改的内存地址。

23)tftpboot命令

tftpboot命令可以通过使用TFTP协议在网络上下载2进制格式文件。

tftpboot - boot image via network using TFTP protocol

Usage:

tftpboot [loadAddress] [[hostIPaddr:]bootfilename]

24)saveenv 命令

saveenv命令可以保存环境变量到存储装备。

# help saveenv

saveenv - save environment variables to persistent storage

Usage:

saveenv

这些U-Boot命令为嵌入式系统提供了丰富的开发和调试功能。在Linux内核启动和调试进程中,都可以用到U-Boot的命令。但是1般情况下,不需要使用全部命令。比如已支持以太网接口,可以通过tftpboot命令来下载文件,那末就没有必要使用串口下载的loadb。反过来,如果开发板需要特殊的调试功能,也能够添加新的命令。

本文选自华清远见嵌入式培训教材《从实践中学嵌入式Linux利用程序开发》

erase命令的参数linux,U-Boot命令大全(功能参数及用法)相关推荐

  1. linux的帮助命令及区别,linux经常使用命令以及帮助命令

    做为自学者,首先须要学会的就是能看懂每一个命令的帮助文档,那么第一个须要掌握的Linux命令就应该是man. man命令 Linux下的帮助指令,经过man命令能够查看Linux中的命令帮助,配置文件 ...

  2. 使用linux命令查看进程,Linux查看进程命令有哪些

    我们在使用Linux系统的过程中,有的时候会需要查看后台进程,并选择性的关闭一些不用的进程,那么Linux中有哪些查看进程的命令呢?今天小编就来为大家总结整理一些常用的Linux查看进程命令. Lin ...

  3. linux find -size参数,Linux find 常用命令

    Linux find 常用命令 (2012-10-24 11:32:52) 标签: linux shell 说明: 以下内容,若标注在 [ ] 中括号内的均可省略,除非做特别说明. 但严格来说,若缺少 ...

  4. linux+top+常用参数,linux的top命令参数详细说明

    Linux中的top命令是个常用的命令之一,下面由学习啦小编为大家整理了Linux的top命令参数详细说明,希望对大家有帮助! linux的top命令简介 top命令是Linux下常用的性能分析工具, ...

  5. linux的ping命令-l参数,linux下 ping命令参数

    linux下 ping命令参数 表1 ping命令参数(linux) 参数 描述 -c count 在收发指定的count个数目的报文后停止 -d 在套接口设置so_debug -f 尽可能快地发送报 ...

  6. linux命令cp命令行参数,linux cp(复制)命令参数详解

    参数: -a 或 --archive     此参数的效果和同时指定"-dpR"参数相同 -b 或 --backup      删除.覆盖目的文件先备份,备份的文件或目录亦建立为符 ...

  7. linux打包压缩命令有哪些,Linux压缩打包命令使用方法有哪些呢?

    tar命令 [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参 ...

  8. cat查看tomcat日志 linux_linux怎么使用cat命令查看文件? linux中cat命令的使用方法

    Linux系统中查看文件内容时,可以使用cat命令来查看,但是cat命令一般只适合查看文件内容较少的文件.该怎么使用cat命令呢?下面我们就来看看详细的教程. 1.cat命令的语法格式为:cat [参 ...

  9. Linux命令gitview,使用linux的gitview命令查看文件内容

    使用linux的gitview命令查看文件内容 发布时间:2020-07-22 10:23:42 来源:亿速云 阅读:99 作者:清晨 栏目:服务器 这篇文章将为大家详细讲解有关使用linux的git ...

  10. 在linux关闭的命令,关于关闭Linux计算机的命令操作

    关于关闭Linux计算机的命令操作 shutdown -h now 立即关机 shutdown -r now 立即重启 Linux命令:shutdown 功能说明:系统关机指令. 语法:shutdow ...

最新文章

  1. useradd与adduser的区别
  2. NumPy 高级索引
  3. [PHP] Laravel常见报错总结(持续更新)
  4. linux下开发问题汇总
  5. 在 SAP BTP 平台 Neo 环境里使用 SAP Cloud SDK 创建应用
  6. powerdesigner显示工具面板_photoshop教程-画笔工具预设与选项设置
  7. azul java_Java版本更新重大提醒 - Azul
  8. tf.keras.layers.Attention 理解总结
  9. 进程的描述与控制 操作系统第二章知识点归纳总结
  10. 清华教会我的4点方法论
  11. 快手与美团达成互联互通合作:美团将在快手上线小程序
  12. Tomcat服务器报错IOException: Broken pipe
  13. 清代考生是如何作弊?很是牛啊!
  14. Analysis::checkMerge2Nx2N_rd0_4()
  15. matlab中李亚普诺夫方程,李亚普诺夫函数.ppt
  16. C# 对文件进行MD5计算
  17. 微信为什么使用 SQLite 保存聊天记录
  18. php开发APP接口 接收客户端的图片
  19. 个人常用iOS第三方库以及XCode插件介绍
  20. 什么是GPIO?(详细介绍)

热门文章

  1. I18N、L10N、G11N
  2. [程序员爱健身]第一节训练课
  3. countif和sum套用_Excel CountIf函数的使用方法,包含与If、Sum组合实现统计不重复与多条件实例...
  4. MySQL安装教程(压缩包方式)
  5. JVM初探- 内存分配、GC原理与垃圾收集器
  6. java 事件 事件 掩码_Java掩码的几种使用例举|chu
  7. 音诺恒YNH-931基于RK3288的安卓广告机主板方案详解
  8. Column ‘dept_no‘ in field list is ambiguous
  9. 《围城》---方鸿渐 v1
  10. Windows 上安装 PostgreSQL详细图文教程