7 years, 3 months ago.

Is there any actually working sample for MBED OS support with yotta and the target-efm32pg-stk-gcc?

We have been trying to get an mbed OS based sample up and running for the Pearl Gecko 3401 Starter Kit without any success. Other targets (and boards) work properly, so the setup is not really an issue (and we have tried pretty much any without success; local install different platforms, Docker ...).

Enabling the mbed functionality with the beta firmware and compiling a project is possible, however, the project binary that is built is not accepted by the device (neither with the Firmware Upload Utility from Simplicity Studio, nor through mbed USB mechanism).

Samples from Simplicity Studio and built with the Simplicity Studio are viable (they can be loaded and run).

Is there actually any working mbed OS/yotta sample that can be built and run on the Pearl Gecko (3401 Starter Kit)? Anything that we might have missed?

Note: I have also reported this question as an issue on the target itself: https://github.com/ARMmbed/target-efm32pg-stk-gcc/issues/1

Thanks in advance for any help, Dieter

Question relating to:

Silicon Labs a leading provider of microcontroller, sensing and wireless connectivity solutions for the Internet of Things (IoT).

2 Answers

7 years, 3 months ago.

Hi Dieter,

I will try to reproduce as soon as I can (our whole team is on a corporate event right now). In the meantime, can you please elaborate a bit on 'not accepted by the device'? Are there certain error messages you are seeing?

Accepted Answer

Hi Steven,

Using the mbed Environment (appears as drive), the yotta build binary is left as is on the drive; reset does not help.. A Simplicity Studio build binary is loaded and starts correctly.

With the Firmware Loader in Simplicity Studio you can see it loading the yotta build binary (progress) and then nothing happens.

There is no error message and I have not figured any means to understand what is going wrong or where to obtain error messages from. yotta debug does not connect either.

It would be great if you could help. Any hint is welcome.....

On the upside, I am getting good at Space Invaders ;)

Regards, Dieter

posted by Dieter Wimberger 23 Jun 2016


there was indeed an issue in the EFM32 Pearl Gecko startup file, with a naming mismatch on the vector table section. I have resolved it and pushed the fix. Please run yotta update and try again.

posted by Steven Cooreman 23 Jun 2016

Hi Steven,

Clean, update, build and works :)

Thanks for your quick reply and for fixing this issue.

Regards, Dieter

posted by Dieter Wimberger 23 Jun 2016
7 years, 3 months ago.

Hi Steven,

I am one of Dieter's co-workers, and I have posted a question regarding this issue also on the Silicon Labs Community Forum:


I am wondering about following question (and you should be the one able to answer it, because you uploaded the mbed enabled firmware ;-) ) ...:

Is mbed OS living in the device's firmware? Or is the OS part of the binary image produced by yotta?

If living in device firmware: Is the firmware v14p3b471 you uploaded only mbed classic, or is it mbed OS ?

regards, Michael

Hi Michael,

mbed OS is the software framework that is running on the device itself. In order to facilitate rapid development, mbed also specifies an mbed HDK, which basically entails that the interface chip on a development kit has to be able to program a device through drag-and-drop, and has to expose a serial port over USB.

The firmware image I posted is for the interface chip on the Pearl Gecko starter kit (thus not the Pearl Gecko itself), and enables those HDK features. It has as such nothing to do with the mbed OS that you are programming against, it is merely mbed trying to make your life as a developer easier :)

In short: what I posted is an update to the on-board debugger, whereas yotta produces the images for the MCU itself (to be uploaded by the debugger).

posted by Steven Cooreman 23 Jun 2016