You are viewing an older revision! See the latest version
mbed SDK
The mbed Software Development Kit (SDK) is a C/C++ microcontroller software platform relied upon by tens of thousands of developers to build projects fast. We've worried about creating and testing startup code, C runtime, libraries and peripheral APIs, so you can worry about coding the smarts of your next product.
The SDK is licensed under the permissive Apache 2.0 licence, so you can use it in both commercial and personal projects with confidence.
The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
Hello World!¶
Startup code, check. C Library integration, check. Peripheral libraries, check. We've worked hard to help you get to the point:
High-level Peripheral APIs¶
The mbed SDK gives you an API-driven approach to microcontroller coding.
We've done all the hard work of implementing drivers for the different mbed Microcontrollers, so you don't have to. It is liberating to fire up an interface, knowing it'll just work!
You can code using meaningful abstract objects and API calls, so you don't need to learn the microcontroller hardware details to get going. and there is even a "Hello World!" example for every peripheral, just to get you started before you know it.
Take a look at some of these interfaces to get a feel of how it works: DigitalOut, AnalogIn, SPI, USBMouse, Timer, CAN
But if needed, you can always bypass the APIs and talk directly to the microcontroller hardware using the low-level Cortex Microcontroller Software Interface Standard (CMSIS) APIs. Ideal when they are fine for most of your project, but one aspect needs specific low-level control.
For all the mbed C/C++ SDK APIs, see the mbed Handbook

Support for Multiple Toolchains¶
Our goal with the mbed Compiler and mbed SDK 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 Microcontrollers or mbed C/C++ SDK with an alternate tool, or simply migrate to one as your project develops past prototype, you can choose to export an mbed project to the toolchain of your choice by right-clicking on them in the IDE.
You can read more about this on the Exporting to offline toolchains handbook page.
See also¶
Check out the rest of the mbed platform, and Explore what it can do for you!