LPC812をmbedライブラリを用いて開発したかったので、mbedライブラリのビルド方法を調べました。
事前準備
- Python2.xのインストールとパスの設定
- Keil MDK-ARM v5のインストール
インストール方法
基本は高橋さんの記事のとおりですが、少々変更点があります。
Windows上でARMCCを用いてビルドするに必要なこと
LPC812のビルドはARMCC(Keil MDK-ARMに入ってるコンパイラ)以外ではできません。 よって高橋さんの記事を参考に、以下のビルドコマンドでビルドを行います。
$ python workspace_tools\build.py -m LPC812 -t uARM
しかし、以下のエラーが出てビルドができません。
[WARNING] Using default settings. Define your settings in the file "workspace_tools/private_settings.py" or in "./mbed_settings.py" Building library CMSIS (LPC812, uARM) [Error 2] 指定されたファイルが見つかりません。 Completed in: (0.01)s Build failures: * uARM::LPC812
-vオプションを付けて問題の詳細を確認し、printデバッグで調べたところ、どうやらコンパイラの場所指定がおかしいことがわかりました。 もう少し調べてみると、mbedライブラリではMDK-ARM v4を前提としており、加えてデフォルトではMDK-ARMではなく、スタンドアローンなARMCCを用いるようになっていました。
当該ファイルは workspace_tools\settings.py
です。
これをMDK-ARM v5を用いるよう、以下のように書き換えます。
diff --git a/workspace_tools/settings.py b/workspace_tools/settings.py index 3444f86..23090c1 100644 --- a/workspace_tools/settings.py +++ b/workspace_tools/settings.py @@ -30,13 +30,14 @@ ROOT = abspath(join(dirname(__file__), "..")) BUILD_DIR = abspath(join(ROOT, "build")) # ARM -armcc = "standalone" # "keil", or "standalone", or "ds-5" +armcc = "keil" # "keil", or "standalone", or "ds-5" if armcc == "keil": - ARM_PATH = "C:/Keil_4_54/ARM" - ARM_BIN = join(ARM_PATH, "BIN40") - ARM_INC = join(ARM_PATH, "RV31", "INC") - ARM_LIB = join(ARM_PATH, "RV31", "LIB") + #ARM_PATH = "C:/Keil_4_54/ARM" + ARM_PATH = "C:/Keil_v5/ARM" + ARM_BIN = join(ARM_PATH, "ARMCC", "bin") + ARM_INC = join(ARM_PATH, "ARMCC", "include") + ARM_LIB = join(ARM_PATH, "ARMCC", "lib") elif armcc == "standalone": ARM_PATH = "C:/Program Files/ARM/armcc_4.1_791"
あとは再度、以下のコマンドを実行すればビルドが完了します。
$ python workspace_tools\build.py -m LPC812 -t uARM