Find Jobs
Hire Freelancers

eCos USB host/OTG-mode drivers

$500-5000 USD

Closed
Posted about 17 years ago

$500-5000 USD

Paid on delivery
The final product will be eCos drivers to support an external USB OTG port. The drivers will be written in C/C++. The eventual target is the Philips LPC2292 ARM7TDMI processor. This device will run the eCos real-time-operating system. The development target is a Pentium-class PC running the eCos real-time operating system. The eCos USB drivers will support connection to USB hosts and peripherals as an On-The-Go (OTG) system. The USB hardware consists of a Philips ISP1362 USB controller connected via 16 bit bus. The objectives can be described by reference to the block diagram in the file “USB OTG.PDF.?? A capsule summary of the diagram follows, noting which parts of the architecture must be developed as part of this project. A. This block (labeled OTG DRD - Dual-Role Device) is the Philips/NXP ISP1362 USB controller. This is hardware ??" no action is required. B. USB Protocol Layer -- this is part of eCos (in the packages/io/usb subdirectories). C. Host Controller Driver ??" This is to be developed. D. Peripheral Controller Driver (you may also see this described as "Device Controller Driver"). This has already been developed. E. USB Protocol Driver (you may also see this described as "USB Protocol Stack"). eCos already provides support for operation as a USB slave, but the protocol driver for operation as a host must be developed. F. Peripheral Function ??" This has already been developed. G. Mass Storage Class Driver (to talk to a USB Flash drive) ??" This is to be developed. The host-mode drivers must support connection as a host to the Mass Storage class at minimum; the HID Class is a desirable objective. The drivers will be tested by the Coder on a Philips ISP1362 PCI DOS evaluation board provided by the Buyer (see “Deliverables??). Philips includes generic driver code that can be used as a starting point. ## Deliverables 1. Complete and fully-functional working drivers will be delivered in executable form as well as complete source code of all work done. 2. The drivers will be *eCos device drivers* (incorporated into eCos) ??" *not* standalone or demonstration code. 3. To avoid problems related to differing revision, all code shall be compiled with GCC 4.1.2 and tested on a PC platform running eCos. Vesta will provide the specific version of eCos to be used for development, and can provide GCC 4.1.2 for a Windows/Cygwin environment. The code developed cannot depend on any features specific to the Pentium processor or underlying PC platform, since the code must be portable to ARM7. 4. Deliverables must be in ready-to-run condition 5. The source code will include explanatory comments to make the operation clear. Comments will follow the format currently used in eCos, extended by the requirements of the Vesta commenting standards. In this case, it means adding a module description and tools list to the standard eCos header (these may be added at the end), and using function headers as described in the Vesta commenting standards for the functions written as part of this project. By eCos convention, the revision history information goes into a ChangeLog file in the subdirectory “above?? the source code (that is, in the subdirectory that holds the CDL, INCLUDE, and SRC subdirectories. ChangeLog files should follow the current eCos format for revision history information. 6. The source code will conform to GNU coding standards (see <[login to view URL]>) 7. Working code examples will be provided that demonstrate the use of the software. 8. Additional documentation will be provided as required to describe design decisions, how the code works, etc. 9. All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive ownership to all work purchased. (No 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). ## Platform The coder will test the code before delivery on the Philips ISP1362 PCI DOSevaluation board by communicating with a USB Mass storage device. The Buyer may provide this development system on a temporary basis ??" this is negotiable depending on the Coder’s geographical location and access to this hardware.
Project ID: 2912770

About the project

Remote project
Active 17 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

About the client

Flag of UNITED STATES
United States
5.0
9
Member since Jan 9, 2006

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.