mbedのクラウド・コンパイラが次のようなWarningを吐いてコンパイルできなくなることがある。

The build system is under heavy load right now. 
Compiles may take longer than usual.

10分もしないうちに復旧するが,コンパイル不能のまま待つのは長い。 mbedを学校の実習で使う場合,このコンパイラ不応答は10分でも辛い。 …と,言うことでmbedのオフライン開発環境を Em::Blocksで構築して見た。 Em::Blocksの初期設定とmbedクラウドからのプログラムインポートのやり方はこちらの先行事例を真似た。

mbedオフライン環境にEm::Blocks IDEを使う(Nucleo F401RE編)

先行事例の設定だとオブジェクトとしてelfファイルしか出力しないので,次の設定によりbinファイルも出力するようにした。

Build Option → Pre/post build steps → Post build steps で Disabled を Only on build に変更し,その下の入力エリアに次をコピーして貼り付ける。

arm-none-eabi-objcopy -O binary $(TARGET_OUTPUT_DIR)/$(TARGET_OUTPUT_BASENAME).elf $(TARGET_OUTPUT_DIR)/$(TARGET_OUTPUT_BASENAME).bin

この設定でelfとbinファイルが出力されるようになる。