当前位置:首页 > 单片机 > 单片机
[导读]移植环境1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash

移植环境

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卡驱动移植


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭