SearchSearch

Sign In
 Sign in or Register
Buyer zone
Find skilled Sellers for your business
Seller zone
Sell your skills to UK businesses

About us

Contact us

FAQs

Testimonials

Site map

Can we help?
tel0845 371 0722
emaile-mail
Bookmark and Share
HomeEmbedded Real-Time Software Engineer
[ Printer friendly ]

Freelance Embedded Real-Time Software Engineer Buckingham, Oxfordshire, UK

27 years experience as software contractor in many blue-chip companies. Specialised knowledge of USB, both Device and Host, also USb On-The-Go

Rating:Unrated (New)
Hourly Rate / Cost:£44.44 per hour
Daily Rate / Cost:£333.33 per day
Available From:Now
Seller ID:317443

[ Top | CV | Skills ]

CV (Curriculum Vitae) / Résumé

Speciality: Program architecture, specification, design, implementation and test on Real-Time Embedded systems using ANSI-compliant ‘C’ or C++.
Communications drivers for USB, most recently working on USB drivers for USB On The Go and Communications Class devices on mobile phone platforms.
I am a participating member of both the USB Implementer’s Forum (world-wide bulletin board) and of various sub-committees of the USB.ORG Device Working Group, in particular (recently) contributing to the up-coming revision to the OTG specification.

Employment History

(2006 to 2008)

Engineer

Cambridge

Working in the ‘Shortlink’ team on the project to implement a full USB On The Go driver that would provide the facility for Symbian-based phones to fulfil both the role of being a ‘peripheral’ to a PC (typical for file transfer and PC synch) and of being able to act as a limited-functionality ‘host’ to typical USB devices (memory sticks, cameras, audio headsets)
Since it was viewed as a high-risk activity to develop this driver entirely in-house, the decision had been made just before I joined to buy in the solution from an industry-respected expert supplier.
My particular part of the project has been to provide the detailed USB and OTG knowledge required to ensure that the software drops provided by the chosen supplier are fully conformant to the USB and OTG core specification (as published by the USB organisation standards body), and to provide the new code needed to control the ‘role-swap’ operation required by OTG that allows two phones to inter-operate such that either can provide the required ‘host’ functionality independently of the orientation of the link cable.
I have also been assisting in testing the overall operation of the complete Host+OTG+Client system, and in using the OTG Protocol Test device to prove correct operation.
Recently I have been one of the Shortlink engineers sent to Beijing to train the new Symbian USB team.


(Jan 2006 to Sep 2006)

Nice, France

I joined TI at the start of the year, working in the High-Level OS group on several projects to demonstrate facilities running on one of the new "OMAP" chips which contains multiple processors (Application and Modem) on a single silicon die.
I started with a project where I was implementing C++ code on the Application processor to handle the linkage between a small test application and an NEC modem implementation, using ASN1 encoded messages.
The OMAP 2430 is a stand-alone applications processor for high-end phones, while the OMAPV2230 combines an applications processor with the communications silicon required to connect to a UMTS (Universal Mobile Telecommunications System) or WCDMA (Wideband Code Division Multiple Access) network.
When the original project was put on hold, I went on to a new project where I implemented a new linkage method between the Application and Modem processors using shared memory, and designed and implemented a full simulated test environment that allowed the code to be run on the PC by emulating the shared memory using Windows files.
Having completed that, we then moved on to a full demonstration of voice and video calls using a Symbian application program. My part of this team effort was the code in 'C' that ran on the modem side, which implemented the inter-processor link. During the setting up of this, I assisted the team effort to coordinate the modem build process, originally piecemeal, but using a development derived from the 'SCONS' tool.
I used standard support tools of ClearCase and Perforce, Symbian and MetroWerks CodeWarrior, general code using Visual C++ and also the Lauterbach debug hardware with Trace32 tools.


(2004 to 2005)

Samsung, Staines

Working on a full implementation of V.25ter and 3GPP specifications of ‘AT’ modem command interpreter for a generic mobile phone using Samsung proprietary processor (with ARM core and on-chip silicon-integrated USB sub-system). The code ran as a single thread under the Nucleus operating system and was written in plain “Kernighan & Ritchie” ‘C’.
My contribution to this project was a re-write to the main framework such that it would support multiple simultaneous client sessions, and as part of this I also re-wrote the front-end parser to cater for concatenated and combined command input.
The need for the multi-client approach was to support the AT+CMUX multiplex command, while the front-end re-write was needed to support test usage where the test department were using scripted texts by cut-n-paste into hyper-terminal sessions.


(2002 to 2004)

Symbian, Cambridge

Providing expert level advice and defect coordination in implementation of USB drivers for Host-to-Device link using Communication Class, ACM Sub-Class, code running on Intel X-Scale (ARM based) development hardware and TI OMAP based 'smartphones'.
Defect triage on Nokia phones, concentrating in the PC-Phone connectivity suite (various models including 6600)
Assistance and advice to licensees (Nokia, Fujitsu, Siemens, Sendo, Panasonic) on USB and general Symbian topics, plus numerous on-site visits to licensees (Denmark, Finland, Korea, Germany, USA and UK) to support their USB activities, including device certification and base driver code development for the Texas Instruments range of OMAP processors (ARM processor core, on-chip silicon-integrated USB sub-system). This code was running under Symbian O/S, however the bulk of the code at base level was very standard ‘C’ functionality inside the C++ shell.

Education

Wadham College, Oxford

BA (Hons) Physics

Skills and Experience

System Architecture, Software Analysis and Design, Implementation and Test.
Design and implementation of embedded ‘hard’ real-time programs for both PC and RISC processors (various DSP, MIPS and ARM).
Strong capability in ‘C’ and good working knowledge of ‘C++’ programming and general structured languages.
Serial communications drivers and stacks for IEEE-1394 (Firewire) and USB (Host, OTG and Device)
System-level drivers for GPS communications (Motorola and Trimble)
System Integration and Testing of Embedded Systems and IBM PC Host Applications.

Accumulated Skills:

C, C++ (ARM7, ARM9, TI-OMAP), USB (1.0, 1.1 and 2.0), Embedded DSP (TI TMS320x6200, ADSP-21060 SHARC), Tk/TCL, Embedded RISC (MIPS R3000, ARM), C++ for WindowsCE, 32-bit Windows (98, 95), Windows SDK, DDE/OLE, Yourdon (Teamwork, Ward-Mellor), IEEE-1394 (‘FireWire’ Serial Bus)

Software Languages:

'C', 'C++', Visual C++, Windows SDK, PLM86, Pascal, Modula-2, Micro-Controller

Operating Systems:

Symbian O/S (6.0 to 9.5), Nucleus, pSOS, Windows CE, VRTX, MS-DOS, Windows (98/95/NT, 3.1), OS/2, VAX-VMS, UNIX, CP/M

Database and Spreadsheet:

Access 2, FoxBase, FoxPro.2, DataEase, SQL, Excel 4, 5, 7, Lotus 1-2-3

Commercial Packages and Hardware:

Clear-Case, Perforce ‘P4’, Windows API and RocketPort, Greenleaf Comms Library and DigiBoard hardware, Borland IDE, Microsoft Programmer's Workbench and Visual SourceSafe, PVCS, Brief, Microsoft Codeview, WordPerfect, DrawPerfect, WordStar, Serif PagePlus, CrossTalk, Microsoft 'Works', UNIX Utilities (MAKE, SED, GREP etc), Norton Utilities.

CASE/IPSE:

SELECT-Yourdon, Cadre Teamwork, 3-SL CRADLE, System Designers 'Perspective'

Other Utilities:

MS-DOS Batch, OS/2 REXX, DEC-DCL, UNIX Shell-Script.

Hardware:

USB Protocol Analysers from CATC, LeCroy and Ellisys

[ Top | CV | Skills ]

Recruiters: (Buyers)

To contact freelancers, please register as a Buyer

Register as buyer

Freelancers: (Sellers)

To advertise your services please register as a Seller

Register as seller