uboot下的命令使用示例

1.usb 可以使用此命令读取u盘里的内容,此命令加上相关参数可以有以下功能:

1.1usb start 在使用u盘之前必须启动此命令以初始化好fat文件系统环境,笔者的输出如下:

jello # usb start
(Re)start USB...
USB:   Starting the controller
scanning bus for devices... 5 USB Device(s) found
       scanning bus for storage devices... usb_stor_get_info->1431,blksz:512
Device NOT ready
   Request Sense returned 02 3A 00
2 Storage Device(s) found

1.2 usb dev 查看检测到的usb设备,笔者的输出如下:

jello # usb dev

USB device 0: Vendor: Lexar    Rev: 1100 Prod: USB Flash Drive
            Type: Removable Hard Disk
            Capacity: 3824.0 MB = 3.7 GB (7831552 x 512)

1.3 usb info可列出usb host的属性,笔者的输出如下:

jello # usb dev

USB device 0: Vendor: Lexar    Rev: 1100 Prod: USB Flash Drive
            Type: Removable Hard Disk
            Capacity: 3824.0 MB = 3.7 GB (7831552 x 512)
jello # usb info
1: Hub,  USB Revision 1.10
 -  OHCI Root Hub
 - Class: Hub
 - PacketSize: 8  Configurations: 1
 - Vendor: 0x0000  Product 0x0000 Version 0.0
   Configuration: 1
   - Interfaces: 1 Self Powered 0mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 1
     - Class Hub
     - Endpoint 1 In Interrupt MaxPacket 2 Interval 255ms

2: Hub,  USB Revision 2.0
 -  USB2.0 Hub
 - Class: Hub
 - PacketSize: 64  Configurations: 1
 - Vendor: 0x05e3  Product 0x0608 Version 133.54
   Configuration: 1
   - Interfaces: 1 Self Powered Remote Wakeup 100mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 1
     - Class Hub
     - Endpoint 1 In Interrupt MaxPacket 1 Interval 255ms

3: Hub,  USB Revision 2.0
 -  USB2.0 Hub
 - Class: Hub
 - PacketSize: 64  Configurations: 1
 - Vendor: 0x05e3  Product 0x0608 Version 133.54
   Configuration: 1
   - Interfaces: 1 Self Powered Remote Wakeup 100mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 1
     - Class Hub
     - Endpoint 1 In Interrupt MaxPacket 1 Interval 255ms

4: Mass Storage,  USB Revision 2.0
 - Lexar USB Flash Drive AA066NWLMLMLBQPX
 - Class: (from Interface) Mass Storage
 - PacketSize: 64  Configurations: 1
 - Vendor: 0x05dc  Product 0xa813 Version 17.0
   Configuration: 1
   - Interfaces: 1 Bus Powered 200mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 2
     - Class Mass Storage, Transp. SCSI, Bulk only
     - Endpoint 1 In Bulk MaxPacket 64
     - Endpoint 2 Out Bulk MaxPacket 64

5: Mass Storage,  USB Revision 2.0
 - Generic Ultra Fast Media  000000225001
 - Class: (from Interface) Mass Storage
 - PacketSize: 64  Configurations: 1
 - Vendor: 0x0424  Product 0x2240 Version 1.152
   Configuration: 1
   - Interfaces: 1 Bus Powered 96mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 2
     - Class Mass Storage, Transp. SCSI, Bulk only
     - Endpoint 2 Out Bulk MaxPacket 64
     - Endpoint 2 In Bulk MaxPacket 64

1.4 usb storage 可列出u盘设备信息:

jello # usb storage
  Device 0: Vendor: Lexar    Rev: 1100 Prod: USB Flash Drive
            Type: Removable Hard Disk
            Capacity: 3824.0 MB = 3.7 GB (7831552 x 512)
  Device 1: Vendor: Generic  Rev: 1.98 Prod: Ultra HS-COMBO
            Type: Removable Hard Disk
            Capacity: not available

1.5 usb tree 列出设备树:

jello # usb tree

Device Tree:
  1  Hub (12 Mb/s, 0mA)
  |   OHCI Root Hub
  |
  +-2  Hub (12 Mb/s, 100mA)
    |   USB2.0 Hub
    |
    +-3  Hub (12 Mb/s, 100mA)
    | |   USB2.0 Hub
    | |
    | +-4  Mass Storage (12 Mb/s, 200mA)
    |      Lexar USB Flash Drive AA066NWLMLMLFEPX
    |    
    +-5  Mass Storage (12 Mb/s, 96mA)
         Generic Ultra Fast Media  000000135404

1.6 usb part 列出u盘的分区表

jello # usb part

Partition Map for USB device 0  --   Partition Type: DOS

Partition     Start Sector     Num Sectors     Type
    1              2048       7829504    83

## Unknown partition table

2. fatls 列出fat文件系统中的内容,i其用法如下:

usage: fatls <interface> <dev[:part]> [directory]  interface是指定哪种类型的设备,此处笔者用的usb设备,因此填入usb,dev就是设备号,笔者从以上命令得知为0

jello # fatls usb 0
   187495   check.png
            system volume information/
  4051616   uimage
            hello/
            .trash-1000/

  2 file(s), 3 dir(s)
3. fatload 从u盘加载文件到指定内存地址处,用法如下:

usage: fatload <interface> <dev[:part]> <addr> <filename> [bytes]  interface和dev不再叙述,addr 指定要加载文件到内存的某个地址,filename指定要加载的文件名

jello # fatload usb 0 0x42000000 uimage
reading uimage
..............................................................................

...............................................................................

................................................................................

...................................................................................

...........................................................................

4221634 bytes read

4.sf 支持spi/qspi flash的操作,必须先擦除再写

4.1 sf probe 在操作spi flash之前必须进行此操作:

jello # sf probe 0
32768 KiB spi_flash at 0:0 is now current device
4.2 sf erase 擦除操作:

jello # sf erase 0x100000 0x400000  (0x100000是要擦除的起始地址,0x400000为指定要擦除的大小)
Erasing at 0x500000 -- 100% complete.

4.3 sf write 写操作:

jello # sf write 0x42000000 0x100000 0x400000
Writing at 0x500000 -- 100% complete.

时间: 2024-10-06 09:48:52

uboot下的命令使用示例的相关文章

uboot下netconsole的原理及使用方法

最近发现uboot下一个很有意思也很实用的功能:netconsole,uboot下的netconsole类似于kernel下的telnet等网络终端功能,将网络作为输入输出的终端,这样就便于我们在PC端通过网络登录设备uboot中运行命令(更准确的说是通过网络向uboot发送命令和接收uboot的反馈信息,netconsole没有登录检查). kernel下也有netconsole机制,不过由于内核下的console只有write功能(因为内核启动是没有交互的,只有输出信息),因此kernel下

用gdb分析core文件及常见gdb命令操作示例

1.概述 在实际的软件开发项目中,程序出现问题是在所难免的.遥想本人参加工作之后首次遇到程序的情景,至今还历历在目.之前的经验告诉我,我们越是惊慌失措,问题就越是解决不了.我们要先让自己平静下来,然后再寻找解决程序问题的办法. 在Linux下做开发的朋友,想必都与core文件打过交道.当看到自己的程序运行之后出现core时,很多人都慌乱了,仿佛天快要塌下来一样.其实,我们大可不必如此,只要我们掌握了用gdb调试core文件的办法,依然可以很快定位程序问题,一举将bug消灭掉.有关Linux co

linux下alias命令详解

linux下alias命令详解 用途说明 设置命令的别名.在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名.虽然可以为命令建立"链接" 解决长文件名的问题,但对于带命令行参数的命令,链接就无能为力了.而指定别名则可以解决此类所有问题[1].常用别名来简化 ssh登录[见示例三],使长命令变短,使常用的长命令行变短,强制执行命令时询问等. 功能说明 :设置指令的别名. 语 法:alias[别名]=[指令名称] 参 数 : 若不加任何参数,则列出目前所有的别名

Caffe在Linux服务器下的安装及示例程序mnist测试

Caffe安装 首先需要从网站https://github.com/BVLC/caffe下载压缩包上传到Linux服务器,解压文件.然后执行make all,不报错则表示caffe已经编译好,export设置环境变量如下: export PYTHONPATH=~/caffe/python #caffe的路径下面的python mnist示例测试 首先进入caffe-master/data/mnist目录下,运行命令: $sh get_mnist.sh 然后在caffe目录下运行examples/

Linux 下 Shell 命令的分类及用法

导读 当你打算真正操纵好你的 Linux 系统,没有什么能比命令行界面更让你做到这一点.为了成为一个 Linux 高手,你必须能够理解 Shell命令的不同类型,并且会在终端下正确的使用它们. 在 Linux 下,命令有几种类型,对于一个 Linux 新手来说,知道不同命令的意思才能够高效和准确的使用它们.因此,在这篇文章里,我们将会遍及各种不同分类的 Linux Shell 命令.需要注意一件非常重要的事:命令行界面和 Shell 是不同的,命令行界面只是为你提供一个访问 Shell 的方式.

uboot启动 及命令分析(3)

u-boot命令 先贴一个重要结构,位于uboot/include/command.h,这个结构代表每个uboot命令 struct cmd_tbl_s { char     *name;   /* Command Name       */ int      maxargs;    /* maximum number of arguments*/ int      repeatable;/* autorepeat allowed?   */ /* Implementation function

Windows下DOS命令大全(经典收藏)

copy \\ip\admin$\svv.exe c:\ 或:copy\\ip\admin$\*.* 复制对方admini$共享下的srv.exe文件(所有文件)至本地C: xcopy 要复制的文件或目录树 目标地址\目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件 tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exe c:\server.exe 登陆后,将"IP"的server.exe下载到目标主机c:\server.exe 参数:-i指以二进

Linux下Setuid命令! 转载

Linux下Setuid命令! 转载 在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置. 问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/shadow中,也就是说用户更改自己密码时是修改了/etc/shadow文件中的加密密码,但是, -rw-r--r-- 1 root root 1787 Oct 27  2009 /etc/passwd -r-------- 1 root root 1187 Oct 27  2009 /etc/shadow

uboot之添加命令

1.添加命令 若要向Uboot中添加自己的命令,而自己又不想知道命令实现的原理,可以按照以下做法: 1.在uboot/common目录下,随便找一个cmd_xxx.c文件,将cmd_xxx.c文件拷贝一下,并重新命名为cmd_hello.c cp cmd_xxx.c cmd_hello.c 2.进入到cmd_hello.c中,修改 a:修改宏U_BOOT_CMD U_BOOT_CMD宏参数有6个: 第一个参数:添加的命令的名字 第二个参数:添加的命令最多有几个参数(注意,假如你设置的参数个数是3