Embedded Software Development

We’ve developed software for a wide range of embedded devices, including TV, Set Top Boxes (STB), Gateway and IoT devices.

Our Embedded Software Development expertise

We use SOCs from a number of silicon vendors, such as Amlogic, Realtek, ST, NXP, Broadcom, Qualcomm and Texas Instruments.

Blue Amlogic Logo

Developing software for embedded systems requires working within constrained memory and CPU environments. To meet this challenge, we can cross-compile for the target architecture, and use libraries optimised for footprint size, such as uClibc, eglibc, bionic, LwIP, and Mongoose web server.

We have extensive experience in developing software for very low-level drivers and high-performance routines written for MIPS, ARM, x86, Neon and SSE assembler.

The language we use for development depends on the project requirements. Much of our software development work uses C and C++, but if the embedded system needs to support hardware-independent applications, we use a language with an interpreter or virtual machine to abstract the underlying CPU architecture, such as Java, JavaScript or Python.

Curious to learn more about Embedded Software Development? Get in touch.

Embedded layers and security

A broad area of software development, embedded software is critical to the functioning of a wide range of devices in many industries. Consult Red has a long track record in developing embedded software solutions in consumer electronics, industrial devices, health, and telemetry amongst others.

At the heart of many devices that do not look like computers is software that integrates different devices and provides functionality that we rely on. Embedded software has many layers of software development, from low level device drivers to abstraction layers, providing commonality of interfaces to higher levels of code.

At each embedded layer, various tool chains may be available, and these will assist in working with the various constraints that define the embedded environment. Time critical functions require understanding of real time operating systems. Safety critical systems may require redundancy of function and majority voting or switching of components to ensure a fail-safe solution.

In order to provide end-to-end security in a system the embedded solutions must also support roots of trust and integrate hardware security components into their development tool chain.

When navigating these, and many other, constraints and requirements of embedded software development a partner that has deep and current knowledge of the available technology and the requirements for end-to-end solutions can be invaluable. Consult Red to develop that robust and timely solution.

Curious about Embedded Software Development? Get in touch.

Contact Us

Get in touch with us and a member of our team will get back to you shortly.