uboot常用命令
一. 常用简单命令
1.1. help命令
a. 帮助查看其他命令的使用方法,类型linux下man
b. 示例: help help
x210 # help help
help [command ...]
- show help information (for 'command')
'help' prints online help for the monitor commands. Without arguments, it prints a short usage message for all commands. To get detailed help information for specific commands you can type
'help' with one or more command names as arguments. x210 #
1.2. printenv命令
a. printenv命令可以简化为print
b. print命令不用带参数,作用是打印出系统中所有的环境变量。
x210 # print
baudrate=
ethaddr=::5c::0a:5b
gatewayip=192.168.1.1
ipaddr=192.168.1.20
netmask=255.255.255.0
serverip=192.168.1.141
bootdelay=
bootcmd=movi read kernel ; bootm
bootargs=console=ttySAC2, root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3 Environment size: / bytes
x210 #
1.3. setenv命令
1.3.1. setenv可以简化为set
1.3.2. 设置(添加/更改)环境变量
a. 新建一个环境变量,使用set var value
b. 更改一个环境变量,使用set var value
c. 删除一个环境变量,使用set var
PS:使用set设置时,uboot的有些命令带的参数非常长,为了告诉uboot这个非常长而且中间有好多个空格的东西是给他的一整个参数,所以用单引号将这个很长且中间有空格隔开的参数引起来
x210 # print
baudrate=
ethaddr=::5c::0a:5b
gatewayip=192.168.1.1
ipaddr=192.168.1.20
netmask=255.255.255.0
serverip=192.168.1.141
bootdelay=
bootcmd=movi read kernel ; bootm
bootargs=console=ttySAC2, root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3 Environment size: / bytes
x210 # set mytest
x210 # print
baudrate=
ethaddr=::5c::0a:5b
gatewayip=192.168.1.1
ipaddr=192.168.1.20
netmask=255.255.255.0
serverip=192.168.1.141
bootdelay=
bootcmd=movi read kernel ; bootm
bootargs=console=ttySAC2, root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3
mytest= Environment size: / bytes
x210 # set mytest
x210 # print
baudrate=
ethaddr=::5c::0a:5b
gatewayip=192.168.1.1
ipaddr=192.168.1.20
netmask=255.255.255.0
serverip=192.168.1.141
bootdelay=
bootcmd=movi read kernel ; bootm
bootargs=console=ttySAC2, root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3
mytest= Environment size: / bytes
x210 # set mytest
x210 # print
baudrate=
ethaddr=::5c::0a:5b
gatewayip=192.168.1.1
ipaddr=192.168.1.20
netmask=255.255.255.0
serverip=192.168.1.141
bootdelay=
bootcmd=movi read kernel ; bootm
bootargs=console=ttySAC2, root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3 Environment size: / bytes
x210 #
1.4. saveenv命令
a. saveenv命令可以简化为save
b. saveenv/save命令不带参数,直接执行,作用是将内存中的环境变量的值同步保存到Flash中环境变量的分区
c. 彻底更改一个环境变量的值,需要2步:第一步set命令来更改内存中的环境变量,第二步用save命令将其同步到Flash中环境变量的分区
二. 与网络相关命令
2.1. ping命令
a. ping是测试开发板和主机之间的网络链接
b. 命令用法: ping ip地址
2.2. tftp命令
a. tftp 命令用于从服务器下载内容到客户端
b. 示例:tftp 0x30000000 zImage-qt :将服务器上名为zImage-qt的文件下载到开发板内存的0x30000000地址处
2.3. nfs命令
a. 这个命令在uboot开发中使用很少,如需要请自行百度。
三. SD卡/iNand操作指令movi簇
3.1. movi指令是一个命令集,有很多子命令,具体用法可以help movi查看。
3.2. help movi分析
x210 # help movi
movi init - Initialize moviNAND and show card info
movi read {u-boot | kernel} {addr} - Read data from sd/mmc
movi write {fwbl1 | u-boot | kernel} {addr} - Write data to sd/mmc
movi read rootfs {addr} [bytes(hex)] - Read rootfs data from sd/mmc by size
movi write rootfs {addr} [bytes(hex)] - Write rootfs data to sd/mmc by size
movi read {sector#} {bytes(hex)} {addr} - instead of this, you can use "mmc read"
movi write {sector#} {bytes(hex)} {addr} - instead of this, you can use "mmc write" x210 #
3.2.1. movi write {fwbl1 | u-boot | kernel} {addr}这种通用型的描述说明:
a. movi 和 read外面没有任何标记说明每一次使用这个指令都是必选的
b. 一对大括号{}括起来的部分必选1个,大括号中的竖线表是多选一
c. 中括号[]表示可选参数(可以有也可以没有)
3.3. 示例: movi read u-boot 0x30000000 意思就是把iNand中的u-boot分区读出到DDR的0x30000000起始的位置处。
PS:uboot代码中将iNand分成了很多个分区,每个分区有地址范围和分区名,uboot程序操作中可以使用直接地址来操作iNand分区,也可以使用分区名来操作分区;注意这里的0x30000000也可以直接写作30000000,意思是一样的(uboot的命令行中所有数字都被默认当作十六进制处理,不管你加不加0x都一样
四. 内存操作指令
4.1. DDR内存中是没有分区的(只听说过对硬盘、Flash进行分区,没听说过对内存进行分区····),但是内存使用时要注意,千万不能越界
4.2. md(memory display)命令
4.2.1. 用来显示内存中的内容。
4.2.2. help md
x210 # help md
md [.b, .w, .l] address [# of objects]
- memory display
a. .b表示也字节形式查看;.w表示也半字形式查看;.l表示也字形式查看;# of object表示查看长度
b. 示例: md.b 0x30000000 10
x210 # md.b 0x30000000
: ff ef ff ff 7f ff ff ff ff ee ff ff ff fd ff ff ................
x210 #
4.3. mw(memory write)命令
4.3.1. 将内容写到内存中
4.3.2. help mw
x210 # help mw
mw [.b, .w, .l] address value [count]
- write memory x210 #
4.4. mm(memory modify)
4.4.1. 修改内存中的某一块,说白了还是写内存(如果需要批量的逐个单元的修改内存,用mm最合适)
4.4.2. help mm
x210 # help mm
mm [.b, .w, .l] address
- memory modify, auto increment address x210 #
五. 启动内核命令
5.1. bootm命令
a. bootm启动内核同时给内核传参,bootm专门用于启动内核的
b. help bootm分析
x210 # help bootm
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 x210 #
5.2. go命令
a. 此命令虽然可以启动内核但并不是专门用于启动内核
b. help go分析
x210 # help go
go addr [arg ...]
- start application at address 'addr'
passing 'arg' as arguments x210 #
ps:go命令本来不是专为启动内核设计的,go命令内部其实就是一个函数指针指向一个内存地址然后直接调用那个函数,go命令的实质就是PC直接跳转到一个内存地址去运行而已。go命令可以用来在uboot中执行任何的裸机程序(有一种调试裸机程序的方法就是事先启动uboot,然后在uboot中去下载裸机程序,用go命令去执行裸机程序)
参考《朱老师.1.2ARM裸机课件》
uboot常用命令的更多相关文章
- UBoot常用命令手册
UBoot常用命令手册 U-Boot还提供了更加详细的命令帮助,可以通过”?”显示支持的命令列表,通过help [CommandName]命令还可以查看每个命令的参数说明. 1.bootm bootm ...
- 编译u-boot命令和u-boot常用命令
一.编译u-boot命令 1.配置开发板 #make TQ2440_config 2.编译 #make all 3.交叉编译器是crosstools_3.4.5_softfloat” 使用4.3.3版 ...
- uboot常用命令详解
dnw:在进入系统之前进入指令行,输入该指令可下载烧录文件. re:重新启动嵌入式系统. printenv:打印当前系统环境变量. setenv:设置环境变量,格式:setenv name value ...
- UBoot常用命令及内核下载与引导
一.常用命令 1. 获取帮助 ① help 或 ? 2. 环境变量与相关命令 (1)环境变量 ① bootdely ② baudrate ③ netmask ④ ethaddr ⑤ bootfile ...
- 嵌入式Linux系统移植——uboot常用命令
flash的一般分区: 其它数据 环境变量 可执行程序.如bootloader print(可缩写为:pri):打印查看uboot这个软件中集成的环境变量setenv.saveenv:设置.保存环境变 ...
- uboot常用命令及其使用
环境变量设置 setenv 设置一个环境变量 # 格式:setenv key vlaue setenv bootdelay 5 # 设置uboot启动延时5s 删除一个环境变量 uboot对于一个没有 ...
- u-boot常用命令
查看ip地址等信息 print tftp相关 设置ip地址 set ipaddr 192.168.1.5 设置tftp所在电脑ip set serverip 192.168.1.8 最后必须输入sav ...
- uboot的常用命令及用法
转自:https://blog.csdn.net/jklinux/article/details/72638830 https://blog.csdn.net/dagefeijiqumeiguo/ar ...
- 0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令
(内核make menuconfig之后,通过insmod安装的驱动都应该重新make,可能会出现一些莫名的问题) (nor flash/SDRAM/DM9000都受内存控制器控制,需要配置内存控制器 ...
随机推荐
- 【leetcode】1217. Play with Chips
题目如下: There are some chips, and the i-th chip is at position chips[i]. You can perform any of the tw ...
- Linux设置程序开机自启动
注意: 作者测试时,Linux版本为RedHat6,同时应用在CentOS6应该也可以(作者未实测,但有同事在CentOS6上使用可行),系统版本的不同,可能造成操作上的差异(CentOS7就与Cen ...
- PHP基础教程 php 网络上关于设计模式一些总结
1.单例模式 单例模式顾名思义,就是只有一个实例.作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例模式的要点有三个: 一是某个类只能有一个实例; 二 ...
- CSV文件在Python中的几种处理方式
Comma Separated Values,简称CSV,它是一种以逗号分隔数值的文件类型.在数据库或电子表格中,它是最常见的导入导出格式,它以一种简单而明了的方式存储和共享数据,CSV文件通常以纯文 ...
- 使用 UIStoryBoard 语法糖
最后更新: 2018-09-06 当你用 UIStoryBoard (以下简称 'SB') 做iOS开发时候,总是避免不了设置 StoryBoard ID 的问题, StoryBoard ID 是一个 ...
- TiDB官方文档
TiDB官方文档: https://github.com/pingcap/docs-cn TiDB 整体架构 TiDB 集群主要包括三个核心组件:TiDB Server,PD Server 和 TiK ...
- C#调用C++的库 P/Invoke工具集
p/Invoke可以使用工具辅助自动生成,以减少混淆 1.官方的支持 http://visualstudiogallery.msdn.microsoft.com/site/search?query=p ...
- 在vi vim中使用正则表达式与 普通perl正则的区别?
参考这篇文章很好 vim中的正则表达式常用的命令有种, 即搜索和替换 /: 搜索 :s 替换 在vim中的正则表达式和perl编程的正则表达式还是有区别的: 正则表达式中的内容包括: 字面字符... ...
- leetcode 4寻找两个有序数组的中位数
最优解O(log(min(m,n))) /** 之前用合并有序数组的思想做了O((m+n+1)/2),现在试一试O(log(min(m,n))) 基本思路为:通过二分查找较小的数组得到对应的中位数(假 ...
- Unsupervised Image-to-Image Translation Networks
Abstract: 无监督图像到图像的翻译目的是学习不同域图像的一个联合分布,通过使用来自单独域图像的边缘分布.给定一个边缘分布,可以得到很多种联合分布.如果不加入额外的假设条件的话,从边缘分布无法推 ...