Arm Mbed OS support forum

Keil uVision does not appear in MBED online compiler Export Toolchain list


Keil does not feature in the online MBED compiler.

I tried exporting programs with ‘uvision5 armc6’ which exists in the toolchain drop down, but 2 red lights illuminate on the board when loading from Keil, indicating that the program (which uploads fine from MBED) didn’t load properly from Keil. The board is a Nucleo F446RE and this appears in the right top corner of the Mbed online compiler v

Related online documentation seems to imply that Keil should automatically feature MBEDs toolchain drop down, so how do I get it there?

FYI I tried uploading the example blinky program from Keil directly to the board, an it appears to work, buy the two red lights remain on on the board.

Thanks for your help

Hi Phil, please could you share the link for the related document you mention? I suspect that the “Keil” exporter was renamed at some point in the past - probably when Arm Compiler 6 support was introduced.

Assuming your project builds correctly in uVision, then it sounds like there’s an issue with your flash/debug configuration there. Does the program load correctly if you “drag and drop” the binary built in uVision?


Hi Joe.

Apologies for the delay in reply. I wasn’t notified.

I’ve reverted back to using the online compiler without Keil, but miss debugging features. I tried an online version of Keil, but that didn’t appear to support the board.

The image shows available toolchains available. I tried exporting ‘uvision5-arm6’ which generates a zipped folder which, when unzipped, contains a .uvprojx file. This file can be opened in Keil, built, and then uploaded to the board. A simple program that turns on the green LED appears to work (verified in Keil’s ‘Build Output’ window), but the LED next to the USB port on the board (that flashes red and green when loading a program) stays red. This usually goes green after successfully uploading a program.

The official mbed library I imported from was dated 20 Feb 2019 (having been imported 415817 times previously) , but no clues are provided as to what version of mbed this library is.

Something else that isn’t helpful is that the documentation file attached to the imported mbed library in the online compiler is completely blank. The file name is ‘Documentation not ready’.

My latest problem is that RawSerial has been deprecated, and no useful mbed documentation seems to exist advising what to use instead of attach().

The documentation mentioned is here


Hi Phil,

Which board are you using?

The version of Mbed OS you imported is likely to be 5.11.x (maybe 5.11.4) judging by the release date. The releases are tagged in GitHub: Release mbed-os-5.11.4 · ARMmbed/mbed-os · GitHub

Prior to 5.13, Mbed OS used Arm Compiler 5 by default, and so it’s likely that the issues you’re seeing are related to the compiler version. The Mbed Online Compiler will correctly use the old Arm Compiler 5 toolchain for the version of Mbed OS you’re using, but later tools such as Mbed Studio or the current version of Keil uVision use Arm Compiler 6.

Try upgrading your version of Mbed OS to the latest stable release so that it builds with Arm Compiler 6 and see if that helps.


Thanks Joe. You were spot on. I was importing the mbed library from the Import Wizard. Instead I should be importing from GitHub’s URL ‘GitHub - ARMmbed/mbed-os: Arm Mbed OS is a platform operating system designed for the internet of things’.

1 Like