Software Architecture and Engineering
Our software team have extensive experience in the design
and programming of a wide range of embedded systems, from microcontroller
boards through SoCs and soft processors to set-top boxes, codecs, PVRs
and embedded PCs, right through to server programming.
This wide range of expertise makes us ideal for projects that require
the development of entire products, from hardware design specified in
conjunction with the client and hardware development team through
operating systems software and middleware to the implementation of
servers that the system communicates with.
Particular areas of expertise or recent experience are listed
below.
- Android OS development and porting (with some Android application
development experience).
- Extensive Linux expertise, particularly in embedded systems setup
and kernel drivers.
- Codec implementation and extensive knowledge of H.264, MPEG-2,
MPEG4 part 2, VC-1 / Windows Media 9, AVS, H.263, MP3, AAC,
MPEG audio, AC3. Some experience with Theora, Vorbis and
VP-8.
- Experience of ARM(v2..v7), ARM Cortex-M3, x86, sh4, Blackfin
architectures.
- Specific expertise on ST71xx, TI OMAP3, BF54x . Some expertise
on Freescale i.MX35 and i.MX51.
- IPTV technologies and video transports including RTSP, IGMP, HTTP
and MMS for video delivery.
- Extensive experience integrating Flash video on embedded devices.
- Linux distributions and the construction of board support packages.
- Significant open source expertise with the Linux kernel, the GNU
toolchain (specifically gcc), device drivers and various
applications. We have experience of maintenance and upstream patch
support for free software packages.
- Coding in C, C++, Java and C# and a range of other languages.
- Windows application and device driver expertise.
- Digital filtering and signal reconstruction.
- Firmware, assembly coding and bring-up of TI 64-series DSPs, Davinci
chips, ARM, MIPS, PowerPC, x86, ARC, Microblaze, ST71XX-series SoCs, and a wide
range of microcontrollers including Luminary Stellaris, SX-58 and
Atmel 89-series chips.
- Networking experience with TCP/IP, ATM, ADSL, X.400. We have worked on
X.400/X.500 and RFC822 mail systems and developed IP and ATM stacks.
- Fairly extensive mathematical and theoretical expertise in automata,
operating systems, theorem provers, function minimisation, etc.
- Expertise working with international standards (ISO, CCITT, ATM Forum).
- Detailed knowledge of the Windows Media content delivery stack,
including Windows Media DRM and MMS.
- Compiler front-end (C, C#, Java) and back-end expertise,
specifically a good working knowledge of the GNU toolchain.
- Web applications and web services.
- Extensive Transputer and Occam experience (less useful these
days, but somewhat applicable to Tilera-type devices).
CVs for our software design team are available.