在XC2440的uboot_V1.3版本中已经支持USB HOST驱动和FAT文件系统,同时支持USB Storage,即U盘

关于使用U盘自动更新系统镜像,请看我的这篇博文:http://blog.chinaunix.net/space.php?uid=22030783&do=blog&id=3347599

在XC2440.h配置文件中加入这几个配置即可:

  1. #define CONFIG_USB_OHCI
  2. #define CONFIG_USB_STORAGE
  3. #define CONFIG_CMD_USB
  4. #define CONFIG_CMD_FAT
  5. #define CONFIG_DOS_PARTITION
  6. #define CONFIG_SUPPORT_VFAT

下面开始介绍USB和FAT相关命令的用法,通过大量的实际操作截图说明

和USB操作相关的文件是common/cmd_usb.c,这里定义了usb命令

在uboot中执行help usb查看支持的命令

先把U盘插在板上的USB HOST口,使用U盘之前要先执行usb start命令,或使用usb reset也是一样的动作

接着使用usb dev可以查看检测到的USB设备,如下图,检测到USB Storage,设备号是0(我用的是TF卡读卡器)

使用usb info可列出板上USB HOST接口的属性

使用usb storage可列出U盘设备信息,使用usb tree列出Device Tree

使用usb part列出U盘设备的分区信息

使用完U盘后,要使用usb stop停止设备

操作U盘中的文件需要借助FAT文件系统,实现文件是common/cmd_fat.c,不管是U盘或MMC,或其他存储设备,都可以用FAT文件系统统一操作。

执行help中可以看到有3个fat命令,fatls fatinfo fatload

fatls: list files in a directory(default /)

用法: [directory]

interface就是指哪种类型的设备,我们用的是usb,dev就是设备号,我们的设备号是0,默认的directory是根目录

执行:fatls usb 0

列出U盘上的文件系统目录结构

fatinfo: print information about filesystem

用法:

执行:fatinfo usb 0

fatload:load binary file from a dos filesystem

用法:   [bytes]

从U盘中读取文件到指定内存地址,比如我U盘上有一个名为uboot.bin的文件,读到0x30000000的地址处

执行:fatload usb 0 0x30000000 uboot.bin

读完后就可以用nand write命令将30000000处理的数据写到bios分区中,这就实现了用U盘烧写系统功能

u-boot中的usb命令相关推荐

  1. USB CCID类协议中的APDU命令详解

    出处:http://blog.chinaunix.net/uid-29124653-id-4573075.html 原文地址:USB CCID类协议中的APDU命令详解 作者:jeffasdasd 最 ...

  2. pwd命令是什么的缩写_Linux中常用的命令都是哪些单词的缩写?

    1.ls命令 ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹.root@tecmint:~# ls Androi ...

  3. 如何在Linux环境中使用USB存储器(转)

    如何在Linux环境中使用USB存储器(转) 如何在Linux环境中使用USB接口的存储设备?这是各大电脑论坛上出现得比较多的一个问题,同此可见这也是摆在许多电脑玩家面前的一道难题.本文就为您提供一套 ...

  4. 徒手解密 Spring Boot 中的 Starter自动化配置黑魔法

    我们使用 Spring Boot,基本上都是沉醉在它 Stater 的方便之中.Starter 为我们带来了众多的自动化配置,有了这些自动化配置,我们可以不费吹灰之力就能搭建一个生产级开发环境,有的小 ...

  5. spring mysql mongdb_Spring Boot中使用MongoDB数据库的方法

    MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源的文 ...

  6. USB开发基础:USB命令(请求)和USB描述符

    一.USB命令 在USB规范里,对命令一词提供的单词为"Request",但这里为了更好的理解主机与设备之间的主从关系,将它定义成"命令". 所有的USB设备都 ...

  7. Spring Boot中使用时序数据库InfluxDB

    除了最常用的关系数据库和缓存之外,之前我们已经介绍了在Spring Boot中如何配置和使用MongoDB.LDAP这些存储的案例.接下来,我们继续介绍另一种特殊的数据库:时序数据库InfluxDB在 ...

  8. 如何在Spring Boot中玩转智能合约【修订版】

    本文是由链博科技 ChainBoard.IO 为大家带来的web3j 对智能合约的调用.让 java 程序可以和我们的智能合约愉快的交互起来~ 一. 什么是 web3j web3j是一个高度模块化.响 ...

  9. 如何在Spring Boot中玩转智能合约

    本文是由链博科技 ChainBoard.IO 为大家带来的web3j 对智能合约的调用.让 java 程序可以和我们的智能合约愉快的交互起来~ 一.什么是 web3j web3j是一个高度模块化.响应 ...

最新文章

  1. 微信小程序之配置app.json
  2. oracle数据库----笔记1----oracle数据类型
  3. python顺序结构实验设计_实验二 顺序结构程序设计(验证性实验)
  4. 2 创建联合索引_想进大厂,这些Mysql索引底层知识你是必须知道的
  5. 大剑无锋之一句话输出表中每一个同学的成绩最高的课程【面试推荐】
  6. js获取页面的各种高度与宽度
  7. 亚马逊标题自动抓取_如何为您的家人提供自动Amazon礼品卡津贴
  8. 服务器部署docker
  9. 梯度下降法快速教程 | 第一章:Python简易实现以及对学习率的探讨
  10. du命令和df命令的区别
  11. Dockerfile创建pytorch1.1.0+cuda10.0+cudnn7.5踩过的坑
  12. linux 自启动脚本顺序,(linux开机启动脚本的顺序.doc
  13. Ruby之旅(16) 异常处理 rescue与ensure
  14. 浅谈JobExecutionContext JobDataMap
  15. html设置分割线怎么下移,HTML设置水平分割线
  16. SpringCloud + RocketMQ实现可靠消息最终一致性事务
  17. 6678与FPGA PCIE调试
  18. WP7手机Zune官方升级教程
  19. STC8H8K64U单片机学习-1-芯片功能介绍
  20. 微信公众平台开发网页开发

热门文章

  1. 宝哥面试题分享(07): Java中间件面试题
  2. oepncv 移动目标追踪, 背景消除法,MOG,KNN
  3. 37_Crop 选择相册图片并手动裁切
  4. 图书管理系统 数据库实现(oracle)
  5. Matlab读取CSV文件,并进行矩阵处理
  6. EM算法-数学原理及其证明
  7. 连接Apple ID服务器时出错
  8. IE及系统诸多问题的修复方法
  9. 【密码学】云的MD5破解
  10. 音频编码之opus(一)