"No targets available" under build target after Mbed Online Compiler import. How to compile?

My project uses an old version of mbed-os (GitHub - geky/mbed: mbed libraries and tools (Classic). For mbed OS, look here: https://www.mbed.com/en/development/software/mbed-os/). It does not seem to contain essential build target information and therefore there is no target available to select under the tab in Studio Cloud. I used to manually specify the build target in the Mbed Online Compiler, but that does not seem possible with Keil Studio Cloud. I cannot find any documentation which helps.

Migrating to a new version of mbed-os will be very time consuming since lots of the functions in my project are now deprecated or unsupported.

Does anyone have any ideas on how to build my project in Keil Studio Cloud?

Hello,

it seems like the Mbed library was imported incorrectly or IDE does not support it. When I tried update to MbedOs 5.2 (or downgrade from MbedOS 6) then I see better result and the MbedOs version si not soo far.

BTW

For example?

BR, Jan

Could you try pointing at Mbed OS directly, rather than using a fork? It should be a case of changing the .lib file.

Hi JohnnyK,

Thanks for the reply.

I was hoping that someone would tell me I could manually specify the target, but it seems I need to import an up-to-date mbed-os and modify my code. I don’t know the full extent of changes I need to make, but a few functions are now unsupported:

  • wait
  • TCPServer doesn’t exist (now configured through TCPSocket)
  • Ticker needs chrono duration

Thanks

Thanks but pointing to the most recent version of mbed-os from mbed.lib did not make the targets appear. It seems the imported library needs to contain target files

Joe had good point. Delete the MbedOS lib from your project → import latest MbedOS from ARMmbed/mbed-os: Arm Mbed OS is a platform operating system designed for the internet of things (github.com) → downgrade it to an old one. I believe the MbedOS 5.2 is the closest one.

To be honest it is not so much work.
However all these APIs were removed in MbedOS 6 but all these old APIs are still available in MbedOS 5 only with a “deprecated” warning which can be ignored. So from my point of view you can safely use latest MbedOS 5.15.9.

BR, Jan

Hi JohnnyK. It took a few hours to modify the code and debug a strange error (running the motor in a high resolution step mode at max speed blocked incoming TCP messages - it didn’t use to). But now it works fine and with an up-to-date mbed-os library. Thanks for your help :slight_smile:

1 Like

That is nice and sounds like good progress, well done and good luck with it

BR, Jan