Find Jobs
Hire Freelancers

Composite ( Mass Storage + Serial ) library for mBed MCU

$250-750 USD

Closed
Posted over 12 years ago

$250-750 USD

Paid on delivery
We are looking for an embedded C++ developer to create a small library for a specific USB functionality for the LPC17xx family of MCUs ( Cortex-M3 ). User-side functionality : The library must allow the LPC17xx chip, when connected to the PC via it’s USB pins, to show up as TWO usb devices : * One USB Serial (CDC) device * One USB MSC (Mass Storage Controller) device These parts are already entirely implemented, so you do not have to do it, that is not what the project is about. These two parts are :* [login to view URL] [login to view URL] These two parts already exist, what this project is about is simply make them into a composite device : at the moment you can only use one or the other : we want our device to show to computers as both serial and mass storage. The complicated feature here is to have both devices at the same time on the same USB cable ( Composite ). However this is known to be possible ( Search Google, examples : [login to view URL], [login to view URL], [login to view URL], [login to view URL] ). There is even an official diculment from nxp describing the process for a similar chip ( lpc13xx instead of lpc17xx ) : [login to view URL] This functionality must work when connected to PCs under Windows, Mac, and Linux. Compatibility : Your code will have to be provided with a simple example covering all functionality. It will have to compile with CodeSourcery’s free GCC Toolchain, and run on both mBed ( LPC1768 ) and LPCXpresso ( LPC1769 ). In order to interface with mBed functionality you will have to use the GCC4MBED project ( [login to view URL] ). Materials : You will be provided with all required materials, namely : An LPCXpresso-LPC1769 ( or a mBed ), a Serial-to-USB converter cable for debugging, an USB-B Breakout board, a SD-Card breakout board, a SD Card, and wires. They will have to be returned upon completion of the project. Code quality : You are expected to * Write Object-Oriented, well commented code * Be available for any question on your code * Thoroughly test your code * Be available for bug correction even after the project has been completed * Communicate in a regular fashion ( disappearing for several days, not answering emails, etc ... will result in project cancellation ). This includes emailing even if you are late or have not made progress. This is extremely important. * Re-use as much of existing open source code as possible, knowing that the final code will itself be open source. This is very important to reduce the quantity of required work. * Write code that achieves maximal possible performance. This includes using DMA if possible. * Ideally you should have previous experience with coding for USB on Cortex-M3 devices. If you do please mention it in your bid. Please ask by Private Message if you have any question. The bid that will be chosen will be the lowest bid amongst those that prove they understand what is needed and demonstrate they are capable of doing it. No bid over 450$ please.
Project ID: 1347025

About the project

10 proposals
Remote project
Active 12 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 FRANCE
valencia, France
5.0
8
Member since Nov 1, 2008

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.