
Mobile Phones
Embedded Software Development
- Embedded multimedia software and drivers for 2G/3G mobile phones, on a custom integrated circuit with multiple CPU cores (ARM7, ARM9, DSP), using C and a commercial RTOS (Nucleus Plus).
- Object-oriented rearchitecture of the multimedia driver structure, for multi-platform support.
- Drivers for many LCD displays on high-end mobile phones (displays from Samsung, Epson and Sharp), for several mobile phone camera modules (OmniVision and Samsung) and for multimedia companion chips (MtekVision and AIT).
- Work on numerous other parts of the software, as the need arose, such as software related to I2C, GPIO, interrupt handling, LDO control, timers, messaging support.
- Embedded C, assembly language, Nucleus Plus RTOS (real-time, multi-threaded), Perl.
- ARM7, ARM9.
- Windows, Rational Clear Case and Clear Quest, SVN (SubVersion).
- TCC, Lauterbach Trace32.

Embedded Systems
Design Lead / FPGA and Embedded Software Development
- Digital electronic design and development of an embedded 486 microcomputer, which had Linux ported to it and is now used in a successful product. Utilised CompactFlash, PCM/CIA, SDRAM, SRAM.
- Design and development of two large FPGA projects, coding in VHDL. Functionality implemented includes Telecoms processing, VME interface. Utilised high-speed logic and Dual-Port RAM.
- Embedded software design in C, with some assembly language.
- Web site design.
- VHDL, C, C++, Perl, assembly language, make, HTML.
- Cygwin, Windows.