Mbed OS 2 and Mbed OS 5
This is the handbook for Mbed OS 2. If you’re working with Mbed OS 5, please see the Mbed OS 5 documentation. For the latest information about exporting to offline toolchains, please see Exporting to third party Toolchains.
Our goal with mbed is to enable a consistent and stable fully integrated development platform that just works. This helps provide a consistent context for development, code sharing, and questions and answers with other developers that helps you be more productive, especially when prototyping.
However, the mbed C/C++ SDK used with the mbed Online Compiler is also compatible with a number of other popular ARM microcontroller toolchains!
If you'd like to use the mbed C/C++ SDK with an alternate tool, or migrate to one as your project develops past prototype, you can choose to export an mbed project for the toolchain of your choice:
- Exporting to uVision
- Exporting to Eclipse IDEs (LPCXpresso, Kinetis Design Studio, etc)
- Exporting to Make (GCC ARM Embedded, Code Sourcery)
- Exporting to IAR Embedded Workbench
- and others such as Atmel Studio and more.
This helps give you the flexibility to use the mbed libraries and resources with other toolchains, and also can help as you move your prototype in to production.
It's also possible to synchronize code between an exported project and the online compiler. For more information, look at Offline development and debugging in the mbed Docs.
Please note, changing the compiler toolchain introduces many degrees of freedom in the system; these differences include the translation of C/C++ code to assembly code, the link time optimizations, differences because of the implementations of the C standard libraries, and differences based on compile and link options. It also makes it a lot harder to share code and questions with other developers, as the context needs to be shared too!
Whilst we support exporting your project and the libraries to an alternate toolchain, we cannot guarantee the same consistency as using the mbed Online Compiler. We will do our best to maintain the exported libraries, project file and makefiles, but please understand we can not cover all cases, combinations or provide support for use of these alternate tools themselves!