A new Mbed OS directory structure

In the past few releases, we have brought in changes to the Mbed OS directory structure to consolidate each functional area under the top-level directory.

We created a storage and a connectivity folder at the same level as existing core libraries: drivers, platform, rtos etc., with all the different sub-components (storage components or connectivity stacks) underneath.

Each logically separate unit, that can be an abstraction layer, a library or any software component follows a consistent structure, with public and internal headers clearly separated. Tests for each library are hosted in its specific “tests” directory and the top level test directory is used for integration and system level tests.


One obvious benefit is that the directory structure is easier to navigate and the Mbed OS Apis are simpler to integrate and use. Another major driver for this change was to simplify the build architecture in order to support our new build system based on CMake.

When we switch to the new build system, we will perform a final clean-up to remove magic names (COMPONENT_xxx, FEATURE_xxx) that our current mbed build system relies upon.

We are pleased with the new cohesive and modular directory structure which will give us a good platform for evolving Mbed OS.

Please submit your feedback and questions on Mbed OS support forum.

You need to log in to post a discussion