作成日:2013-5-22

LPC-Link2を各デバッガにしてデバッグする その1
〜Redlink & LPCXPresso, CMSIS-DAPデバッガ & Keil, SEGGER J-Link & Keil〜

LPC-Link2の配値/ピン 及び ジャンパーの設定を確認する

LPC-Link2は、「Redlink」, 「CMSIS-DAPデバッガ」 及び 「SEGGER J-Link」になります。それぞれのデバッガとして使ってみます。
まずはLPC-Linkの構成をみてみましょう。LPC-Link2と一緒に下記カード(図1)が入っています。オレンジのコネクタ:J7 が 10ピン Cortex Debugコネクタ(1.27mmピッチ)、 コネクタ:J8 が 20ピン Cortex Debug + ETM(トレース)コネクタ(1.27mmピッチ)。他のグリーンのコネクタはデバッガとしては使いません(将来、アドオンボードでは使います)。 J7 のデバッガ用コネクタですが、このコネクタを入手するのは結構大変です。コネクタケーブルをお持ちでない方は、J6 のLPCXpresso JTAGヘッダ(2.54mmピッチ)にピンを立てて使ってください。 J7のピン配は、LPC-Link(LPCXpressoボードのデバッガ)と同じピン配です(図2)、詳細は回路図を参照ください。図3は回路図の JTAG/SWD/TRACE Interface 部分の抜粋です。 次に、ジャンパー JP1 と JP2 を見てみましょう。JP1 は「Close」にすると、外付けのSPIからSPFIブート(SPIをクアッドモードでブート)、「Open」でUSB DFUでブート。 JP2 は「Close」にするとデバッガ/トレースのVccピンに 3.3V が供給されます。


図1:LPC-Likn2 同梱カード

LPC-Link2を「Redlink」として使う

「Redlink」として使う
「Redlink」はLPCXpresso IDEと一緒に使います。LPC-Link2に対応したLPCXpresso IDEは v5.1以降。ここでは v5.2.2 を使用します。LPCXpresso IDEのインストールとアクティベーション方法はこちら、 LPCXpressoのノートはこちら。「Redlink」は LPC-Link 2 configuration tool は使いません
ちなみにターゲットデバイスとサンプルは以前の「LPC810 (= DIP8_ARMマイコン) + LPCXpresso」で,Lチカ (LED点滅)プログラムを動かしてみる を使いました(図4)。 LPC-Link2の JP1は「Open」、ブレッドボードにLPC-Link2から電源を供給したかったので JP2 は「Close」にして、PCとUSBで繋ぎ、LPCXpresso IDEの「Debug」を実行。 Buld終了後、図5、図6、図7 が出て、図7で「アクセスを許可する」をクリック、デバッグモードに入ります。この先は通常のLPC-Linkと同じです。


LPC-Link2を「CMSIS-DAPデバッガ」/「SEGGER J-Link」にする

※重要:LPC-Link2への推奨書き込みツールは、「LPCScrypt v1.5 または それ以降」になりました(2015.6.3)、「LPCScrypt」のページはこちら、ドキュメントはこちら

「CMSIS-DAPデバッガ」と「SEGGER J-Link」にする準備
「CMSIS-DAPデバッガ」と「SEGGER J-Link」にするには、LPC-Link2のLPC4300をDFUモードにして、LPC-Link 2 configuration tool からイメージファイルを書き込む必要があります。
    1. LPC-Link 2 configuration toolをダウンロード、zipファイルを解凍する
        このページに、LPC-Link 2 configuration tool は DFUのUSBドライバMicrosoft .NET Framework 4 または それ以降が必要(Windowsのみ対応)
    2. LPC4300 DFU用のWidowsドライバ:WinUSB driver をダウンロード、インストール方法はこちら
        LPCXpresso IDE v5.0以降をインストールされている方はこのWinUSBドライバは一緒に入っています
        (C:\nxp\LPCXpresso_5.xxx\Drivers\lpc18xx_43xx_winusb_drivers_v1.00)
    3. Microsoft .NET Frameworkをダウンロード、インストール(.NET Framework 4 または それ以降)
    4. J-Linkを使用する場合 J-Linkのドライバ(Windows用)が必要、インストールされていない場合はこちらをダウンロードしてインストール、J-Linkとして使用する場合のライセンス/制限はこちら

「CMSIS-DAPデバッガ」/「SEGGER J-Link」にする
    1. 解凍した LPC-Link 2 configuration tool フォルダ内「LPC-Link 2 Configuration tool.exe」を開く
    2. Step1からStep3まで、ツールに書かれている設定を順番に行います
      • STEP1:
          1: [Select a Link2 program image]で 「CMSIS-DAP debugger image」または「J-Link debugger image」を選択
          2: Link2 の JP1 を Open にする
          3: USBケーブルで Link2 と PC を接続
          「STEP1」の背景が"赤色"に変わり、「STEP2」の背景が"緑色"に変わる(図8)
      • STEP2:
          1: 下にある「Program the Link2 with the currently selected image」ボタンを押す
          図9の様に「STEP3」内でイメージのダウンロード状況が出力され、"Image verified by read back successful" と表示され、「STEP2」の背景が"赤色"に変わり「STEP3」の背景が"緑色"に変わる
      • STEP3:
          1: Link2の JP1 を「Close」にする
          2: USBケーブルを LPC-Link2 から抜く
          これで、LPC-Link2 は「CMSIS-DAPデバッガ」または 「SEGGER J-Link」になりました!


Keil MDK-ARM(uVison)の上で「CMSIS-DAPデバッガ」/「SEGGER J-Link」としてデバッグ

ここでは、LPCXpresso LPC812 の Keil/IAR用サンプルプログラムを使います(上記のLPCXpresso IDEで "LPC-Link2を「Redlink」として使う" で使ったプログラムと同じ)。ここからダウンロード。 私が使ったのはv1.02。使うデバイスも同じ LPC810 で環境も同じ(図4)。
Keil MDK-ARMはv4.70以降が必要。 32KBサイズ制限版はここからダウンロード出来ます(必要事項記入用)。
    1. zipファイルを解凍し、フォルダ内の「LPC8xx_Keil.uvmpw」を開く
    2. プログラムを変更する
        プロジェクトの中に「blinky」というプロジェクトがあるので(一番上)、このプロジェクトを上記 LPCXpresso IDE同様、 「LPC810 (= DIP8_ARMマイコン) + LPCXpresso」で,Lチカ (LED点滅)プログラムを動かしてみると同じ箇所を変更する。 LPCXpresso IDEで「main.c」のファイルは「blinky.c」です(図10)。「system_LPC8xx.c」の場所は \\LPC8xx_Sample Software vx.xx\Common\src\system_LPC8xx.c です。
    3. 図10の[Blinky_Release]を「Blinky_Debug」に変更
    4. オプションを開き(図10参照)、設定を変更
      • [Device]タグ ->「LPC810M021FN8」を選択(図11)
      • [Debug]タグ -> デバッガの設定で「CMSIS-DAP Debugger」または 「J-Link/J-Trace Cortex」を選択し、横にある[settings]ボタンを押す(図12)

        ●LPC-Link2がCMSIS-DAPデバッガの場合
          1. [Debug]タグでデバッガが[LPC-Link-II CMSIS-DAP]になっている事と[SW Device]に[ARM CoreSight SW-DP]が現れている事を確認(図13)
              上記の表示にならない場合は、LPC-Link2 の JP1 が「Close」になっているか確認する。JP2 は電源。はそれでもダメな場合は LPC-Link2 が 「CMSIS-DAPデバッガ」になっているか確認
          2. [Flash Download]タブ ->「LPC800 IAP 16KB Flash」-> 「Remove」で削除し、「Add」->「LPC8xx IAP 4KB Flash」->「Add」で加える、「OK」ボタン(図17)
          3. 図14に戻るので、[RAM for Algorithm]の[Size]を「0x03E0」に ->「OK」ボタン

        ●LPC-Link2がJ-Linkの場合
          1. [Debug]タグでデバッガが[J-Link LPC-Link 2]になっている事を確認し、[Port]を「SW」に選択すると[SW Device]に[ARM CoreSight SW-DP]が現れることを確認(図15)
              上記の表示にならない場合は、LPC-Link2 の JP1 が「Close」になっているか確認する。JP2 は電源。 もし、J-Linkのドライバがインストールされていない場合は、ドライバを ダウンロードしインストール。それでもダメな場合は LPC-Link2 が 「SEGGER J-Link」になっているか確認
          2. [Flash Download]タブ ->「Add」->「LPC8xx IAP 4KB Flash」->「Add」で加える、「OK」ボタン(図17)
          3. 図16に戻るので、[RAM for Algorithm]の[Size]を「0x03E0」に ->「OK」ボタン

      • 図12に戻るので、ここも「OK」ボタン
    5. 図10に戻るので、「ビルド」(エラーが無いことを確認)->「ダウンロード」 ->「デバッグ」ボタンを順に
    これで、デバッグモードに入ります。





Segger J-Link & IAR EW-ARM に関しては、その2 で記載予定。
作成日:2013-5-22