Embedded Programming

Call: +44 (0)23 8098 8890
E-mail:

ITDev is expert at developing embedded software and firmware for a range of operating systems, microprocessors and microcontrollers.

We are frequently contracted to implement complex algorithms on embedded targets with strict criteria for performance and timing.

Limited System Resources

Embedded systems are often characterised by limited memory and CPU performance, and may have a requirement for low power consumption. We use various techniques to develop high quality code efficiently in these situations, including:

  • Identifying and removing bottlenecks with performance analysis and tracing tools.
  • Using low-level languages such as C or assembler for greater control over resource usage.
  • Developing unit tests to quickly verify software modules on higher performance machines.
  • Tuning code for low memory usage and looking for memory leaks using tools such as Valgrind.
  • Preventing memory leakage by using static allocation if necessary (for example in a safety critical application).

Time-Critical Systems

We use timing diagrams and state-transition diagrams to document the timing requirements for applications where precise timing is essential. We can recommend an operating system or microkernel for the project based on this analysis. For real-time applications this might be a Real-Time Operating System (RTOS). We can architect the system, and develop the software code and the related test harnesses to achieve the required timings and performance.

Typical Platforms

  • ARM, MIPS, Motorola, ST, TI, Microchip...
  • Arduino
  • Xilinx MicroBlaze (Softcore Processor)
  • Xilinx and Altera FPGA (see Electronics Overview)

Typical Operating Systems

  • Embedded Linux
  • Android
  • FreeRTOS
  • μC/OS

Latest Blog Posts

Partial team photo summer 2018
Posted 7th September 2018, By Jon O
Claudine was one of our interns this summer. Having had an enjoyable experience she captured a summary of her time at ITDev and agreed we could share it. Here' ...more
Posted 24th August 2018, By Ross L
This blog describes how ITDev have solved the complex problem of keeping their development team right up-to-date with (ever improving) development processes ...more
Posted 27th July 2018, By Steven S
We often work on client projects that use the Linux operating system (OS), either as a desktop operating system or on their embedded system. The core of the ...more
Balancing the benefits of contractors vs consultants
Posted 19th June 2018, By Jon O
Recently I was in discussion with a potential client about the challenges he was having with resourcing one of his projects. His automatic assumption was to ...more

Latest News

IBC 2017 Registration queue
Posted 10th September 2018
The Broadcast and Pro-AV industries are key markets for us and some of our clients. In recognition of this we plan attendance at key industry events like ISE ( ...more
Welcome meal photo
Posted 7th August 2018
As mentioned in our last news item, we have 3 summer interns working with us for 10 weeks over the summer. We combined a celebration of their joining the team ...more
Posted 13th July 2018
With our success in recruiting two graduates already this summer and the imminent arrival of 3 summer interns, we've had to make some rearrangements in the ...more
Posted 15th June 2018
Demonstrating our commitment to providing opportunities for growth and responsibility, and to meet with Health & Safety requirements, two staff have the ...more