©

Embedded Software.

Tetra-H has a unique approach to rapid and efficient embedded code development.

There are two traditional approaches to embedded software development. The use of an off-the-shelf operating system, or the development of code on a bare system, sometimes called bare metal design.

Use of an operating system has many advantages, in particular the ability to write software and interface and debug immediately, within the security of a known environment. Secondly, it allows for a library of standard off-the-shelf processing items. However, it has two serious drawbacks. First, it will always have processing overheads, which handle many tasks less efficiently.

This may be very acute in terms of a real-time system, where accurate timing requires considerable development and may not be possible for timing at the μs level. Secondly, an OS may require licensing or royalties for libraries which you may choose to use.

When those libraries are not quite as required, then the development (and security) advantage is lost by making them fit accordingly. Consequently, OS based solutions may be quicker to set up but difficult to extend performance or adapt to specific real-time requirements.

As an alternative, a bare metal system requires careful and diligent development, without the framework of any secure libraries or debugging tools. Indeed, just to create a reliable ‘Hello World’ program may take far too much time. Thereafter, additions or core algorithm changes can be equally difficult. Complex designs make reliability and testability a serious challenge.

The advantage, of course, is a lean, fast, and ‘simple is beautiful’ approach to algorithms. Moreover, real-time performance may easily be implemented right down to system clock accuracy. Together providing the best processor architecture to performance ratio, lowering costs, simplifying EMC and moreover, delivering a custom, bespoke product which will be difficult for competitors to challenge.

Despite these advantages, the far longer development cycle and lack of ‘off the shelf’ components and development tools mean bare metal designs are not often employed, and then only for simpler systems. Complex systems being considered out of scope for this approach.

Tetra-H has an alternative approach using tried and tested in-house development tools to allow the construction of a bare metal system with minimal input. In fact, a simple Hello World control program can be built to run on an empty microprocessor system in a matter of minutes.

It is also designed in a way which can grow organically, so aspects of the design can be added at a later stage, with only incremental increases in design requirements. Providing an implementation in a standard C programming language, this method has been used successfully for hundreds of deployed microsystems.