uboot下载以及使用命令

uboot 遵循gpl条款的开放源码项目,作用是系统引导,使用uboot作为bootloader。
uboot作用:
1)uboot主要作用是用来启动操作系统内核。体现在uboot最后一句代码就是启动内核。
2)uboot还要负责部署整个计算机系统。体现在uboot最后的传参。
3)uboot中还有操作Flash等板子上硬件的驱动。例如串口要打印,ping网络成功,擦除、烧写flash是否成功等。
4)uboot还得提供一个命令行界面供人来操作。

下载命令

esc
//擦除    #nand erase.chip
#run lboot
#run lrs
#run lw
#reset
进入uboot 命令行  #help
#help base查看base的用法,即打印或者设置地址偏移量
#bootm 用于将内核镜像加载到内存的指定地址处
  #bootp 使用 #bootelf  从ELF镜像启动
  #bootipq启动镜像
  #bootvx 从ELF映像启动vxWorks
  #bootz从内存启动zImage映像
  #canary测试加密堆栈
  #chpart更改活动分区
  #cmp 内存对比
  #coninfo 打印控制台设备和信息
  #cp 复制内存
  #crc32 校验和计算
  #dhcp DHCP/TFTP网络协议启动镜像
  #dm 驱动模块低电平接入
  #echo 控制台
  #editenv编辑环境变量
  #env环境变量
  #erase擦除flash内存
  #exectzt 执行tzt
  #exit 暂停脚本
  #false 
  #fatinfo 打印文件系统的信息
  #fatload 从dos文件系统加载二进制文件
  #fatls 目录中的列表文件
  #fatsize 文件大小
  #fatwrite将文件写入dos文件系统
  #fdt设备树实用程序命令
  #flash 
  #flinfo flash内存信息
  #fuseipq 从内存注册QFPROM
  #go 启动地址为“addr”的应用程序
  #i2c
  #imxtract multi映像的一部分
  #ipq5018_mdio-   IPQ 5018 mdio Utility命令
  #is_sec_boot_enabled- 检查安全启动是否使能
  #itest整数比较返回true/false
  #loop无限循环的地址范围
  #md 内存显示
  #mii MII实用程序命令
  #mm修改内存
  #mmc MMC子系统
  #mmcinfo 显示MMC信息
  #mtdparts 定义Flash/nand分区
  #mtest 简单的RAM读/写测试
  #mw 内存写入
  #nand  nand子系统
  #nboot 从nand设备启动
  #nfs 使用NFS网络协议启动映像
  #nm 内存修改
  #part部分磁盘分区相关命令
  #pci 列表并访问PCI配置空间
  #ping
  #printenv 打印环境变量
  #protect 启用或禁用FLASH写保护
  #reset
  #run 运行环境变量的命令
  #runmulticore- 启用并调度辅核
#saveenv -  保存环境变量
#secure_authenticate-  认证签署的镜像
#setenv 设置环境变量
#setexpr 设置环境变量表达的结果
#sf spi flash子系统
#showvar 打印本地hushshell变量
#sleep延迟执行一段时间
#smeminfo smem info信息打印
#source 从内存运行脚本
#test 最小化测试,如/bin/sh
#tftpboot使用TFTP协议通过网络启动映像
#tftpput   tftp put命令,用于上传文件到服务器
#true
#tzt 加载并运行tzt
#uart  UART子系统
#ubi ubi命令
#ubifsload 从UBIFS文件系统加载文件
#ubifsls 列出目录中的文件
#ubifsmount- 加载UBIFS卷
#ubifsumount- 卸载UBIFS卷
#usb     
#usbboot 从USB设备启动
#zip  
         #bdinfo 查看开发板信息
    DRAM的起始地址和大小 eth0name 网卡信息 baudrate 波特率
 irq_sp sp start sp堆栈指针

环境变量

 #env   环境变量

#setenv xxx //自定义变量
#setenv xxx "setenv ipaddr 192.168.129.2; setenv serverip 192.168.0.22"  //自定义变量编辑内容
#saveenv //保存变量
#editenv xxx //编辑变量
#run xxx //运行变量
#fdt
把device tree blob文件下载到内存
     #tftpboot 地址 bshen/xxx.dtb
设置fdt的地址
     #fdt addr 地址
#fdt header
#fdt print
#nand
 
#nand info 查看nand flash信息
#nand device 设置当前设备
#nand erase.spread 0x0 0x780000 擦除从 0x0 地址开始, 0x780000 长度的数据。
#nand erase.chip 擦除整个 Nand 的命令
  #nand erase.part 擦除整个mtd部分
  #nand bad 展示坏块
  #nand dump[.oob] off    显示Nand Flash中的数据(16 进制)
  #nand scrub 彻底擦除nand flash中的数据,包括oob
  #nand marked off 标示nand的off偏移地址处的块为坏块
擦除下载的版本
#nand erase.chip 擦除版本    #reset 置位  
#sf
 
#sf read用来读取flash数据到内存
#sf write写内存数据到flash
#sf erase 擦除指定位置,指定长度的flash内容, 擦除后内容全1
在使用sf read sf write之前,一定要调用sf probe
#sf write 0x82000000 0x0 0x20000   把内存0x8200 0000处的数据, 写入flash的偏移0x0, 写入数据长度为0x20000(128KB), 操作偏移和长度最小单位是Byte
#sf erase 0x0 0x10000   擦除偏移0x0处, 到0x10000之间的擦除块, 擦除操作是以erase block为单位的, 要求offset和len参数必须是erase block对齐的
#sf bulkerase 擦除整个flash芯片
#ubi

 ubi part xxx offset 创建ubi分区
#ubifsmount  ubi0:xxx  挂载ubifs文件系统
#ubifsload xxx /boot/uImage    加载文件到内存
上一篇:GSL的特殊函数


下一篇:WiFi曝出安全漏洞几近“裸奔”:运营商能借机收割一波红利吗?