0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LPCCappuccinoの開発環境構築まで

Last updated at Posted at 2025-02-14

LPCCappuccino

Strawberry Linxが2013年から販売している、手頃な価格のオリジナルマイコンボード。
ArduinoIDEではサポートされていない。

チップ

NXP社 LPC11U37

レイアウト

ACアダプタ端子、microSDカードソケットも実装されている。
image.png

I2C液晶(オプション)

別売のI2C液晶ユニットを基板上に実装できる。手頃な価格で、デバッグなどに便利。
基板のドレスアップにもなる。

下端着色部は押してはいけない。薄いガラス板がちょっと浮いた構造になっているので、押すとすぐに割れ断線する。緑の基板部を押して,基板ピンに装着する。

image.png

組み立て

DCブラケット,ピン、ソケットをハンダ付け。
それぞれ、1ピンをハンダ付けしたら、位置、角度を確認して調整。
I2C液晶ユニットは、下辺のソケットのみが基板とつながっているだけて不安定なので、上辺を支える脚として、粘着テープ付きの4mmスペーサの頭をカットしたものを貼り付ける。

I2C液晶ユニットのソケットをハンダ付けする際、ハンダの量に注意。多すぎるとソケット内にハンダが流れ込み、ピンがささらなくなる。

ボード本体には粘着テープなしの4mmスペーサを脚として付けた。
image.png

開発環境 MCUXpressoIDE

StrawBerry LinuxのLPCcappuccinoサポートサイトではNXPのLPCXpresso IDE向けのテストプロジェクトを配布している。LPCXpresso IDEは本来有償のIDEで、アカウント登録後アクティベーションが必要である。無償アクティベーションでは機能制限があるし、有償は$495.00~と,そこそこの値段である。
一方、おなじNXPが、無償のIDE MCUExpressoIDEも配布しており、将来的にはこれがメインストリームになるように思われる。NXPも新しいプロジェクトにはMCUXpressoを推奨している。
「However we no longer recommend the use of LPCXpresso IDE for new projects, either in Free Edition form or the paid-for Pro Edition. MCUXpresso IDE has now replaced LPCXpresso IDE as the recommended software development toolchain for our Cortex-M based LPC microcontrollers, as well as for our Kinetis MCUs and i.MX RT crossover processors.」
試してみたところ、 MCUExpressodIDEでも、StrawBerry Linuxからダウンロードしたテストプロジェクトを問題なくビルド出来た。

Strawberry Linux テストプロジェクトのビルド

Strawberry LinuxのLPCCappuccino製品ページから、テストプロジェクトのアーカイブをダウンロードする。

MCUXpressoIDEを起動し、Quick Start PanelのImport project(s) from file systemをクリックする。
Project archive(zip)にダウンロードしたテストプロジェクトのアーカイブを指定して、「Next>」ボタンをクリックする。
image.png
cappuccinoプロジェクトが選択されているのを確認して「Finish」ボタンをクリックする。
image.png

ワークスペースにcappuccinoプロジェクトが取り込まれる。
image.png

プロジェクト・プロパティのMCU Settingsで確認したところ、詳細な型番はLPC11U37/501に設定されている。これで搭載メモリの量とアドレスが判る。
image.png
image.png

テストプロジェクトを選択して、Quick Start PanelのClean、Buildを順にクリックすると、BUILDが実行される。
image.png
ステッピングドライバなどの周辺機器を繋いでいない場合、このままでは実行時にエラーになリ、途中で止まってしまうので、L6470ステッピングドライバデモ関数とSDカードデモ関数の呼び出しを外して、再度ビルドする。
image.png
USRボタンを押しながら、USBでPCにLPCCappuccinoを繋ぐと、「CRP DISABLD」と言う名前のフォルダとして認識されて、explorerが開くので、そこにあるfirmware.binを削除しておく。
Buildがうまく行っていると、プロジェクトのDEMOフォルダのcappuccino.binが更新されているので、これを、上記「CRP DISABLD」フォルダにドラッグ&ドロップして書き込む。
image.png
LPCCappuccinoのRSTボタンを押すと、explorerが閉じ、LPCCappuccino上で書き込んだプログラムの実行が始まる。SDカードスロットの上の赤いLEDが点滅していれば、うまく実行されている。
image.png
オプションの液晶があれば「LPCcappuccino! StrawbwrryLinux」と2段に表示され,バックライト付きであれば,白いバックライトも点滅する。
image.png

ライター・デバッガ

ライター・デバッガとして、トラ技ライター、LPCXpresso LPC1200搭載のLPC-LINK V1を用いてみた。

新たに、ライター・デバッガを入手する場合は、後述のAE-LPC11U35を使って作る仮想COMポート付きデバッガの方が、安価かつ高機能である。

どちらも、同じような機能/使い勝手なので、いずれか1つ有れば事足りる。LPC1200は秋月のセールで1000円と、極安価ではあったものの、もう売り切れで入手が困難である。また、基板のターゲット部分を切り落とす手間がある(基板センターラインで断線するだけでも可)。2025年2月現在、トラ技ライターは、基板だけならマルツで、書籍「mbed×デバッガ!一枚二役ARMマイコン基板」CQ出版、としてならアマゾン、CQ出版オンラインショップで入手可能である。基板だけの方が少し安いが、デバッガとして使うためのアプリケーションが付いていない。書籍の付属CDには収録されているので、自分で開発/BUILDできない場合は、書籍版の入手が必要となる。
書籍版の場合、自分でピンヘッダ等をハンダ付けする必要があるが、デバッガとして使うだけなら、USB端子、ボタンスイッチ2個、ピンヘッダまたはソケット2個(CN4、CN5)だけで間に合う。その他のピンヘッダは使わない。CN4(SWD 1.25mmピッチ2×5ピンヘッダ)、USB端子以外はたいして難しくない。CN5でターゲットと接続するなら、CN4も不要。
下図は、ターゲット部を切り落として、断面にL型8PINソケットを実装したLPCXpresso LPC1200のST-LINK/V1部(上)と、組み立てたトラ技ライター(下)。L型8ピン・ソケットのピン配置はどちらも同じ(写真では点対称)。
image.png

LPCCappccinoとデバッガの接続

SWD接続を行う。LPC11U37のデータシートでSWDのPIN配置を調べたところ、SWDIOはPort0の15番ピン、SWCLKはPort0の10番ピンに割り当てられていた。
image.png

「LPC11U3x Product data sheet Rev. 1 — 20 April 2012 © NXP B.V. 2012.」より抜粋

そこで、下図の5箇所のポートを接続する。

デバッガVddを、LPCCappuccinoのVではなくEXTに繋ぐと、ターゲットCPUには給電されるが、I2C液晶には給電されないので、注意する。

image.png
配線後、デバッガをUSBで、MCUXpressoが動いているPCに接続し、Quick Start PanelのDEBUGをクリックするなどして,デバッグを開始する(ツールバーの虫ボタン、「Run」メニューの「Debug As 」→「MCUXpressoIDE LinkServer」でも同じ)。初回は以下のデバッガ選択ダイアログが出て来るのでOKボタンを押すと、ビルド、書き込みの後、デバッグ画面に切り替わってプログラムが起動し、最初の行で実行が一旦停止した状態になる。その後は、ステップ実行や指定行まで実行、マウスホバーによる変数インスペクト等の機能を使って,デバッグ実行ができる。
image.png
image.png

仮想COMポート付きデバッガ

以下の「なんとなく活動記録。」の「CMSIS-DAPよりもDAP-LINK(LPC11U35編)」という記事により、秋月から販売されている安価なマイコンボードAE-LPC11U35とオープンソースプロジェクトのDAP-LINKを使って、仮想COMポートをサポートするデバッガが作れると言うことを知り、早速AE-LPC11U35を取り寄せた。

AE-LPC11U35の両側に15ピンソケットを実装。
Aruduino nanoとほぼ同じサイズだが、nanoより3mmほど短く,3mmほど幅が広い。非常にコンパクト。
image.png

image.png
下記より、DAP-LINKの最新(と言っても2022年2月)リリースREL v0257の「0257_release_package_gcc_c782a5ba.zip」をダウンロードして、その中の[0257_lpc11u35_ssci1114_0x0000.bin」というファイルを、AE-LPC11U35にD&Dで書き込み。

AE-LPC11U35への書き込み手順は、AE-LPC11U35に同梱されているカードに詳細が記されているが、リセットボタン押し→ブートセレクトボタン押し→リセットボタン放し→ブートセレクトボタン放し→firmware.bin削除→プログラムbinをドロップ、とLPCCappccinoと同様の手順。
その後、PCにUSBで接続し直すと、デバイスマネージャで、ユニバーサル シリアル バス デバイスにWebUSB:CMSIS-DAPが追加される。
image.png
また、デバイスマネージャのポートにも、新しいUSBシリアルデバイスタイプの仮想COMポートが追加される。このCOM番号(図では"COM32")は,後でMCUXpressoのターミナル接続で使うので控えておく。
image.png

同じところからダウンロード出来る「0257_release_package_armclang_c782a5ba.zip」、「0257_release_package_armcc_c782a5ba.zip」にも同名のファイルが入っているが、いずれも、AE-LPC11U35に書き込んでPCに接続しても、ユニバーサル シリアル バス デバイスとして認識されなかった。

上述のネタ元記事「CMSIS-DAPよりもDAP-LINK(LPC11U35編)」によると、DAP-LINKのピン配置は以下のようになっている。

			PIO0_7	SWCLK
			PIO0_8	SWDIO
			PIO0_18	RX
			PIO0_19	TX
			PIO0_2	RESET

LPCCappuccinoとAE-LPC11U35の接続

ターゲット側のシリアル接続ポートは,デバッグ対象のプロジェクト毎に異なる。

LPCCappuccinoのテストプロジェクトのソースを見てみたところ、デバッグライトを書き込むシリアルポートは、Port-1の13番ピン(TX)とPort-1の14番ピン(RX)に割り当てていた。
image.png
image.png
そこで、以下のように配線を行う。

デバッガとターゲットではSerialのTXとRXをクロスさせる。

image.png
image.png
配線後、AE-LPC11U35をUSBで、MCUXpressoが動いているPCに接続したら、まず、ターミナルを仮想COMポートに接続する。
image.png
ターミナルの接続先に、DAP-LINKの仮想COMポート番号を選択する。
image.png
トラ技ライターと同じ手順でデバッグを実行する。
image.png
ターゲット上でシリアルポートにデバッグライトが書き込まれると、MCUXpressoのターミナルにその内容が表示される。
image.png

NXP純正デバッガMCU-LINK PRO

NXP純正デバッガMCU-LINK PROは、仮想COMポート、I2CとSPIのブリッジをサポートする。
但し、ターゲットに給電できない。
PCに接続すると、デバイスマネージャで、COMポート2つと、ユニバーサルシリアルデバイス1つが追加された。
image.png

COM Port2の方は最新のFirmwareに更新した後に出てきたもので、J26コネクタの4番(RX)、5番(TX)ピンに割り当てられているらしい。
使用方法はAE-LPC11U35とDAP-LINKで作った、仮想COMポートをサポートするデバッガと同じ。

MCU-LINK PROとLPCCappuccinoの接続

MCU-LINK PROには、JTAG端子、SWD端子があり、両ケーブルも付属するが、LPCCappuccinoにはどちらも直接つながらない。
JTAG用には、バラのソケットピンケーブルも付属するが、SWD用はないので、SWD-JTAG変換ボードに10ピンソケットを実装したものを間に入れる。
デバッガから給電されないので、LPCCappuccinoには、ACアダプタを繋いだ。
各ボードのデバッグに関係するピンは以下の通り。
image.png

そこで以下のように接続した。
image.png

image.png

LPCOpenコードサンプル

Quick Start PanelのImport project(s) from file systemで、LPCOpenのコードサンプルプロジェクトを取り込むことができる。
image.png
Import project(s) from file systemダイアログでProject archive(zip)のBrowseボタンをクリックすると、MCUXpressoインストール先のアーカイブフォルダが開く。
image.png
LPCOpenフォルダを開き、一番下のlpc_openV2_03_lpcxpresso_nxp_lpcxpresso_11u37h.zipを選択する。
image.png
image.png
[Next」ボタンをクリックしたダイアログで、インポートするプロジェクトを選択し、「Finish」ボタンをクリックすると、ワークスペースに選択したプロジェクトが取り込まれる。

lpc_chip_11ux_libとnxp_lpcxpresso_11u37_board_libは必須なので,未取込の場合は必ず含める

image.png
image.png

サンプルプロジェクトを利用する際には、プロジェクト・プロパティのMCU Settingsで詳細な型番をLPC11U37/501に設定し、搭載メモリ量とアドレスを、LPCCappuccinoに合わせる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?