5 years, 5 months ago.

Mbed OS physically located at .....

Hope my elementary questions do not embarrass me too much.

My questions are:

(1) Where is the Mbed OS physically located? Is it inside the Mbed-compatible hardware board?

(2) If answer to question number (1) is yes, does it mean that when I buy, for instance, a BBC Micro:bit , it already comes with the Mbed OS embedded inside? As a result, the Mbed OS is sitting there statically regardless how many times I have flushed compiled C++ hex files onto it?

(3) And if answer to question (2) is yes, does it mean that any new Mbed OS version release has no effect or benefit to a person who is building any project with an Mbed-compatible platform obtained earlier?

Just want to highlight I have visited all the sites I can find. Most of them talk about Mbed OS features and architecture. I cannot find any clear-cut description that settle my hazy understanding.

I appreciate any advice and comment. And if my questions do not make any sense, please fee free to point that out as well,

Big thanks in advance

1 Answer

5 years, 5 months ago.

Hi YK,

We encourage everyone to ask any questions about Mbed OS, so thank you for asking!

(1) Where is the Mbed OS physically located? Is it inside the Mbed-compatible hardware board?

Mbed OS is an open-sourced RTOS (You already knew that on our website), you can find the detail about what is RTOS on wiki https://en.wikipedia.org/wiki/Real-time_operating_system or Google. Basically, RTOS provides an environment(scheduling and some APIs) to run your application like Windows/Linux/OSX but it's not running on PC, instead, on MCU. That means you can develop your application on MCU without knowing the low-level knowledge. Mbed-compatible component/board means which is already supported by Mbed OS so you are able to build application on the board/using the component without porting driver by yourself(like the motherboard/ethernet card/graphic card are supported by Windows or other OS).

(2) ...

I believe when you get a Micro:bit, which surely already has a sample application inside, but it hasn't to be Mbed OS even it is mbed-compatible. There are other ways to develop application on MCU without Mbed OS, like non-OS(with a single infinite loop), or other RTOS, but I am sure the mbed-way is the easiest way for anyone.

(3) ...

So when someone build a hex, which will include user application code and Mbed OS in it, that means, if the person uses new Mbed OS version to build the hex, the platform definitely will be running the new Mbed OS.

I suggest you to start your journey from our examples https://os.mbed.com/teams/mbed-os-examples/code/, that would give you more sight of what Mbed OS is.

The answer is long, hope you would know Mbed OS more clear, please let me know if you have any further questions!

- Desmond, team Mbed

Many thanks, Desmond. Just one follow-up question (in order for me to be sure I have no misunderstanding);

So when I use the os.mbed.com on-line compiler to build my hex file, I am actually combining my source code with the necessary Mbed OS components, which are, all the time, located in the website for us to make use of?

By the way, I am also reading the links you have brought up in your reply. Thanks.

posted by YK Wong 15 Nov 2018

Hi YK,

Your understanding is correct. Besides Mbed OS components, you can also import other libraries with our on-line compiler. I will also recommend using our off-line compiler, which is mbed-cli, for more flexibility.

Please let me know if you have any questions!

- Desmond, team Mbed

posted by Desmond Chen 15 Nov 2018