|
|||||||||||||||||||||||||||||||||||
USB software stackWARNING the information on this page is obsolete! See PortalPlayerUsbAboutIn the area of ÂSystem-On-Chip microprocessors, which have everything from power management over audio hardware (DAC and ADC) to USB (Device/Host/OTG) in one chip, the processing power is big enough to move from hardware based components to software based ones. A very good example is the Archos Jukebox units [1], which have used chips to handle mp3 decoding and USB2ATA-Bridge. In contrast to it there is the SanDisk Sansa player [2], which makes use of software codecÂs to de/encode audio and needs a software based USB Stack. Always new hardware targets are big challenges for software developers, in this case the RockBox community [3], because you need to design new subsystems in a very portable way and keep every time in mind that you are working on an embedded device. The goal for this Summer of Code 2007 project will be to write a portable USB stack, with the main focus on the Sansa e2xx players. I'd rather have this formulated as 'first test platform on sansa e2xx, but to be used on all targets that do not have an USB/ATA bridge' -- PeterDHoye What should the usb stack support:
The planAs writing an USB stack is not an easy task I will look at existing open-source solutions and port one of them to RockBox or I will use the best fitting one as "place to look" when I do the coding work of an usb stack from scratch. Here is a list of candidates found:
Current Stuff
EvaluationIn the evaluation process I looked at every usb stack to see if the following requirements are fulfilled.
usb4rtUSB for Real-Time aims at providing a hard real-time capable implementation of an USB stack on top of Linux/Xenomai. It comes with a stack core and an UHCI host controller drivers. Future work will deal with a EHCI (2.0) and various high-layer drivers. Pros :
porusPORUS is a portable USB stack for USB peripherals. It handles enumeration and many standard control requests, and provides a portable API for performing USB transactions. Pros :
lpcusblpcusb is a small usb stack for the built-in USB controller in LPC214x microcontrollers. Pros :
WASABI-hPros :
ArchitectureDocumentationList of documentation that may be usefull:ProgressBlog of ChristianGmeiner Code progress usb_dump1.zip: dump of sansa usb registers inside manufacturer mode (thanks webguest83 whoever you are) usb_0.txt: reg dump in manufacturer mode (some more regs than in the zip) 20070829_command_verification.txt: result of usb test suite as on 29/08/2007
r26 - 02 Apr 2021 - 20:46:07 - UnknownUser
Copyright © by the contributing authors.
|