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

JonO interviewing Matthew
Posted 30th June 2022, By Jon O
30th June and it's Matthew's 2 year anniversary of joining as a full-time member of staff. Matthew spent 2 summers working for us as an intern before joining ...more
Our product development process
Posted 24th September 2021, By Steve W
In his first in a series of blogs addressing the product development process, Steve looks at how to avoid the pitfalls ...
An empty office and desserted Science Park
Posted 29th January 2021, By Jon O
Having started 2021 much as we ended 2020, we thought it would be good to look back to before the pandemic and reflect on how the year turned out against ...more
Higher level testbench reusing lower level components
Posted 5th January 2021, By Tom J
ITDev recently engaged with an ASIC design company. This blog outlines our verification strategy, and how our knowledge of UVM allowed us to achieve high test ...more

Latest News

Posted 28th July 2022
Here's a short report on our attendance at the ECS Taster week Careers Fair On Tues 26th July. A chance to promote industrial opportunties to year 11 students ...more
Variety is the spice of life
Posted 15th July 2021
The newly re-modeled cafe on the Science Park has put us in a culinary mood but keep on reading and you'll see there's another reason why we chose a spice rack ...more
Supply chain management
Posted 7th June 2021
Recent activities in May include focusing on a number of product development enquiries, helping an aerospace client with support issues and starting ...more
Deep tech
Posted 10th May 2021
News this month includes details of further engagement with our client on Android audio device driver development and a new partnership with the world’s first ...more