このブログは、サーバー代など、運営費のため広告やアフェリエイトがあります。
大変申し訳ありませんが、ご理解よろしくお願いします。

このブログは、サーバー代など、運営費のため広告やアフェリエイトがあります。
大変申し訳ありませんが、ご理解よろしくお願いします。

秋月で買ったLPC2148評価ボードでLチカ

スポンサーリンク

こんにちは。Yukiです。
今回は秋月で買ったLPC2148評価ボードで、まずはLチカをしていきたいと思います。

まずはLチカとか言っていますが、実はLチカで終わる可能性があります(オイッ)

なんでこのマイコン?

秋葉原にある秋月の2階で安売りしていました。ネットの価格は1200円(2024/11/17現在)でしたが、なぜか長期保管品ということで200円で売っていました。

スペック

ROM 512kB (おそらくFlashの容量)
RAM 32 + 8 kB
GPIO 45
10bit ADC 14
10bit DAC 1
電源 3V~3.3V

なかなか良さげな感じなのですが、アーキテクチャがARM7(DS Liteとかゲームボーイアドバンスなどに採用されていたアーキテクチャ)なので、そこそこ古いです。今更こんな古いマイコンつかってもって感じはしますが、どうせ安売りしてたんだし使おうってことで買いました。

必要なもの

このマイコンはUART通信で書き込めるので、USB-UART変換器が必要です。(もしくはRS232搭載PCとかで変換基板でもOKです)

今回はWCH-LinkEを使いました。

(広告 AliExpress WCH-LinkE)

環境構築

これが一番めんどくさかったです。

まずは、統合開発環境のインストールをします。

今回は入れるソフトはLPCXpresso IDE です。今回は v8.2.2を入れました。

LPCXpresso IDE v8.2.2
The popular Free Edition has been enhanced to include many features previously only available in the premium Red Suitepr...

なんか新しいソフト(MCUXpresso IDE)を入れたほうが良い的な記述がありますが、MCUXpressoはLPC2148に対応していないので、使えません。(騙された)

まずは、ダウンロードします。右上のダウンロードを押して、少し下に行くと、ダウンロード画面があります。

ログインを求められるので、ログインします。(アカウントを作っていない人は作ってください)

ここは、使用しているOSを選択してください。今回はWindowsです。

読んでから同意してください。

今回はV8.2.2を選択。

インストールが終わると、こんな画面になります。最初に使うとエラーになると思いますが、これはライセンスが適用されていないよってエラーです。(Freeライセンスでも取得しないといけないっぽいです。面倒)

とりあえずOKをクリック。

Help → Activate → Create Serial Number and register (Free Edititon)… を選択。

シリアルナンバーが出てくると思うので、これをコピーしてください。

昔は、ソフト内のWebブラウザーが出てきて、ライセンス認証ができたっぽいのですが、今はできなくなっています。ということで、普段使っているブラウザで行います。(今回はChromeを使用)

Loading...

ログインすると、こんな画面に飛ばされるかと思います。
もちろんアクティベーションキーなんてないので、横のActivateを押します。

さっき出てきたシリアルナンバーを入力して、REGISTER LPCXPRESSOを押します。

そうすると、LPCXpresso Activation keyが出てくるので、これをコピー

LPCXpressoに戻り、 Help → Activate → Activate(Free Edition)… をクリック

さっきコピーしたアクティベーションキーを入力して、OKを押します。

そうすると、License Type がFULL になり、Debug limitが256kまで増えます。

ソフトの再起動を求められるので、Yesで再起動。

Activatedとか出てきたら終了です。

次に、プロジェクトを作ります。 File → New → Project… をクリック

C/C++ → LPCXpresso C Projectを選択
(C++をつかっている人は、下のLPCXpresso C++ Projectを選択)

次に、使用するマイコンの設定をします。

今回は、LPC2000/LPC3000 → LPC21/LPC22/LPC23/LPC24 → C project を選択して Next

Project NameとLocationを設定します。今回は変更していますが、特に変更する必要がない人は不要です。 設定したら Next

どっかにLPC2148があるので、探してクリックして Next
(赤くなっているのは、ROMが512kBあるのに、Licenseでは256kBしか使えないためです。今回はしょうがないのでこのままでOKです)

Code Read Protect(CRP)のチェックを外して、Finishを押します。(正直やらなくてもいいかもしれませんが、今回はチェックを外しておきます)

横にプロジェクトができてると思うので、src/main.cを開きます。

次に、このマイコンのレジスタアドレスが書かれたヘッダファイルをインクルードします。

なぜかこのIDEに入っていないので、ネットから探してきて入れます。

Single-chip 16-bit/32-bit microcontrollers; up to 512 kB flash with ISP/IAP USB 2.0 full-speed device 10-bit ADC and DAC
Single-chip 16-bit/32-bit microcontrollers; up to 512 kB flash with ISP/IAP, USB 2.0 full-speed device, 10-bit ADC and D...

下の方のダウンロードの一番下にあります。 LPC21xx/22xx 2104/5/6 revision defect (with software)をダウンロードして下さい。

ZIPファイルを解凍すると、色々出てきますが、今回はLPC21xx.hをコピーもしくはD&D

今回は面倒だったのでsrcフォルダにD&Dしました。Copy Filesを選択し、OKをクリック。

次に、Lチカのプログラムを書きます。

今回は、評価ボードに乗っているLEDをLチカします。
回路図を見ると、P0.7ということがわかるかと思います。

ということで、リファレンスマニュアルとか見ながら、こんな感じで書きました。

#include "LPC21xx.h"

int main(void) {
	
	//P0.7を出力に
	IO0DIR |= (1 << 7);

	while(1){
		IO0SET |= (1 << 7); //P0.7をHIGH
		for(volatile int i = 0; i <= 100000; i++); //適当に待つ
		IO0CLR |= (1 << 7); //P0.7をLOW
		for(volatile int i = 0; i <= 100000; i++); //適当に待つ
	}
	return 0 ;
}

次に、コンパイルするのですが、なぜか初期状態でコンパイルしてもHEXファイルやBINファイルが出てこない意味不明仕様なので、変更します。

プロジェクトのところを右クリックして、Properites… を開きます。

C/C++ Build の Settings を開き、上のタブのBuild Stepsを開きます。 Post-Build stepsのCommandのところにあるEdit… をクリック。

#がついている行があると思いますが、arm-none-eabi-objcopy -v -o binary “$ ・・・
と書かれている行の # を消してください。

確認が出てくるので、OK

これで、コンパイルすると、binファイルが出力されます。

ちなみに、コンパイルはLPCXpressoのトンカチ🔨マークです。

次に、マイコンに書き込むソフトを入れます。色々あるみたいですが、今回はFlash Magicを使います。

Welcome - Flash Magic

Downloadをクリック。

適当なバージョンのやつをクリックしてインストールします。今回は Version 13.65を選択。

個人的にここ注意なのですが、Install NXP USB Driversはチェックを外してください
自分の環境だけかもしれませんが、マウスやキーボードとかの標準UIDデバイスのドライバがすべて書き換えられて、操作できなくなりました。(Chromeリモートデスクトップをつかってなんとか解決しましたが…)

配線

ようやくですよ…。このマイコンなかなか手ごわいな。(あとつかっている人が少なすぎる)

書き込みはUARTで出来ます。

今回はWCH Link-Eを使いました。
P1(基板の三角マークが付いている方)から、9/10ピンがそれぞれTXD/RXDです。ややこしいですが、UARTはそれぞれ逆に配線するので、 WCH Link-EのRX側が9ピン TX側が10ピンに入ります。

あとは電源です。このマイコンは3.3Vを入力します。これも面倒だったのでWCH Link-Eから取りました。電源はGNDがP1(基板の三角マークが付いている方)から1ピン (三角マークのところに指しておけばOK) 3.3Vは反対側 (P2の1ピン)に挿しておきます。

見えにくくてすみません…

プラスで、RESETボタンを付けておきます。リセットは適当にプルアップして、スイッチを付けておいてください。 あと、P2の方の11ピンがISPというピンになっていて、このピンをGNDにしてから、リセットをかけると、プログラム書き込みモードになります。このピンにもスイッチを付けるかジャンパ線を出しておいてください。

ここまでを完結にまとめると

P1 9ピン TX (向きに注意)
P1 10ピン RX (向きに注意)
P1 1ピン GND
P2 1ピン 3.3V
P1 4ピン RESET プルアップしてボタンをつなげておく
P2 11ピン ISP 基板上でプルアップあり。ボタンをつなげるかジャンパ線を出しておく

(まあ多分こんなマイコン買うのは、回路がそこそこできる人だと思うので大丈夫だとは思いますが)

プログラム書き込み

次に、プログラムを書き込みます。

FirmwareのBrowse… から先ほどコンパイルしたbinファイルを選択します。

次に、書き込むマイコンの設定をします。
DeviceのChange…から、LPC2148と検索して、選択します。

シリアルポートの設定を合わせてから、Startボタンを押します。
(基本的にボーレートを自動で合わせてくれるっぽいのでなんでも大丈夫です)

キターーー

いやー道のりは長かった。(リアルで4時間くらいかかってます)

おわりに

初めてNXP社のマイコン使いました。

ピンの指定が P0.7ってのが個人的には新鮮。(なんかどっかのマイコンメーカーも同じような書き方だった気がしたけど忘れた)

なかなか楽しいマイコンでした。多分来週は無理ですが、余力があればPWMとかADCとかも試しに書いてみるかもしれません。(ってもう今週かw)

参考になったら、コーヒー1杯奢ってくれるとうれしいです
Buy Me A Coffee
電子工作
スポンサーリンク
シェアする
denshi1996をフォローする
スポンサーリンク

コメント

タイトルとURLをコピーしました