1.开启usb host功能

【1】打开/include/configs/mini2440.h,定位到112行附近:加入下面代码:

/*
 * Command line configuration.
 */
#include <config_cmd_default.h>

#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
#define CONFIG_CMD_ELF
#define CONFIG_CMD_NAND
#define CONFIG_CMD_JFFS2  /* JFFS2 Support*/
#define CONFIG_CMD_PING /*ping command support*/
#define CONFIG_CMD_USB
#define CONFIG_CMD_FAT

#define CONFIG_BOOTDELAY 3

其中相关宏定义的作用:

CONFIG_CMD_USB :使能USB相关命令的支持
CONFIG_CMD_FAT :使能FAT文件系统相关命令的支持

定位到194行附近加入下面代码:

/*
USB device support
*/
#define CONFIG_USB_DEVICE   1
#ifdef CONFIG_USB_DEVICE
#define CONFIG_USE_IRQ    1
#endif

#if 1
#define CONFIG_USB_OHCI
#define CONFIG_USB_STORAGE
#define CONFIG_DOS_PARTITION
#define CONFIG_SYS_DEVICE_DEREGISTER
#define CONFIG_SUPPORT_VFAT
#define LITTLEENDIAN
//#define CONFIG_USB_TTY
//#define CONFIG_USB_KEYBOARD
#endif

相关宏定义的作用:

CONFIG_USB_OHCI :使能USB_OHCI协议的支持
CONFIG_USB_STORAGE:使能USB存储设备的支持
CONFIG_DOS_PARTITION : 使能FAT文件系统分区的支持
CONFIG_SUPPORT_VFAT : 使能FAT32文件系统的支持
LITTLEENDIAN : 定义数据为小端模式

CONFIG_USB_TTY:使能USB终端(本次未使用)
CONFIG_USB_KEYBOARD是对USB键盘的支持(本次未使用)

【2】打开/cpu/arm920t/s3c24x0/usb_ohci.c,定位到43行附近,加入下面代码:

#ifdef CONFIG_USB_OHCI

#if defined(CONFIG_S3C2400)
#include <s3c2400.h>
#elif defined(CONFIG_S3C2410) || defined (CONFIG_S3C2440)
#include <s3c2410.h>
#endif

2. usb host 功能编译测试:

【1】先看下USB 操作指令
指令                                功能
usb reset                         初始化USB 控制器
usb stop [f]                      关闭USB 控制器
usb tree                           已连接的USB 设备树
usb info [dev]                  显示USB 设备[dev]的信息
usb storage                     显示已连接的USB 存储设备
usb dev [dev]                   显示和设置当前USB 存储设备
usb part [dev]                  显示USB 存储设备[dev]的分区信息
usb read addr blk# cnt    读取USB 存储设备数据

【2】准备一个fat32格式的U盘

【3】在编译完成后,nor 档下载nand 档启动,操作如下:

[u-boot@MINI2440]# usb help
USB is stopped. Please issue 'usb start' first.
[u-boot@MINI2440]# usb start
(Re)start USB...
USB:   scanning bus for devices... cannot reset port 2!?
2 USB Device(s) found
       scanning bus for storage devices... 1 Storage Device(s) found
[u-boot@MINI2440]# usb storage
  Device 0: Vendor: USB 2.0  Rev: 5.00 Prod: Flash Drive
            Type: Removable Hard Disk
            Capacity: 1012.5 MB = 0.9 GB (2073600 x 512)
[u-boot@MINI2440]# usb part 0
print_part of 0

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

Partition     Start Sector     Num Sectors     Type
    1                   32         2073568       b

[u-boot@MINI2440]# fatload usb 0:1 0x30008000 uImage_T35
reading uImage_T35
................................................................................
................................................................................
.....................................

2022412 bytes read
[u-boot@MINI2440]# bootm 0x30008000
## Booting kernel from Legacy Image at 30008000 ...
   Image Name:   mini2440_linux
   Created:      2011-05-12   3:37:00 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)

uboot支持usb功能相关推荐

  1. 使用u-boot的USB下载功能烧写程序到Nand Flash ——韦东山嵌入式Linux学习笔记06

    本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2) 假设板子的Nor Flash上已经烧好了u-boot,如果我想利用u-boot的USB下载功能,把一个裸板程序烧写到 ...

  2. U-Boot中支持USB

    今天查看了一下在P4080DS板子的U-Boot中支持USB,主要是加入USB Host端驱动和相应设备端驱动来支持存储设备,这样就 可以将Kernel以及文件系统存放在U盘上,来通过U盘来启动. 跟 ...

  3. 免驱USB转串口芯片,还支持Billboard功能

    乐得瑞发布一颗USB转串口芯片LDR2001,功能强大,免驱,还支持Billboard功能. LDR2001芯片是乐得瑞科技设计的一个免驱的USB转串口的CDC类芯片,可以实现USB转串口和Billb ...

  4. 分享tiny4412,emmc烧录u-boot, 支持fastboot模式烧写emmc

    本人是第一次在此发帖,希望大家多多支持,发帖目的是为了分享,分享的目的是传递开源的精神. Tiny4412开发板刚拿到手是,看了下介绍,发现superboot是个好东西,但是不开源,这个严重与开源思想 ...

  5. 在WinCE 6.0系统下实现USB功能定制

    USB的广泛应用就不用多说了,相信目前的各个领域的嵌入式产品中,很少有不用USB的.USB是主从结构的,分为USB Host和USB Slave,从USB1.0,USB1.1到现在的USB2.0,基于 ...

  6. 启明云端分享|ESP32-S3 的 USB 支持 USB Host 吗?

    提示:作为Espressif(乐鑫科技)大中华区合作伙伴及sigmastar(厦门星宸)VAD合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考.同时也用 ...

  7. jz2440开发板修改UBOOT支持NAND FLASH

    很多天没有看嵌入式的东西了,今天来看一下,继续之前移植uboot到jz2440开发板.今天我们来实现Uboot支持NAND FLASH. 在之前的文章里(点击连接查看之前的记录),我们为了编译通过把N ...

  8. sata接口测试软件,如何查看电脑是否支持USB 3.0?Hwinfo32检测SATA端口的方法

    Hwinfo32检测SATA端口有很多效用,其中我们查看该SATA是否支持USB 3.0就是一个判断,更多的信息是为了了解SATA目前已经可使用的和在使用的端口情况,具体方法可以查看下文中的方法进行判 ...

  9. 无光驱不支持USB设备启动的笔记本,如何使用Ghost来安装系统

    好多超轻型的笔记本,本身都不自带光驱.而且现在的情况下,除了装系统之外,单独买一个外置的USB光驱平常也没多大用途. 可系统一旦需要重装的时候就麻烦些了.个别支持USB硬盘或U盘启动的还好些,对于不支 ...

最新文章

  1. ORB特征原理(浅显易懂)
  2. c#_将文件导入到工程目录下
  3. 说说你知道的数据库常用架构方案?
  4. ubuntu:通过封装验证码类库一步步安装php的gd扩展
  5. license 验证服务器唯一机器码_代码审计工具Fortify 17.10及Mac平台license版本
  6. spring 监听器 IntrospectorCleanupListener简介
  7. c语言查找功能的怎么使用方法,求C语言实现查询功能(如果选择3,如何实现查询)...
  8. XCTF-高手进阶区:PHP2
  9. 再谈 retain,copy,mutableCopy(官方SDK,声明NSString都用copy非retain)
  10. Docker学习三:Docker 数据管理
  11. 面试官:亿级流量架构分布式事务如何实现?我懵了。。
  12. 堆排序算法过程图解_堆排序算法
  13. 数据质量管理十步流程
  14. 虚拟中的多态与现实中多态
  15. 无存储式优惠券编码方案
  16. 如何用建好的stm32模板来创建Free-Rtos系统
  17. 中国信息通信研究院闫树:城市大数据平台白皮书
  18. 简单学习看机器码的方法
  19. 广东移动爱家TV牌照UNT402H_MV310/MV300原厂分区全量备份包
  20. python网络嗅探

热门文章

  1. python装饰器带参数函数二阶导数公式_SICP Python 描述 1.6 高阶函数
  2. 最大似然估计(Maximum Likelihood,ML)
  3. 如何选择CDN?你需要关注这三个方面
  4. java 数据库排序_Java如何排序数据库表的数据内容?
  5. Ubuntu 安装shutter
  6. 小强升职记-一本好书
  7. JavaScript-HTML中的JavaScript
  8. GPS授时模块:UTC时间,GMT,GPS时,北斗时,北京时间及其关系
  9. Mobius Inversion
  10. 抖音直播带货数据复盘怎么做?如何复盘提高直播间转化率?