Now and then I get asked, “What do you do for a living?” to which I reply, “I'm an Application Engineer.” Like clockwork I get the standard response, “Ahem…(5-second pause) and what exactly is that? Do you build mobile apps?”
It all started a few years ago when the Future Airborne Capability Environment (FACE™) Integration Workshop Standing Committee released the Basic Avionics Lightweight Source Archetype (BALSA) example of a FACE Reference Implementation Architecture. BALSA is a software application containing Units of Conformance (UoCs) aligned to the FACE Technical Standard. Its purpose is to provide a working example to potential FACE Software Suppliers and FACE Software Integrators. It is also used as a teaching mechanism of how Units of Portability (UoPs), UoCs and FACE Application Programming Interfaces (APIs) can be realized on a potential system.
When I was first introduced to RTI Connext® DDS, it wasn't very long (after seeing the powerful tools) before I wanted to know how difficult it would be to implement domain introspection in its most basic form. Obviously tools, such as the Admin Console, are complex but that doesn’t mean that the basic principle on which they’re based – domain introspection – has to be. So I set about trying my hand at creating the simplest example of domain introspection that would have some demonstrable utility. This blog post covers my journey into this effort.
I, like many developers, have been in situations where I needed to take an existing application and make it faster–basically by removing slow code and replacing it with fast code. I know now to follow one simple rule when it comes to optimizing code:
Since we introduced the modern C++ API for DDS, we’ve seen a lot of interest from our customers. Several of them have started developing brand new systems in C++11. We’ve also been constantly improving the API and there are a few new features, big and small, that I wanted to talk about here.
As you might know, we ship a buildable source for RTI Connext DDS Micro so you can build it for your own architecture. In the past few months, we have noticed that customers are interested in building our product for microcontrollers without a Memory Management Unit (MMU), and they’re using a uClibc-based OS. The purpose of this post is to support this expressed need and illustrate how to port RTI Connext DDS Micro to uCLinux with relatively few changes. The development board that we will use in this practical example is STM32F769I-DISCO. You should be able to extrapolate it to any other board by knowing your toolchain. You can even extrapolate it to any other OS that uses uClibc!
Let’s get started.