USB Host
From ArmadeusWiki
How-To use the USB Host functionnality of Armadeus boards under Linux.
Contents
Controller
To use USB devices on your Armadeus board, you will need to have a USB Host controller on your development board. Currently, only the DevFull has this functionnality. It is equipped with a USB 2.0 Host controller featuring three USB high speed ports. To know how to install USB Host Linux driver for the DevFull, go here.
Using USB devices
USB keyboard
Driver installation
Adding USB keyboard support
$ make linux-menuconfig
select Device Drivers ---> [*] HID Devices ---> <*> Generic HID support (static) select Device Drivers ---> [*] HID Devices ---> <M> USB Human Interface Device (full HID) support (module)
Starting the driver
# modprobe usbhid
USB Flash memory / USB key
Driver installation
Adding USB Flash support
make linux-menuconfig select Device Driver-> SCSI device support->SCSI device support (kernel)
select Device Driver-> SCSI device support->legacy /proc/scsi/ support (kernel)
select Device Driver-> SCSI device support->SCSI disk support (kernel)
select Device Driver-> USB support ->USB device filesystem (kernel)
select Device Driver-> USB support ->USB Mass Storage support (kernel)
Starting the driver
- if sda1 has not been previoulsy created
# mknod /dev/sda1 b 8 1
- create a mount directory "memstick"
# mkdir -m 777 /mnt/memstick
- mount the USB Flash device
# mount -t vfat /dev/sda1 /mnt/memstick
- check what is present on the USB Flash device
# ls -al /mnt/memstick
USB Performances
A performance test has been performed by means of the usb_perf.sh script.
A high speed USB stick (corsair memory flash voyager) has been used.
Test result (mean values): read -> 2980 kBytes/sec write -> 2095 kBytes/sec
The maximal bandwidth has been also measured by using a scope and by tranferring 4096 octets from the USBstick to a buffer of a kernel driver
Result: ~10Mo/sec