uboot常用的命令

合集下载

uboot fdt指令

uboot fdt指令

uboot fdt指令
设备树是一种描述硬件设备及其连接关系的数据结构,它以一种可移植的方式描述硬件平台的配置信息。

通过使用设备树,我们可以在不修改内核的情况下,适配不同的硬件平台。

在U-Boot中,fdt命令提供了一系列子命令,用于对设备树进行操作。

以下是一些常用的fdt命令:
- fdt addr <address>:用于设置设备树的内存地址。

我们需要将设备树二进制文件加载到内存中,并通过该命令告知U-Boot设备树的地址,以便后续操作使用。

- fdt get <node> <property>:用于获取设备树中指定节点的属性值。

节点可以是设备树中的一个设备节点,属性可以是该设备节点的属性名称。

- fdt set <node> <property> <value>:用于设置设备树中指定节点的属性值。

节点可以是设备树中的一个设备节点,属性可以是该设备节点的属性名称,值可以是属性的新值。

通过使用这些fdt命令,我们可以方便地操作设备树,实现对硬件设备的初始化和配置,以及加载操作系统等。

在使用fdt命令时,需要注意正确的语法和参数,以确保操作的正确性和可靠性。

如需了解更多关于U-Boot和设备树的信息,请参考相关文档或技术资料。

uboot命令

uboot命令

uboot命令U-boot基础现在为Linux开放源代码Bootloader有很多,blob、redboot 及U-BOOT等,其中U-BOOT是目前用来开发嵌入式系统引导代码使用最为广泛的Bootloader。

它支持POWERPC、ARM、MIPS和 X86等处理器,支持嵌入式操作系统有Linux、Vxworks及NetBSD等。

2.1 U-boot源代码目录结构|-- board 平台依赖,存放电路板相关的目录文件|-- common 通用多功能函数的实现|-- cpu 平台依赖,存放cpu相关的目录文件|-- disk 通用。

硬盘接口程序|-- doc 文档|-- drivers 通用的设备驱动程序,如以太网接口驱动|-- dtt|-- examples 应用例子|-- fs 通用存放文件系统的程序|-- include 头文件和开发板配置文件,所有开发板配置文件放在其configs 里|-- lib_arm 平台依赖,存放arm架构通用文件|-- lib_generic 通用的库函数|-- lib_i386 平台依赖,存放x86架构通用文件|-- lib_m68k 平台依赖|-- lib_microblaze 平台依赖|-- lib_mips 平台依赖|-- lib_nios 平台依赖|-- lib_ppc平台依赖,存放ppc架构通用文件|-- net 存放网络的程序|-- post 存放上电自检程序|-- rtc rtc的驱动程序`-- tools 工具详细实例:board:开发板相关的源码,不同的板子对应一个子目录,内部放着主板相关代码。

Board/at91rm9200dk/at91rm9200.c, config.mk, Makefile, flash.c ,u-boot.lds等都和具体开发板的硬件和地址分配有关。

common:与体系结构无关的代码文件,实现了u-boot所有命令,其中内置了一个shell脚本解释器(hush.c, a prototype Bourne shell grammar parser), busybox中也使用了它。

UBoot操作和常用命令

UBoot操作和常用命令

UBoot常用命令
• usb start: 起动usb 功能 • usb info: 列出设备 • usb scan: 扫描usb storage(u 盘)设备 • f的at文ls:件列出DOS FAT文件系统, 如:fatls usb 0列出第一块U盘中 • fatload: 读入FAT中的一个文件,如:fatload usb 0 0x30000000
• 通常,Boot Loader 是严重地依赖于硬件而实现的, 特别是在嵌入式世界。因此,在嵌入式世界里建 立一个通用的Boot Loader 几乎是不可能的。尽管 如此,我们仍然可以对Boot Loader 归纳出一些通 用的概念来,以指导用户特定的Boot Loader 设计 与实现。
UBoot来源
• nand write [内存地址] [NAND地址] [大小]
– 将SDRAM中地址0x31000000中大小为0x00200000的内容写入NAND Flash的0x100000地址。
– nand write 0x31000000 0x00100000 0x00200000 – NAND write: device 0 offset 1048576, size 2097152 ... 2097152 bytes
Creating 5 MTD partitions on "NAND 256MiB 3,3V 8-bit": 0x000000000000-0x000000040000 : "supervivi" ftl_cs: FTL header not found. 0x000000040000-0x000000060000 : "param" uncorrectable error : 0x000000060000-0x000000560000 : "Kernel" ftl_cs: FTL header not found. 0x000000560000-0x000040560000 : "root" mtd: partition "root" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0xfaa0000 ftl_cs: FTL header not found. 0x000000000000-0x000040000000 : "nand" mtd: partition "nand" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0x10000000

uboot常用的命令

uboot常用的命令

Uboot常用的命令一、概述Uboot是一款开源的引导加载程序,广泛应用于嵌入式系统。

它负责在开机时初始化硬件、加载操作系统以及其他系统组件,并提供一系列命令供用户进行系统配置和维护。

本文将介绍Uboot常用的命令,帮助读者更好地了解和使用Uboot。

二、Uboot常用命令下面是Uboot常用的命令:1. help命令格式:help [command]该命令用于显示Uboot支持的命令列表。

如果指定了具体的命令名称,则会显示该命令的详细帮助信息。

2. printenv命令格式:printenv [variable]该命令用于打印当前环境变量的值。

如果指定了具体的变量名称,则只会打印该变量的值。

3. setenv命令格式:setenv variable value该命令用于设置环境变量的值。

variable是要设置的变量名称,value是要设置的值。

4. saveenv命令格式:saveenv该命令用于保存当前环境变量到非易失性存储器中,以便下次开机时可以加载。

5. boot命令格式:boot该命令用于启动系统。

在执行该命令之前,需要设置好bootargs和bootcmd等环境变量,以确保系统能够正确启动。

6. md命令格式:md address [#of objects]该命令用于从指定的内存地址读取数据并显示。

address是内存地址,#of objects是要读取的对象数目,默认为1。

7. mw命令格式:mw address value [# of objects]该命令用于向指定的内存地址写入数据。

address是内存地址,value是要写入的值,#of objects是要写入的对象数目,默认为1。

8. ping命令格式:ping [ipaddr]该命令用于向指定的IP地址发送ICMP Echo请求,以测试网络连接的可用性。

如果未指定IP地址,则会使用默认的目标地址。

9. tftpboot命令格式:tftpboot [loadAddress] [filename]该命令用于通过TFTP协议从指定的服务器下载文件并加载到指定的内存地址。

U-BOOT介绍以及常用U-bot命令介绍

U-BOOT介绍以及常用U-bot命令介绍

U-BOOT介绍以及常用U-bot命令介绍一. BootLoader简介在专用的嵌入式板子运行GNU/Linux系统已经变得越来越流行。

一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:1、引导加载程序。

包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。

2、 Linux内核。

特定于嵌入式板子的定制内核以及内核的启动参数。

3、文件系统。

包括根文件系统和建立于Flash内存设备之上文件系统。

通常用ramdisk来作为rootfs。

4、用户应用程序。

特定于用户的应用程序。

有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。

常用的嵌入式GUI有:MicroWindows和MiniGUI懂。

引导加载程序是系统加电后运行的第一段软件代码。

PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的OS BootLoader(比如,LILO和GRUB等)一起组成。

BIOS在完成硬件检测和资源分配后,将硬盘MBR中的BootLoader读到系统的RAM中,然后将控制权交给OS BootLoader。

BootLoader的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。

而在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。

比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。

简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

uboot下的指令

uboot下的指令

uboot下的指令⼀、i2c 指令i2c --help: i2c指令帮助i2c bus:获取i2c总线信息i2c dev:查看当前i2c设备i2c dev 0:将i2c0作为当前设备i2c md 0x6A 0x06.1 0x01:0x6A-->设备地址,0x06.1-->寄存器地址为0x06,寄存器宽度为1个字节,0x01-->读取⼀个字节i2c mw 0x6A 0x06.1 0x02:将0x02写⼊0x6A设备的0x06寄存器中⼆、gpio 操作gpio --help:获取gpio帮助gpio status -a:查看所有gpio信息 可以看到xilinx上有两组gpio,⼀个是ps端的gpio,地址是0xff0a0000,另外⼀组是pl端的axi gpio ,地址是0xa0070000gpio set gpio@a00700000:将axi gpio的第⼀位置⾼电平gpio clean gpio@a00700000:将axi gpio的第⼀位置低电平gpio input gpio@a00700000:将axi gpio的第⼀位置设置为输⼊三、mii命令mii命令是操作mii接⼝的命令,mii接⼝⽤来连接soc中的MAC控制器和外部的PHY芯⽚。

mii命令主要是通过mii接⼝中的MDIO来读写phy芯⽚的寄存器针对DP83867芯⽚mii info //查看mii信息mii write 0x0c 0x00 0x2100 //设置phy芯⽚为百兆,0x0c为phy芯⽚地址,0x00为phy芯⽚寄存器地址,0x2100为向0x00寄存器写⼊的值mii read 0x0c 0x00 //读取phy芯⽚0x00寄存器的值寄存器地址>0x1F的配置⽅法,因为MDIO最多能范围的寄存器范围为0~0x1F,如果寄存器地址>0x1F那么需要通过0x0d和0x0e这两个寄存器间接访问读0x31寄存器mii write 0x0c 0x0d 0x1fmii write 0x0c 0x0e 0x31mii write 0x0c 0x0d 0x401fmii read 0x0c 0x0e写0x31寄存器mii write 0x0c 0x0d 0x1fmii write 0x0c 0x0e 0x31mii write 0x0c 0x0d 0x401fmii write 0x0c 0x0e 0x1031 //向0x31寄存器写⼊0x1031四、MMC命令mmc是uboot下查看磁盘的命令mmc list:查看所有磁盘可以看到有两个磁盘,0是emmc,1是sd卡mmc dev 0:进⼊磁盘0mmc info:查看磁盘0的信息这⾥显⽰了emmc的⼀些信息五、FAT⽂件系统操作命令 5.1 fatls 查看⽂件命令 fatls命令如下所⽰: fatls mmc 0:1:查看emmc第⼀分区的内容,0表⽰哪个mmc设备,这⾥是emmc,1表⽰第⼀分区 可以看到emmc的第⼀分区中有三个⽂件 5.2 fatrm 删除⽂件命令 fatrm mmc 0:1 image.ub:删除emmc第⼀分区中的image.ub 5.3 fatwite 写⽂件 fatwrite mmc 0:1 0x10000000 image.ub 0x7d1160,从内存拷贝Image.ub到emmc第⼀分区中,0x10000000 表⽰内存拷贝的起始地址,image.ub是⽂件名,0x7d1160是拷贝的长度。

uboot的常用命令及用法

uboot的常用命令及用法

uboot的常⽤命令及⽤法uboot是bootloader的⼀种,主要是⽤于引导内核启动.uboot除此功能外, 还带有很多其它功能. 功能是通过命令来调⽤.uboot的命令:help //列出当前uboot所有⽀持的命令help 命令 //查看指定命令的帮助reset //重启ubootbootm //⽤于启动内核⽤法: bootm 0x42000000 //从内存地址0x42000000启动内核, 启动前需把内核镜像uImage存放到指定的内存地址printenv //打印所有环境变量的值printenv 环境变量名 //查看指定的环境变量值常⽤环境变量:bootdelay // uboot启动后, 倒计时多少秒后⾃动执⾏环境变量bootcmd的语句bootcmd // 倒计时到0后,⾃动执⾏⾥⾯的语句bootargs // 是⽤于提供给内核的启动参数语句setenv //设置/修改/删除环境变量的值⽤法:setenv 环境变量名 //删除指定的环境变量setenv myargs "hello" //设置环境变量myargs=hello, 如果环境变量没有会创建出来,如果已存则会修改它的值saveenv //保存环境变量,环境变量修改过后必须执⾏此命令才可以保存起来,否则重启后环境变量就恢复了.loady //⽤于从uart线下载⽂件到板上内存⾥(loadb, loads, loadx基本⼀样) ⽤法:loady 0x40008000 //把下载的⽂件从内存地址0x40008000开始存放执⾏"loady 0x40008000"后, uboot就会进⼊等待状态,等着接收数据minicom具有通过uart传输⽂件的功能.按"ctrl+a", 松⼿后再按"s", 选择"ymodem", 在弹出的界⾯⾥按空格键选中要传的⽂件.md 内存地址 //⽤于查看内存地址上的值⽤法:md.b 0x40008000 100 //从内存地址0x40008000开始,查看0x100个字节并输出值md.w 0x40008000 100 //从内存地址0x40008000开始,查看0x100个16位值并输出值md.l 0x40008000 100 //从内存地址0x40008000开始,查看0x100个32位值并输出值mw //⽤于修改内存地址上的值⽤法:mw.b 0x40008000 0xab 100 //从内存地址0x40008000开始的0x100字节空间,设值为0xabmw.w 0x40008000 0xabcd 100 //从内存地址0x40008000开始的0x200字节空间,每16位值设为0xabcdmw.l 0x40008000 0xabcdef88 100 //从内存地址0x40008000开始的0x400字节空间,每32位值设为0xabcdef88 go //执⾏指定内存地址上的指令⽤法:go 0x40008000mmc // sd/mmc接⼝设备(sd卡, emmc)操作命令, 按扇区操作(每扇区512字节)⽤法:mmc read addr blk cnt //从mmc设备上的第blk个扇区开始,共读出cnt个扇区到内存地址addr上mmc write addr blk cnt //把内存地址addr上的数据写⼊mmc设备的第blk个扇区,共cnt个扇区⼤⼩mmc dev //⽤于当看当前的mmc设备是第⼏个mmc erase blk cnt //把mmc设备的第blk个扇区开始清零,共清除cnt个扇区⼤⼩ mmc part //列出当前mmc设备的分区信息mmc list //列出所有的mmc设备信息ext4ls //查看存储设备的ext2/3/4分区⾥的内容⽤法:ext4ls mmc 0:2 //查看第0个存储设备的第⼆个分区ext4load //从ext2/3/4分区⾥读出⽂件到指定的内存地址⽤法:ext4load mmc 0:2 0x40008000 /uImage //从第0个存储设备的第2个分区的根⽬录读出uImage⽂件到内存地址0x40008000 fatls //查看存储设备的fat分区⾥的内容⽤法:fatls mmc 0:1 //查看第0个存储设备的第1个分区(fat分区)fatload //从fat分区⾥读出⽂件到指定的内存地址⽤法:fatload mmc 0:1 0x40008000 /uImage //从第0个存储设备的第1个分区的根⽬录读出uImage⽂件到内存地址0x40008000fatwrite //把内存上的数据存储到fat分区的⼀个⽂件⾥⽤法:fatwrite mmc 0:1 0x40008000 /my.txt 0x35 //把内存地址0x40008000开始的0x35个字节数据写⼊到第0个设备的第1个分区⾥,⽂件名为my.txtrun //执⾏指定的环境变量⾥的语句⽤法:run bootcmd //执⾏环境变量bootcmd⾥的语句//如uboot上已驱动好⽹络设备并环境变设好IP及PC端IP,还可以使⽤以下命令:tftpboot 0x40008000 ⽂件名 // 通过⽹络下载⽂件到内存地址0x40008000, PC端需配置好tftp服务器nfs 0x40008000 pc端IP:/带路径的⽂件名 //pc端需配置好nfs服务器ping ip //检测⽹络是否通指令: bootmbootm ⽤于将内核镜像加载到内存的指定地址处例: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个参数是环境变量的名称。

uboot常用命令

uboot常用命令
uboot 常用命令
U-Boot(Universal Bootloader)是一款常用的开源引导加载程序,用于嵌入式系统的启动 和管理。以下是一些常用的 U-Boot 命令示例:
1. printenv :打印环境变量列表。
2. setenv <variable> <value> :设置环境变量的值。
8. mw <addr> <value> [<length>] :将指定的十六进制数值写入到指定的内存地址。
9. mmc list :显示支持的 MMC 存储设备列表。
10. tftpboot <addr> <filename> :通过 TFTP 协议从网络下载一个文件到指定的内存 地址。
11. fatls <interface> <partition> :列出指定接口(如 mmc、usb 等)上指定分区 中的文件列表。
3. saveenv :保存环境源自量到存储设备中,以便下次启动时使用。
4. boot :启动操作系统,根据环境变量中的配置来加载内核镜像和根文件系统。
5. bootm :直接从指定的内存地址启动指定的内核镜像。
6. help :显示帮助信息,列出可用的 U-Boot 命令和它们的功能说明。
7. md <addr> <length> :在指定的内存地址处以十六进制格式显示指定长度的数据。
12. run <script> :运行一个预定义的 U-Boot 脚本。
13. reset :重启设备。
这些命令只是 U-Boot 中的一部分,U-Boot 还提供了很多其他的命令和功能来管理和配 置系统。请注意,具体可用的命令和支持的功能取决于 U-Boot 版本以及不同的硬件平台 和配置。在实际使用时,您可能需要参考特定版本的 U-Boot 的文档或提供的帮助信息来 获取更详细和准确的命令列表和说明。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

uboot常用的命令
U-Boot是一款开源的引导加载程序,它是嵌入式系统中常用的引导加载程序之一。

U-Boot提供了一系列的命令,可以用来进行系统的启动、调试、烧写等操作。

下面是U-Boot常用的命令:
1. help:显示所有可用的命令列表。

2. printenv:显示环境变量的值。

3. setenv:设置环境变量的值。

4. saveenv:保存环境变量的值。

5. bootm:启动内核。

6. tftpboot:从TFTP服务器下载文件。

7. ping:测试网络连接。

8. md:以16进制格式显示内存内容。

9. mw:以16进制格式写入内存内容。

10. cp:复制内存内容。

11. fatload:从FAT文件系统中加载文件。

12. fatls:列出FAT文件系统中的文件。

13. mmc:MMC卡操作命令。

14. usb:USB操作命令。

15. dhcp:获取IP地址。

16. run:执行脚本。

17. reset:重启系统。

以上是U-Boot常用的命令,这些命令可以满足大部分的需求。

在实
际使用中,我们可以根据具体的需求来选择合适的命令。

如果需要更
多的命令,可以通过添加自定义命令的方式来扩展U-Boot的功能。

总之,U-Boot是一款非常强大的引导加载程序,它提供了丰富的命令,
可以用来进行系统的启动、调试、烧写等操作。

熟练掌握U-Boot的命令,可以提高嵌入式系统的开发效率。

相关文档
最新文档