欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Uboot 常用指令

程序员文章站 2022-04-09 12:56:06
指令: bootm bootm 用于将内核镜像加载到内存的指定地址处 例: bootm 0x82000000 查看和修改环境变量指令 常用环境变量列表 bootdelay 执行自动启动(bootcmd中的命令)的等候秒数 baudrate 串口控制台的波特率 bootfile 默认的下载文件名 bo ......

指令: bootm

bootm  用于将内核镜像加载到内存的指定地址处

例:

bootm 0x82000000

查看和修改环境变量指令

常用环境变量列表
bootdelay 执行自动启动(bootcmd中的命令)的等候秒数 
baudrate 串口控制台的波特率 
bootfile 默认的下载文件名 
bootargs 传递给Linux内核的启动参数 
bootcmd 自动启动时执行命令 
stdin 标准输入设备, 一般是串口  
stdout 标准输出, 一般是串口,也可是LCD(VGA)
stderr   标准出错,一般是串口,也可是LCD(VGA)
serverip TFTP服务器端的IP地址 
ipaddr 本地的IP地址  
ethaddr 以太网的MAC地址 
netmask 以太网的网络掩码 

gatewayip 以太网的网关

 

指令: setenvname value
第1个参数是环境变量的名称。  
第2个参数是要设置的值,如果没有第2个参数,表示删除这个环境变量
例:
setenv serverip 192.168.1.12//添加环境变量serverip 其值为 192.168.1.12
setenv serverip 192.168.1.20//在上一行的基础上把环境变量serverip 值重新赋为 192.168.1.20
setenv serverip //把 serverip 变量删除

指令: saveenv保存环境变量

指令: printenv 查看环境变量
使用该命令返回:
bootdelay=1
baudrate=115200
bootfile="uImage"
filesize=6600EC
fileaddr=82000000
bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),27M(rootfs)
bootcmd=sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Jan 20 2015 - 15:46:38)
serverip=192.168.1.12
ipaddr=192.168.1.129
ethaddr=00:01:02:11:88:91
netmask=255.255.255.0
gatewayip=192.168.1.1

 

查看和修改内存值指令

查看内存命令 md
修改内存命令 mm
填充内存命令 mw
复制内存命令 cp
这些命令都可以带上后缀 “.b”(字节 byte),  ”.w”(字 word),  ”.l”(4字节 long)  为单位进行操作

指令: mw填充内存命令
mw[.b,.w,.l] address value [count]
表示以[.b,.w,.l]为单位往开始地址为address的内存填充count 个值为 value 的数据
例:
mw.b 82000000 ff 100000从地址0x82000000地址开始填充0x100000(1M字节)个值为0xff的数据

指令: md查看内存命令
md[.b,.w,.l] address [count]
表示以[.b,.w,.l]为单位显示从地址address开始的内存数据,显示的数据个数为count
例:
md.b 82000000  10显示从地址0x82000000地址开始的0x10个字节的数据
返回信息:
82000000: d3 2c b4 4b 2c d3 4b b4 d3 d3 b4 b4 d3 2c b4 4b    .,.K,.K......,.K

指令: mm修改内存命令
mm[.b,.w,.l] address
表示以[.b,.w,.l]为单位从地址address开始修改内存数据,执行mm命令后,输入新数据后回车,地址会自动增加,按“CTRL + c”退出;
例: 把第一个字节数据0xd3修改为0xd4
mm.b 82000000
返回:
82000000: d3 ? d4
82000001: 2c ? 

指令: cp复制内存命令
cp[.b,.w,.l] source target [count]
表示以[.b,.w,.l]为单位从源地址source的内存复制count个数据到 目的地址 target的内存中去;



下载的指令
指令: tftp通过网口下载文件到设备
tftp  address  filename 把文件filename下载到地址address
例:
下载
tftp 0x82000000 u-boot-hi3520d.bin 把TFTP目录下名为u-boot-hi3520d.bin的文件拷贝到SDRAM的 82000000 地址

上传
tftp 0x82000000 flash 2000000 把SDRAM的 82000000 地址开始的 0x2000000(32M)字节的拷贝到把TFTP目录下命名为flash(flash名字是否可变)



Flash操作的指令(不同的Flash不同)
指令: eraseFlash擦除命令 
erase  start  end 擦除的范围为 start – end
erase  start+len 擦除的范围为 start – (start+len-1)
erase  all 擦除所有
例:
对于SPI NOR FLASH
sf erase 0 100000 擦除flash 0 - 0x100000 的数据

指令: writeFlash烧写命令
write addr off size将SDRAM的 addr 地址处的 size 字节的数据烧写到 flash 的 off 偏移地址
例:
对于SPI NOR FLASH
sf write 82000000 0 100000 把SDRAM地址 0x82000000 处 0x100000(1M字节)的数据烧写到 flash 的 0 偏移地址

指令: readFlash读取命令
read addr off size从 Flash 的 off 偏移地址处读取 size 字节的数据到SDRAM的 addr地址
例:
对于SPI NOR FLASH
sf read 82000000 0 2000000 从 flash 的 0 偏移地址出读取 0x2000000(32M)字节的数据到 SDRAM的 82000000 地址

 

来源:https://blog.csdn.net/dagefeijiqumeiguo/article/details/51314856