A client had a very cost sensitive product which used as small microcontroller with code written in assembler. It basically worked but was difficult to support and had bugs. They were keen to port it to C but concerned that this would causet a large increase in code size and slow the code down. With our knowledge of assembler, the C compiler and the processor architecture, we were able to assure them that the code size increase would be no more than 10% and that timing would not be an issue.

We completed the porting of the code in two weeks. Code size and timing targets were met without problems. The bugs were eliminated too! The handover to the client included a full code walk-through, details of critical timing-sensitive parts of the code and compiler / linker settings so that the client's engineers were confident they could support the code.


We can provide embedded C and assembler coding especially for code which requires knowledge of the underlying hardware and the compiler / linker. An obvious example of this is writing device drivers but includes code optimisation, memory-use optimisation and minimising device power consumption. 

We have written Linux device drivers, drivers for complex ASICs and FPGAs, filters for DSPs and complete board support packages (BSPs). We also write straightforward well documented C code. We have extensive experience in writing for safety critical applications to rigourous coding standards.