How did the first real-time embedded system also produce the first timing bug?

It's over 40 years since one of the first real-time operating systems was designed for the first computer using integrated circuits. What happened to this operating system in action is a fascinating tale.
Read More

Unboxing the new RTBx

Christmas came early at Rapita this year with the unboxing of the new RTBx 2220 datalogger.
Read More

What happened first? Handling timer wraparound

Suppose you had to determine which of two timestamps occurred first. Clearly the “obvious“ approach is to use a simple numerical comparison, for example:
Read More

Function pointers and their impact on stack analysis

Function pointers present a real problem for static code analysis, including when calculating stack usage. Understanding software stack requirements is an activity that is required for several standards/guidelines including DO-178B and DO-178C. Nevertheless function pointers are supported and therefore prevalent in most system-level languages (C and Ada both have them, whilst they are used all the time with C++).
Read More

Optimising for code size might not do what you expect - a GCC and PowerPC example

Getting tracing libraries to run on a new system is hard, but it's something that we regularly have to do here at Rapita as part of our support for timing analysis on diverse platforms. In the past few weeks I've been experimenting with creating a tracing library for Freescale's P4080DS development board, which comes fully loaded with an 8 core P4080 SoC and plenty of trace options, including Aurora based NEXUS tracing, multiple ethernet links and lots of DRAM.
Read More