Linux-2.6.32.2内核在mini2440上的移植(十)---配置USB外设

发布者:Lihua1314520最新更新时间:2016-12-04 来源: eefocus关键字:Linux  内核  mini2440  移植  USB外设 手机看文章 扫描二维码
随时随地手机看文章

移植环境 

1,主机环境:VMare下CentOS 5.5 ,1G内存。

2,集成开发环境:Elipse IDE

3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。

4,开发板:mini2440,2M nor flash,128M nand flash。

5,u-boot版本:u-boot-2009.08

6,linux 版本:linux-2.6.32.2

7,参考文章:

嵌入式linux应用开发完全手册,韦东山,编著。

Mini2440 之Linux 移植开发实战指南

【1】在内核中配置USB键盘和鼠标等hci设备驱动程序

Linux-2.6.32.2 内核对USB 外设的支持是相当丰富的,并且已经包含了S3C2440 的USBHost 驱动支持,因此我们只要配置一下内核就可以了,下面是各种USB 外设的内核配置。

在linux-2.6.32.2根目录下执行make menuconfig,然后确认如下选项被选中

Device Drivers --->

     [*] HID Devices --->

         <*>   USB Human Interface Device (full HID) support  //支持usb键盘鼠标等hci设备

提示:这里的配置选项对应的内核源代码目录是:linux-2.6.32.2/drivers/hid/usbhid,其中USB 键盘和条码扫描器的原理是一样的,因此它们的代码是相同的。

          [*]   /dev/hiddev raw HID device support  //以原始的raw方式访问HID设备。

以上信息被选中后可以在控制台看到如下启动信息

... ...

usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver

... ...

使用LCD和USB键盘作为终端

现在的内核已经支持LCD和USB键盘可以用它来作为控制台终端了,确保然按前篇文章Linux-2.6.32.2内核在mini2440上的移植(七)---LCD驱动移植说过的在命令行增加“console=tty1”和修改inittab文件,当接上USB键盘和LCD后,可以在LCD上看到如下信息“Please press Enter to activate this console.”。

这里有一点要注意,点选择了使用USB键盘和LCD作为独立的输入输出设备之后,串口控制终端将不再起作用了,在开发调试阶段,还是不这样做为好。

【2】在内核中配置U盘驱动程序

因为优盘用到了 SCSI 命令,所以我们先增加SCSI 支持。

Device Drivers --->

   SCSI device support  --->  

        <*> SCSI device support  //要支持USB磁盘,此项要选中。

         [*] legacy /proc/scsi/ support  //在/proc/scsi目录下提供一些信息。

        <*> SCSI disk support //SCSI硬盘,要支持U盘,此项要选中。
        [*] USB support  ---> 

         <*>   Support for Host-side USB  //usb主机控制器

         [*]     USB device filesystem (DEPRECATED)    //在/proc文件系统中提供一些调试信息

          <*>     OHCI HCD support //OHCI主机控制驱动程序

          <*>   USB Mass Storage support //USB存储设备

现在的U盘等移动存储器使用的大都是FAT/FAT32 格式的,因此我们还需要添加FAT32 文件系统的支持,在内核配置主菜单下依次选择如下菜单项:

File systems  ---> 

    DOS/FAT/NT Filesystems  --->  

         <*> MSDOS fs support     //加FAT32 文件系统的支持

    -*- Native language support  --->    //以下为支持中英文的编码

        <*>   Codepage 437 (United States, Canada) 

        <*>   Simplified Chinese charset (CP936, GB2312)

        <*>   Traditional Chinese charset (Big5)

        <*>   NLS ISO 8859-1  (Latin 1; Western European Languages)

         <*>   NLS UTF-8 

配置完成后,退出并保存以上配置,重新编译 make uImage。然后复制生成的uImage到/nfsboot/kernel,重启开发板,看到如下信息:

... ...

eth0: dm9000e at c4872300,c4876304 IRQ 51 MAC: 08:90:90:90:90:90 (chip)
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
mice: PS/2 mouse device common for all mice
mini2440_TouchScreen successfully loaded
input: mini2440_TouchScreen as /devices/virtual/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
cpuidle: using governor ladder
... ...

测试U盘

为了看到插入U盘时的打印信息,系统启动时先不要插入优盘,等系统启动后,进入命令行控制台,此时插入U盘,可以看到如下信息:

[root@mini2440 /]#usb 1-1: new full speed USB device using s3c2410-ohci and addr
ess 2
usb 1-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
scsi 0:0:0:0: Direct-Access     USB 2.0  Flash Drive      5.00 PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 2073600 512-byte logical blocks: (1.06 GB/1012 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk

[root@mini2440 /]#

根据上面的提示信息,U盘对应的是/dev/sda1,现在可以挂载它了

[root@mini2440 /]#mount -t vfat /dev/sda1 /mnt/udisk
[root@mini2440 /]#cd /mnt/udisk
[root@mini2440 udisk]#ls
100MLT29          20x15             8X6???.jpg        FileRecv20100328
18X8??????.jpg    24X18             ????              Photo
2.4X3.5           24X36??.jpg       ?????,?????       picall
20X24??.jpg       6X8??.jpg         ????????.pdf      uImage_T35
[root@mini2440 udisk]#

 可以看到上面列出的U盘的内容。

【4】配置并测试USB 摄像头驱动

(待续)

【5】配置并测试USB 无线网卡

(待续)

下一步,将进行SD卡驱动移植


关键字:Linux  内核  mini2440  移植  USB外设 引用地址:Linux-2.6.32.2内核在mini2440上的移植(十)---配置USB外设

上一篇:Linux-2.6.32.2内核在mini2440上的移植(十一)---移植SD卡驱动
下一篇:Linux-2.6.32.2内核在mini2440上的移植(九)---触摸屏驱动移植

推荐阅读最新更新时间:2024-03-16 15:23

Percello用CEVA DSP内核开发Femtocell
硅 产 品知 识产权 (SIP) 平台解决方案和数字信号 处 理器 (DSP) 内核授 权 厂商 CEVA 公司宣布无晶 圆 厂的半 导 体公司 Percello 已 获 授 权 使用 CEVA-TeakLite-III DSP 内核,用于先 进 的毫微微蜂 窝 基站 (Femtocell) 基 带 芯片 组 的 开发 。 Femtocell 接入点是一 种 新 兴 技 术 ,可 为 住宅和小型商 务环 境提供低成本及全集成的手机服 务 。 Percello 的 处 理器架构充分 发挥 了 CEVA-TeakLite-III DSP 功能 强 大及完全可 编 程的 优势 , 实现 高集成度且具成本
[模拟电子]
基于AT91RM9200的ARM Linux移植方法
1. 引言 目前,在嵌入式系统里基于ARM微核的嵌入式处理器以其功耗低,功能强大的优点已经成为市场的主流。与此同时,在网络上发展起来的Linux操作系统,以其功能强大,开放源代码,支持硬件种类众多的特点,越来越受到人们的青睐。然而如何把Linux操作系统移植到ARM平台上却成了一个重点,也是一个难点问题。 嵌入式Linux系统包括引导程序(Bootloader),内核(kernel)和根文件系统三个部分,其开发流程如图1所示:嵌入式Linux 移植到特定的硬件平台上,一般需要以下五个步骤:(1)前期准备包括从网站http://kernel.org上下载嵌入式Linux的源码包, 搭建交叉编译开发环境,配置主机的开发环境等(
[单片机]
基于AT91RM9200的ARM <font color='red'>Linux</font>的<font color='red'>移植</font>方法
s3c2410触摸屏在linux下的驱动分析 一
触摸屏驱动在/kernel/drivers/char/s3c2410-ts.c 文件中。 该驱动总要有以下重要数据结构: 1.触摸屏的file_operations static struct file_operations s3c2410_fops={ owner: THIS_MODULE, open: s3c2410_ts_open, read: s3c2410_ts_read, release: s3c2410_ts_release, #ifdef USE_ASYNC fasync: s3c2410_ts_fasync, #endif poll: s3c2410_ts_poll, }; 2.全局变量T
[单片机]
基于S3C2410的串行外围设备接口SPI及Linux下嵌入式驱动的实现
串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,它允许CPU与TTL移位寄存器、A/D或D/A转换器、实时时钟 (RTO)、存储器以及LCD和LED显示驱动器等外围接口器件以串行方式进行通讯。 SPI总线只需3~4根数据线和控制线即可扩展具有SPI接口的各种I/O器件,其硬件功能很强,实现软件相当简单。串行A/D转换器具有电路简单、工作可靠的特点,而ARM芯片被设计用于手持设备以及普通的嵌人式应用的集成系统,将上述两种实用的芯片和SPI总线技术相结合以实现数据采集十分有效。 1 AD7888的功能与使用 AD7888是美国模
[单片机]
基于S3C2410的串行外围设备接口SPI及<font color='red'>Linux</font>下嵌入式驱动的实现
06-S3C2440学习之移植2012u-boot到S3C2440(移植过程三)支持NorFlash
上一节 我们实现了支持nand flash 启动(点击查看),并不代表uboot此时可以对nand进行读写操作,只是可以把uboot烧写到nand然后上电后,对代码 进行重定位,实现了nand启动。这一节我们加入对nor 的支持,使uboot可以识别出nor flash 并可以读写nor flash。 (1)查看上一节最后的报错: (2)搜索Flash:查看代码: 程序会陷入死循环,并打印出错误信息。 (3)找不到不卡死,继续往下走:修改为如下 修改是为了 从nand启动时不在此处卡死。 (4)看一下这个 怎么才能识别出nor flash if (!flash_detect_legacy(cfi_
[单片机]
06-S3C2440学习之<font color='red'>移植</font>2012u-boot到S3C2440(<font color='red'>移植</font>过程三)支持NorFlash
Linux系统下USB摄像头驱动开发
USB摄像头以其良好的性能和低廉的价格得到广泛应用。同时因其灵活、方便的特性,易于集成到嵌入式系统中。但是如果使用现有的符合Video for Linux标准的驱动程序配合通用应用程序,难以充分利用USB带宽,帧速不高,不易满足实时监控等要求。本文首先介绍在Linux系统下USB摄像头驱动编制的一般方法,然后说明在此基础上如何提高帧速。 1 Linux系统中的USB摄像头驱动程序 USB设备驱动程序完全符合通用设备驱动的准则,不同的是内核提供了一些特别的API函数,方便驱动注册、销毁自己,例如usb_reSister()和usb_dereSister();2.4版的内核还提供了对于hotplug的支持。 1.1 USB摄像头
[嵌入式]
移植uboot-1.1.6到ST2410开发板上
1)u-boot版本1.1.6,gcc version 4.3.2 2)在Makefile中的smdk2410_config后加入 st2410_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t st2410 NULL s3c24x0我把我的板子起名叫st2410,可以依自己的喜好修改,注意@前用tab键空格。 各项的意思如下: arm: CPU的架构(ARCH) arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。 st2410: 开发板的型号(BOARD),对应于board/st2410目录。
[单片机]
STi7108机顶盒平台成功移植Adobe AIR
意法半导体的STi7108机顶盒平台成功移植Adobe AIR®,为主要的消费电子设备制造商提供丰富的网络应用开发环境 中国,2011年7月18日 —— 横跨多重电子应用领域、全球领先的机顶盒(STB)和数字电视一体机芯片制造商意法半导体(STMicroelectronics,简称ST ;纽约证券交易所代码:STM)宣布,其先进的高清电视系统级芯片(SoC)平台取得了巨大进步,此项成果将意法半导体推向能够运行基于Adobe® AIR®的游戏和其它应用软件的下一代互联网电视技术的最前沿。 意法半导体已成功移植Adobe AIR® 2.5 for TV软件至第三代先进互动高清机顶盒系统芯片平台,并通过Adobe产品认证。 Adob
[家用电子]
STi7108机顶盒平台成功<font color='red'>移植</font>Adobe AIR
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved