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 News

Mentor - the missing piece of the puzzle.
Posted 13th November 2017
As a business, we are committed to the future of engineering in the UK. As part of this commitment, we look to engage with local universities at various levels ...more
Southampton Careers Fair
Posted 26th October 2017
Having reviewed our strategic plans we are pleased to have published our vacancies for graduates and summer internships for 2018. As a company, we invest time ...more
Photo of IBC
Posted 13th September 2017
ITDev is excited to announce that its specialist video technology division, Imicast, is presenting Imicast Impulse™ in the Ruby Lounge, between Hall 8 and Hall ...more
Cyclists
Posted 6th July 2017
The fitness, performance and health of athletes has never been of greater interest to sports fans as it is today. With the range of sports statistics currently ...more

Latest Blog Posts

Posted 26th October 2017, By James H
Even in the most expertly designed critical, real time operating systems have some “gotchas”. The most infamous is “priority inversion”. This article outlines ...more
Posted 19th October 2017, By James H
Disabling interrupts can cripple system responsiveness. This article discusses how RTOSes minimise interrupt disabling to give the best possible response time ...more
Starting line
Posted 12th October 2017, By James H
In the embedded world, the use of a real-time operating system (RTOS) is commonplace, and with the advent of the Internet of Things (IoT) they are becoming ...more
A Google self-driving car at the intersection of Junction Ave and North Rengstorff Ave in Mountain View.
Posted 4th October 2017, By James H
Critical systems must meet deadlines reliably. A driverless car must stop in time to avoid collisions, so how does it try to ensure this? This blog is the ...more