一、常用命令

1. 获取帮助

① help 或 ?

2. 环境变量与相关命令

(1)环境变量

① bootdely

② baudrate

③ netmask

④ ethaddr

⑤ bootfile

⑥ bootargs

⑦ bootcmd

⑧ serverip

⑨ ipaddr

⑩ stdin

⑪ stdout

⑫ stderr

(2)相关命令

① printenv

② setenv:setenv name value

③ saveenv

3. 串口传输命令

① loadb

② loadx

③ loady

4. 网络命令

① ping

② dhcp

③ rarpboot

④ nfs

⑤ tftpboot:tftpboot MemAddr FileName(tftp 0x30008000 uImage)

⑥ bootp

5. Nand Flash操作

① nand info

② nand device [dev]

③ nand read addr off size

④ nand write addr off size

⑤ nand write[.yaffs[1]] addr off size

⑥ nand erase [clean] [off size]

⑦ nand bad

⑧ nand dump[.oob] off

⑨ nand srub

⑩ nand markbad off

⑪ nboot addr dev offset

6. 内存、寄存器操作命令

① nm: 修改内存值(指定地址)

  格式:nm[.b, .w, .l] addr

② mm:修改内存值(地址自动加1)

  格式:mm[.b, .w, .l] addr

③ md:显示内存值

  格式:md[.b, .w, .l] addr

④ mw:用指定的数据填充内存

  格式:mw[.b, .w, .l] addr value [count]

⑤ cp:内存的拷贝(包含内存与Nor Flash间的数据拷贝)

  格式:cp[.b, .w, .l] srcAddr dstAddr count

7. Nor Flash操作命令

① flinfo:

② protect:

③ erase:

8. USB操作命令

① usb reset

② usb stop [f]

③ usb tree

④ usb info [dev]

⑤ usb storage

⑥ usb dev [dev]

⑦ usb part [dev]

9. SD卡(MMC)操作命令

① mmc init [dev]

② mmc device [dev]

注:SD卡只有初始化和设备信息的显示,读写时通过文件系统名利实现的。

10. FAT文件系统命令

① fatinfo: 显示文件系统相关信息

  格式: fatinfo <interface> <dev[:part]>

② fatload: 从FAT32系统中读取二进制文件到SDRAM

  格式: fatload <interface> <dev[:part]> <addr> <filename> [bytes]

③ fatls: 列出FAT32文件系统中目录中的文件

  格式: fatls <interface> <dev[:part]> <directory>

11. 系统引导命令

① boot: 运行ENV"bootcmd"中指定的命令

② bootd: 同boot

③ bootm: 启动在SDRAM中用UBoot的mkimage工具处理过的内核映像

12. 其它命令

① run:运行一个脚本

MINI2440 :) setenv Test echo Hello\;ver
MINI2440 :) run Test
Hello U-Boot 2013.10 (Aug - ::)
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2008q3-) 4.3.
GNU ld (Sourcery G++ Lite 2008q3-) 2.18.50.20080215
MINI2440 :)

② reset:重启CPU

二、内核下载

使用U-Boot将映像文件烧写到板子上的Flash,一般步骤是:

① 通过网络、串口、U盘、SD卡等方式将文件传输到SDRAM

② 使用Nand Flash 或 Nor Flash相关的读写命令将SDRAM中的数据烧入Flash

(1)通过SD卡烧入Nand Flash

mmc init
fatload mmc 0x30008000 uImage
nand erase 0x40000
nand write 0x30008000 0x40000

(2)通过U盘烧入Nor Flash

usb start
usb part
fatload usb : 0x30008000 u-boot.bin
protect off all
erase 0x00 0x3fff
cp.b 0x30008000 0x00 0x3fff

(3)通过TFTP服务烧入Nand Flash

tftpboot 0x30008000 192.168.1.102:uImage
nand erase 0x40000
nand write 0x30008000 0x00 0x40000

(4)通过NFS服务烧入Nand Flash

nfs0x30008000 192.168.1.102:/nfsroot/uImage
nand erase 0x40000
nand write 0x30008000 0x00 0x40000

三、内核引导

内核的引导步骤如下:

① 用U-Boot的mkimage工具处理内核映像zImage,生成uImage

② 用过网络、串口、U盘、SD卡等方式将处理过的内核映像uImage传输到SDRAM的一定位置(一般使用0x30008000)

③ 使用bootm等内核引导命令来启动内核

(1)通过SD卡引导内核

mmc init
fatload mmc 0x30008000 uImage
bootm 0x30008000

(2)通过TFTP服务引导内核

tftpboot 0x30008000 192.168.1.102:uImage
bootm 0x30008000

(3)通过NFS服务引导内核

nfs 0x30008000 192.168.1.102:/nfsroot/uImage
bootm 0x30008000

(4)通过Nand Flash引导内核

nfs 0x30008000 192.168.1.102:/nfsroot/uImage
nand erase 0x80000 0x200000
nand write 0x30008000 0x80000 0x200000
nand read 0x30008000 0x80000 0x200000
bootm 0x30008000

备注1:为什么要用U-Boot的mkimage工具处理内核映像zImage

  因为在用bootm命令引导内核的时候,bootm需要读取一个64字节的文件头,来获取这个内核映像所针对的COU体系结构、OS、加载到内存的位置、在内存中入口点的位置以及映像名等信息。这样bootm才能为OS设置好启动环境,并跳入内核映像的入口点。而mkimage就是添加这个文件头的专用工具。

备注2:mkimage工具参数说明:

① -A:指定CPU体系结构

② -O:指定操作系统类型

③ -T:指定映像类型

④ -C:指定映像压缩方式

⑤ -a:指定映像在内存中的加载地址

⑥ -e:指定映像运行的入口点地址

⑦ -n:指定映像名

⑧ -d:指定制作映像的源文件

示例:mkimage -n "Kevin" -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage uImage

UBoot常用命令及内核下载与引导的更多相关文章

  1. UBoot常用命令手册

    UBoot常用命令手册 U-Boot还提供了更加详细的命令帮助,可以通过”?”显示支持的命令列表,通过help [CommandName]命令还可以查看每个命令的参数说明. 1.bootm bootm ...

  2. 编译u-boot命令和u-boot常用命令

    一.编译u-boot命令 1.配置开发板 #make TQ2440_config 2.编译 #make all 3.交叉编译器是crosstools_3.4.5_softfloat” 使用4.3.3版 ...

  3. uboot常用命令详解

    dnw:在进入系统之前进入指令行,输入该指令可下载烧录文件. re:重新启动嵌入式系统. printenv:打印当前系统环境变量. setenv:设置环境变量,格式:setenv name value ...

  4. uboot常用命令

    一. 常用简单命令 1.1. help命令 a. 帮助查看其他命令的使用方法,类型linux下man b. 示例: help help x210 # help help help [command . ...

  5. u-boot常用命令

    查看ip地址等信息 print tftp相关 设置ip地址 set ipaddr 192.168.1.5 设置tftp所在电脑ip set serverip 192.168.1.8 最后必须输入sav ...

  6. 嵌入式Linux系统移植——uboot常用命令

    flash的一般分区: 其它数据 环境变量 可执行程序.如bootloader print(可缩写为:pri):打印查看uboot这个软件中集成的环境变量setenv.saveenv:设置.保存环境变 ...

  7. uboot常用命令及其使用

    环境变量设置 setenv 设置一个环境变量 # 格式:setenv key vlaue setenv bootdelay 5 # 设置uboot启动延时5s 删除一个环境变量 uboot对于一个没有 ...

  8. CentOS 常用命令大全

    下面,就给大家介绍这些CentOS常用命令. 一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep &qu ...

  9. CentOS常用命令备忘

    1. 查看进程 ps -a 杀掉进程 kill PID 2. 添加计划任务crontab -e 例如:30 21 * * * service httpd restart 每天21:30重启apache ...

随机推荐

  1. Oracle RMAN-06023 和ORA-19693错误

    在将一个0级备份的数据库还原到其它机器上时,首先遇到了RMAN-06023然后遇到ORA-19693错误,错误发生的环境和内容大致如下: 数据库版本: SQL> select * from v$ ...

  2. Error creating bean with name 'as' defined in class path resource

    (1)一个是setter方法的名字和配置文件对应名字有问题 (2)导入的包不对,搭建环境出错.

  3. (转)走进AngularJs(六) 服务

    原文地址:http://www.cnblogs.com/lvdabao/p/3464015.html 今天学习了一下ng的service机制,作为ng的基本知识之一,有必要做一个了解,在此做个笔记记录 ...

  4. 【小梅哥SOPC学习笔记】NIOS II处理器运行UC/OS II

    SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ...

  5. BZOJ 3884 上帝与集合的正确用法(扩展欧拉定理)

    Description   根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”.“α”被定义为“ ...

  6. [LeetCode 题解]:Candy

    There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...

  7. jquery实现简单瀑布流

    瀑布流这个概念一直不是很理解,看到别人可以实现,自己弄了很久还是不能实现就很纠结.瀑布流这根刺就一直扎在我心里,一次偶然的机会看到别人实现了瀑布流,我想我是不是也应该再继续把这个未完成的任务画一个圆满 ...

  8. c#设计模式系列:状态模式(State pattern)

    引言 我们在编程的时候,有时候会遇到,一个对象的行为动作会由对象的状态来决定的,也就是对象的行为是由状态来决定,如果对象的状态很多,那么也会由很多不同的行为,这时候我们一班会 if –else if- ...

  9. 基于flask的轻量级webapi开发入门-从搭建到部署

    基于flask的轻量级webapi开发入门-从搭建到部署 注:本文的代码开发工作均是在python3.7环境下完成的. 关键词:python flask tornado webapi 在python虚 ...

  10. [HAOI2008] 排名系统

    题目链接:戳我 要注意因为数可能会对应很多人,但是输出的时候要按照添加的顺序输出.所以我们不能将相同值的节点合并,用set维护.就算值相同也只能新开节点. 然后就没有什么了...懒得写哈希表..直接上 ...