The repository contains the Arduino APIs and IDE integration files targeting a generic mbed-enabled board
Clone the repository in $sketchbook/hardware/arduino
mkdir -p $sketchbook/hardware/arduino
cd $sketchbook/hardware/arduino
git clone git@github.com:arduino/ArduinoCore-mbed mbed
Then clone https://github.com/arduino/ArduinoCore-API in a directory at your choice. Checkout namespace_arduino
branch.
git clone git@github.com:arduino/ArduinoCore-API -b namespace_arduino
Remove the symlink to api
you can find in $sketchbook/hardware/arduino/mbed/cores/arduino
and replace it with a symlink to ArduinoCore-API/api
Open Arduino IDE; you should now see three new targets under MBED boards
label
Adding a target is a mostly automatic procedure that involves running https://github.com/arduino/ArduinoCore-mbed/blob/master/mbed-os-to-arduino after setting BOARDNAME
and ARDUINOCORE
env variables.
Actions marked as TODO must be executed manually.
Minimum Example: ./mbed-os-to-arduino -r /home/alex/projects/arduino/cores/mbed-os-h747 ENVIE_M7:ENVIE_M7
- Modify
mbed-os-to-arduino
mbed_compile () {
- PROFILE_FLAG=""
if [ x"$PROFILE" != x ]; then
PROFILE_FLAG=--profile="$ARDUINOVARIANT"/conf/profile/$PROFILE.json
export PROFILE=-${PROFILE^^}
+ else
+ export PROFILE="-DEBUG"
+ PROFILE_FLAG="--profile=debug"
fi
You can use this core as a standard mbed library; all APIs are under arduino
namespace (so they must be called like arduino::digitalWrite()
)
The opposite is working as well; from any sketch you can call mbed APIs by prepending mbed::
namespace.