MbedからLPCXpressoへのエクスポート

やりたいこと

Mbedのオンラインコンパイラで作成したLPCマイコンのプロジェクトをエクスポートしてLPCXpressoにインポートしたい。

以前はエクスポート時の選択肢にLPCXpressoがあったのだけど、今はなくなっている。代替手段を見つけるのに手間取ったのでメモする。結論だけ知りたい方はこちら

失敗その1:MCUXpresso向けにエクスポートする

現在は、エクスポート時の選択肢の中にLPCXpressoの代わりにMCUXpressoがある。MCUXpressoはLPCXpressoの後継となるIDEである。なのでMCUXpresso向けにエクスポートして、MCUXpressoにインポートするのが正解のはずである。しかしこれはうまくいかない。

MCUXpressoを選んでエクスポートを実行すると、「少しお待ちください…」のままいつまでたってもエクスポートが完了できないのである。これはまあ、失敗というより不具合だろう。

f:id:licheng:20190808213050p:plain

f:id:licheng:20190808213105p:plain

失敗その2:Make-GCC-ARM向けにエクスポートする

エクスポート時の選択肢で「Make-GCC-ARM」を選んでMakefileプロジェクトとしてエクスポートし、LPCXpressoにMakefileプロジェクトとしてインポートすることを試みた。インポートじたいは成功した。しかしLPCXpressoでビルドしようとすると「Program "make" not found」というエラーになる。Windows環境ではmakeがないためだ。そこでWindows版のGNU Makeをインストールしてみたが、こんどはビルド途中でなんか「No such file or directory」でエラーになる。どうもこの方法はスジが悪そうなのでここで断念。

失敗その3:Mbed CLIを使う

別のアプローチとして、Mbed CLIを試してみた。Mbed CLIとはMbedのオフライン開発のためのコマンドラインツールである。まずはこれをインストールした。Mbed CLIを使ってMbedのプロジェクトをローカルにダウンロードするには、プロジェクトをパブリッシュし、Mbed CLIの mbed import コマンドでそのURLを指定する。

しかし、これがやたら時間がかかる。ただのLチカのプロジェクトをダウンロードしたら2ギガバイト以上もあった。フォルダの中身を見てみたら、ありとあらゆるターゲットのためのありとあらゆるファイルが含まれていた。もうね、アホかと。

しかもその挙句、mbed compileコマンドでビルドを試みると、「mbed.h が見つからない」などというエラーが発生するのである。mbed exportコマンドでMCUXpresso向けにエクスポートし、MCUXpressoにインポートすることも試してみた。インポートじたいは成功したが、やはりビルドは失敗。心が折れたのでここで断念。

結論:GNU ARM Eclipse向けにエクスポートする

LPCXpressoにGNU ARM Eclipseプラグインをインストールし、MbedからGNU ARM Eclipse向けにエクスポートしたプロジェクトをLPCXpressoにインポートする。このやり方で成功した。おそらく、MCUXpressoなど他のEclipseIDEでも同じやり方ができると思われる。

手順(1) Mbed CLIのインストール (2019/08/19 追記)

Mbed CLIのインストールをインストールしておく。下記サイトからインストーラをダウンロードしてインストールする。
github.com

手順(2) GNU MCU Eclipse Windows Build Toolsのインストール (2019/08/21 追記)

GNU MCU Eclipse Windows Build Toolsを下記サイトからダウンロードし、zipを展開して中のbinフォルダを適当な場所に配置する。また、そのパスを環境変数PATHに追加しておく。
github.com

手順(3) GNU ARM Eclipseプラグインのインストール

LPCXpressoにGNU ARM Eclipseプラグインをインストールしておく。メニューの 「Help」>「Install New Software」で「Add」をクリックして、下記のように入力する。

f:id:licheng:20190809092957p:plain:w500

すると、「GNU ARM C/C++ Cross Development Tools」という項目が表示されるので、これを選択してインストールする。

f:id:licheng:20190809094919p:plain:w600

手順(4) GNU ARM Eclipse向けにエクスポート

Mbedのオンラインコンパイラでプロジェクトを選択して、右クリックメニューから「プログラムのエクスポート」を選択する。するとターゲットとツールチェインを選択するダイアログが出るので、ツールチェインの選択肢から「GNU ARM Eclipse」を選択して、エクスポートする。するとローカルにzipファイルがダウンロードされる。

f:id:licheng:20190809104425p:plain

手順(5) LPCXpressoにインポート

LPCXpressoのQuickstart Panelで「Import project(s)」を選択する。「Project Archive(zip)」の欄で、手順(2)でダウンロードしたzipファイルを選択し、インポートする。

手順(6) ビルドとデバッグ

プロジェクトの「Properties」の「C/C++ Build」の「MCU settings」で、ターゲットのMCUを選択しておく。この設定をしないと、デバッグ時に「No MCU associated with this project.」というエラーが出る。あとはLPCXpressoの通常どおりの操作でビルドとデバッグができる。

f:id:licheng:20190809113949p:plain:w600