Mbed announces completely new development tools

Mbed announces completely new development tools

Technology News |
By Ally Winning

The current tools around the Mbed IoT operating system will stop, with a completely new set for the latest version of the operating system in the next few months. Over 450,00 developers use the technology with 150 boards.

“We’ve been working on the next version of the Mbed Tools for some time now, and believe now is a fine time to share additional details about why we’ve been working on new tools, the design goals of the new tools, and how we’ll be rolling the new tools out,” said Jaeden Amero, Principal Software Engineer at Arm.

“As we’ve built and maintained our Mbed Tools for a number of years now, we’ve come to understand that Mbed Tools and their integration into the Mbed Online Compiler have a number of limitations,” he said. The main challenge is the Online Compiler, where the tool has to support all versions of Mbed OS 5.x and 6.x operating system, currently at version 6.1. It isn’t feasible to change the Online Compiler to use the Mbed Tools shipped with the Mbed OS version the compiler is targeting. The version of Mbed Tools that the Online Compiler use are the naturally the ones from the latest Mbed OS version.

This limits the testing that can be done with the tools for each new release. While there is some automated software testing of the Mbed Tools and the Online Compiler with multiple versions of Mbed OS. Unfortunately, the test system takes around 16 hours to run and provide feedback. This leads to a very error prone and manual release process.

“Given this release overhead, we are too busy making releases to improve the tools,” said Amero. “ It’s really inefficient to work on the tools now: high effort, for a low return on that effort. The tools have become an unmaintainable mess within which we can’t improve anything, including maintainability, as we are too busy trying to keep up with maintenance.”

The existing tools are also not well defined, and there are no clear public interfaces, documentation or tests. This is a classic example of an open source eco-system that has evolved.

“We took the drastic decision to rewrite the tools, something one should do rarely and as a last resort,” he said. These are tested with Mbed OS 6.x throughout development, with a focus on unit testing over integration testing.

This will also include a well-defined and documented set of interfaces for all the tools, as well as providing clarity around which boards are supported and work with which versions of Mbed OS.

Another goal is to have a dedicated test suite for the tools, rather than indirectly testing the tools through Mbed OS tests. These tests must test more than just the current version of Mbed OS.

“While performance is a highly desirable characteristic, it will be second to maintainability. Incidentally, even though we didn’t prioritize it, performance with the new tools is no worse than the existing legacy tools and should continue to improve over time,” he said.

Mbed plans to share more details on how to use the tools when the documentation becomes available, although there are details in the new Mbed Tools repository where minimal instructions are available.

The existing tools will freeze with the next release, 6.2 (version 6.1 was released at the beginning of July 2020). “This will free up bandwidth from maintaining and releasing the tools so we can get these new tools in place in a reasonable amount of time,” said Amero. Changes to the legacy Mbed Tools are limited to absolutely critical issues only

No future releases of the online tools are planned. The new tools will be available for use with the Mbed 6.x operating sysem and Studio (which will replace the online compiler) within the next few months and can be used alongside the existing development tools in the same development environment without conflicting with each other.

“Finally, we will switch entirely to the new tools. The legacy tools will be unsupported at this point. The legacy tools will not be guaranteed to work for building the latest Mbed OS version after this point,” said Amero. But he is aware of the challenge.

“We aren’t going to get this perfect from the get go,” he said. “There are gaps in everyone’s understanding of what these tools do and how they do it. Everyone has a particular corner-case that’s critical to their workflow.”

Related Mbed IoT articles 

Other articles on eeNews Europe

If you enjoyed this article, you will like the following ones: don't miss them by subscribing to :    eeNews on Google News


Linked Articles