mbedオンラインコンパイラ上のmbed LPC1768向けプログラムを、オフラインコンパイラMDK-ARM v5.17でデバッグしてみました。
#前提
mbed LPC1768のプログラムをMDK-ARMでコンパイル
使うデバイスは、mbed LPC1768。
MDK-ARMは、v5.17。
μVision4でデバッグ!を参考にしました。
#デバッガを選択
Project -> Options for Target... を選択します。
DebugタブのUse:を選択して、CMSIS-DAP Debuggerを選択します。
#デバッグ実行 ... NG
Debug -> Start/Stop Debug Sessionを選択します。
すると、、、エラーorz
Load "C:\\...\\mbed_blinky\\build\\mbed_blinky.axf"
Internal DLL Error
Error: Flash Download failed - Target DLL has been cancelled
Flash Load finished at 20:48:09
デバイスとプリンターで確認すると、デバイスにMBED CMSIS-DAPが存在していません。
入っているファームウェアが、CMSIS-DAPに対応していないようです。
#CMSIS-DAP対応のファームウェアに書き換え
Firmware LPC1768 LPC11U24のDownload latest firmwareをクリックして、最新のファームウェアをダウンロードします。
ダウンロードしたファイルをmbedドライブへコピペして、USBを抜き差しします。
デバイスとプリンターで確認すると、未指定にMBED CMSIS-DAPが表示されました。(表示位置が予想と違っていた。)
#デバッガを選択(2回目)
Project -> Options for Target... を選択します。
DebugタブのUse:を選択して、CMSIS-DAP Debuggerを選択します。
CMSIS-DAP Debuggerの右側にあるSettingsをクリックすると、接続しているデバッガが確認できました。
ここのSW Deviceにそれっぽいものが表示されていれば、uVision5からデバッガが認識できています。
#デバッグ実行(2回目) ... NG
Debug -> Start/Stop Debug Sessionを選択します。
すると、、、エラーorz
LPC_IAP_512.flmというファイルが存在していません。
MDK-ARM v4.xに同封されているファイルのようですが、ネット漁っても見つからず。
Wataraiさんに質問したところ、なんと即答(!) いつもありがとうございます。
#MDK v4 Legacy Support for Cortex-M Devicesをインストール
MDK v4 Legacy SupportのMDK v4 Legacy Support for Cortex-M Devicesをクリックしてダウンロード、インストールします。
#デバッグ実行(3回目)
Debug -> Start/Stop Debug Sessionを選択します。
動いた!!!
#まとめ
- デバイスとプリンターで、MBED CMSIS-DAPが存在しているか確認する。(なければファームウェアをアップデート)
- C:\Keil_v5\ARM\FlashにLPC_IAP_512.FLMがあるか確認する。(なければMDK v4 Legacy Support for Cortex-M Devicesをインストール)