Arm has announced the launch of Mbed OS 5.14, the first in the 5.14 point-release branch of its popular open source Internet of Things (IoT) focused embedded operating system, and in doing so has confirmed a shift in focus: From this point on, developers will concentrate on feature refinement and optimisation, rather than the addition of new features.
“In the three years since we released Mbed OS 5, we’ve focused our engineering efforts on adding the feature set an IoT operating system requires,” writes Arm’s Andy Powers in the company’s launch announcement. “We’ve invested in connectivity, security, device management and storage. That investment has paid off. Mbed OS and Pelion Device Management now have most of the features required to develop, deploy and manage an IoT device.
“In recent months, our engineering focus has shifted from feature development toward feature refinement and optimisations that will improve your developer experience. Many of these improvements come from direct engagement with Arm customers who are looking to deploy IoT devices at scale. The 5.14 release is the first of our regular Mbed OS releases throughout the coming months to include these improvements and optimisations.”
The biggest change in Mbed OS 5.14 comes from an effort to bring clarity to the difference between public and internal application programming interfaces (APIs) available in the platform.
“The public API — the interface — is guaranteed to be backwards compatible for minor and patch releases. It is well defined and well documented to make it easier for developers to use the code. In comparison, the internal API hides the implementation details, and can change from one release to the next,” Arm’s Evelyne Donnaes explains. “Making a clear separation between public and internal APIs allows user applications to depend on the interface — the public API — and not the implementation.”
Another shift comes in the move away from standard printf statements for debugging, in favour of a shift to an Mbed-specific “minimal printf” which reduces dependencies and drops the size of the Blinky example from 54kB to 31kB when compiled with GCC. Mbed OS 5.14 also adds support for the Microchip AT608A secure element, which Powers describes as “the first of many” such secure elements to be supported in the platform, while a new library adds Message Queuing Telemetry Transport (MQTT) support.