Mbed OS examples

Hi Guys,

Do you have any Mbed OS examples ? This would be really cool and it would certainly interest a large existing community of Mbed makers. Not to mention the leveraging of existing sensor libraries.

I believe it would also open up the use of this module on Platform IO.

I guess at a very minimum exposing the LoRaWAN API to mbed would be required ?

Thanks,
Serge

1 Like

Hi Serge,

Yes, our module has enough power to run Mbed OS will run perfectly. Our module is one of the few with an Cortex-M4 running at 150 MHz, with 1MB of FLASH and 256KB of SRAM.

We will work on a Mbed OS implementation with Mbed OS examples soon. This page may be of interest for you as well.

Thanks!
Rolf

Thats page is great !! Now I am getting excited.

Serge

OK so I have gotten to the stage where I can compile blinky demo app and copy to the DAPLINK folder however the folder quicky fills up with a FAIL.TXT file containing the following content

error: The interface firmware FAILED to reset/halt the target MCU
type: target

I have tried a couple of different PSOC6 targets with the same results so at this stage I am at a loss.

Anyone else have more success ?

Thanks

And as a follow up running mbed detect revealse the following

[mbed] Detected K20 BOOTLOADER, port /dev/tty.usbmodem14402, mounted /Volumes/DAPLINK, interface version 0251:

[mbed] Supported toolchains for K20 BOOTLOADER

| Target | mbed OS 2 | mbed OS 5 | uARM | IAR | ARM | GCC_ARM | ARMC5 |

|--------|-----------|-----------|------|-----|-----|---------|-------|

Supported targets: 0

Hi Serge,

Maybe already some good news for you:

  1. Got an answer from the Mbed OS team:

In the simple, single core world, Mbed OS is built with the application into one image and loaded on the MCU in the standard ARM Cortex M way. The core starts up normally, loads reset vector, which then proceeds to setting up the HW, does a software setup, starts up our RTOS which executes user code. You’ll need to add bootloader for update capabilities, but basic usage doesn’t require it.

  1. We already worked on integrating our LoRaWAN stack with the PSoC64 MCU. I learned from the Cypress MCU team that PSoC64 will support Mbed OS. PSoC64 includes secure boot and ARM PSA by default.

Probably for now, 1 is the quickest route to go. I’m not yet familiar with Mbed OS implementation itself, but in my understanding one should be able to flash the M4 on our module with the combined image (Mbed OS with application).

Are there any single core PSoC6 MCUs / boards at Mbed OS you can select? And are you able to generate a combined image?

Hi,

I can compile the project the problem at the moment is being able to flash it.
There are only a couple of PSOC6 targets available and they are all dual core as far as I can tell. For example

https://os.mbed.com/platforms/CY8CKIT-062-BLE/

Serge

We got response from Mbed:

We have a porting guide here.
I’m afraid it’s not complete and has holes, so for sure you’ll need to look at how other boards are integrated. We are aware that some peripheral porting description is missing, as we are in slow progress of updating our HAL APIs (adding specification, tests and guides), but I’m sure other things are not described clearly enough as well. If When you find some gaps, we would appreciate feedback, so we can improve porting experience.

Let us know if you like to go this route and we’re willing to give you our support to help you with the integration.

Someone got mbed os examples working with the Onethinx module? I’m totally stuck here.

AM I right, that the Onethinx module does not support DAPLINK mode, since the required connection/pins is/are not provided by the devkit?

Hi Nitramin,

Unfortunately after several requests at MBed OS to receive a target / board ID we never received one from MBed and gave up on this.

Let me check again and try to get more info. I know someone finally got it running.

Best,
Rolf

Regarding DAPLINK, I never worked it, so I’m not quite sure on this.

It seems DAPLINK uses SWD which the default way to program our module on the DevKit.

The problem might be that our memory layout of the locked-stack is different than the target MBed uses, so until there’s no target implementation for our module on MBed, you need to manually do all the configuration.

Let me check and come back to you…

Thanks Rolf,
I really appreciate your efforts.
Since the module is a defined by the project and part of my thesis, I am pretty much dependent on Mbed OS functioning on the module.