Edited at

mbed LPC1768をMDK-ARMでデバッグ

More than 3 years have passed since last update.

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


BuildOutput

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をクリックしてダウンロード、インストールします。

LPC_IAP_512.flmが入りました。


デバッグ実行(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をインストール)