Mbed OS5 からSW4STM32にエクポートしてビルドすると、mbed_toolchain.hの下記の行で「'asm' undeclared」というエラーが発生する。
#define MBED_COMPILER_BARRIER() asm volatile("" : : : "memory")
ビルドに用いるコンパイラの違いによるものである。下記のように修正するとビルドが通るようになる。
#define MBED_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory")
【ネタ元】
mbed os5 からSW4STM32にエクポートしてビルドするときmbed_toolchain.hの中で#define MBED_COMPILER_BARRIER() asm volatile("" : : : "memory") を
— doku38 (@doku38) 2019年11月29日
__asm__ __volatile__ に書き換えてコンパイルは通った
Open OCDのバイナリが見つからないのはプロジェクトプロパティのConfigでパスを指定し直し