转:http://blog.chinaunix.net/uid-22030783-id-3347608.html

在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 /)
用法:<interface> <dev[:part]> [directory]
interface就是指哪种类型的设备,我们用的是usb,dev就是设备号,我们的设备号是0,默认的directory是根目录
执行:fatls usb 0
列出U盘上的文件系统目录结构
 
fatinfo: print information about filesystem
用法:<interface> <dev[:part]>
执行:fatinfo usb 0
 
fatload:load binary file from a dos filesystem
用法:<interface> <dev[:part]>  <addr> <filename> [bytes]
从U盘中读取文件到指定内存地址,比如我U盘上有一个名为uboot.bin的文件,读到0x30000000的地址处
执行:fatload usb 0 0x30000000 uboot.bin
读完后就可以用nand write命令将30000000处理的数据写到bios分区中,这就实现了用U盘烧写系统功能
 

在XC2440的uboot中挂载U盘,利用FAT文件系统读写U盘文件的更多相关文章

  1. (四)ubuntu学习前传—uboot中对Flash和DDR的管理

    1.uboot阶段Flash的分区 (1)所谓分区,就是说对Flash进行分块管理.(2)PC机等产品中,因为大家都是在操作系统下使用硬盘的,整个硬盘由操作系统统一管理,操作系统会使用文件系统帮我们管 ...

  2. u-boot中分区和内核MTD分区关系

    一.u-boot中环境变量与uImage中MTD的分区关系 分区只是内核的概念,就是说A-B地址放内核,C-D地址放文件系统,(也就是规定哪个地址区间放内核或者文件系统)等等. 一般我们只需要分3-4 ...

  3. 关于Yaffs2在u-boot中的支持

    开发板是一块2G的MLC的NandFlash,页大小8k+512,为其移植u-boot到yaffs2这了.以前在Mini2440上移植过2k+64的slc的NandFlash的Yaffs2支持,当然也 ...

  4. u-boot中的Makefile

    在windos下,pc机上电之后,BIOS会初始化硬件配置,为内核传递参数,引导操作系统启动,并且识别C盘.D盘.等整个操作系统启动起来之后,才可以运行应用程序比如QQ.QQ音影.同理,在嵌入式Lin ...

  5. 关于NAND flash的MTD分区与uboot中分区的理解

    关于NAND flash的MTD分区与uboot中分区的理解 转自:http://blog.csdn.net/yjp19871013/article/details/6933455?=40085044 ...

  6. U-Boot中支持USB

    转载: http://blog.csdn.net/qiurihuanghua/article/details/6234832 今天查看了一下在P4080DS板子的U-Boot中支持USB,主要是加入U ...

  7. 『学了就忘』Linux基础命令 — 37、Linux中挂载操作的相关命令

    目录 1.mount命令介绍 (1)mount命令说明 (2)mount命令格式 2.mount命令示例 3.mount -a命令说明 4.-o特殊选项说明 5.exec/noexec选项说明 挂载就 ...

  8. 什么是挂载?linux中挂载详解

    目录 一:什么是挂载,linux中挂载详解 一:什么是挂载,linux中挂载详解 1.linux中'一切皆文件',所有文件都放置在以根目录为树根的树形目录结构中.在linux看来,任何硬件设备也都是文 ...

  9. uboot中添加FIQ中断及相关问题

    本文主要说明了在uboot中添加FIQ中断时遇到的问题以及对应的解决办法. 首先交代一下项目的软硬件环境.硬件方面,使用s3c2440作为主控芯片,外接串口.网卡等设备.软件方面,主控芯片上电后运行u ...

随机推荐

  1. tiny-rtems-src

    https://github.com/RTEMS/rtems-libbsd https://github.com/freebsd/freebsd/tree/642b174daddbd0efd9bb5f ...

  2. ACdream 1157 Segments CDQ分治

    题目链接:https://vjudge.net/problem/ACdream-1157 题意: Problem Description 由3钟类型操作: 1)D L R(1 <= L < ...

  3. 微信支付之SHA256签名失败

    在接微信支付的时候,或多或少会遇到签名失败,本人接入的时候也遇了不少次: 总结如下: 1.参数没有经过ASCII排序 2.参数包含中文未经过UTF-8标准转化加密后的签名不对应(经本人测验:加密算法要 ...

  4. redis之(八)redis的有序集合类型的命令

    [一]增加元素 --->命令:ZADD key score member [score member] --->向有序集合放入一个分数为score的member元素 --->元素存在 ...

  5. Majority Element——算法课上的一道题(经典)

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  6. window下线程同步之(Critical Sections(关键代码段、关键区域、临界区域)

    关键区域(CriticalSection) 临界区是为了确保同一个代码片段在同一时间只能被一个线程访问,与原子锁不同的是临界区是多条指令的锁定,而原子锁仅仅对单条操作指令有效;临界区和原子锁只能控制同 ...

  7. Thinking in java基础之集合框架(转载)

    集合简介(容器)把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成一个东西(一个对象),然后我们借用袋子把这20个苹果装起来,而这个袋子就是集合(也叫 ...

  8. 跨域请求httpclient

    httpclient:是Apache工具包,util,它可以作为一个爬虫,直接爬取某个互联网上的页面.获取到时页面最终的源文件html.直接可以获取页面返回json.就可以直接在代码内部模拟发起htt ...

  9. 洛谷P1730最小密度路径

    题目传送门; 首先理解题目,究其本质就是一个最短路问题,而且数据范围贼水,用floyd完全没问题,但是题目有变化,要求出路径边权值与边数之比,这里就可以考虑在把floyd中的二维数组变为三维,f[ i ...

  10. What is Double Spending & How Does Bitcoin Handle It?

    https://coinsutra.com/bitcoin-double-spending/ Bitcoin is gaining rapid popularity and adoption acro ...