LPCXpresso NXP LPC1769で遊んでます。(1)
先日秋月で買ったLPCXpresso NXP LPC1769の設定メモです。
CodeRedのインストールから、FreeRTOS上のUSB仮想シリアルポートでPCと通信ができるところまで持っていきます。
CodeRedのインストール
パッケージに巨大な説明書が入っているので、その通りCodeRedをインストールします。
CodeRedへのRTOSのインポート
正規の手順が判らなかったので、適当に設定してます。間違ってたらごめんなさい。
- FreeRTOSの7.0.0をダウンロードします。http://www.freertos.org/titleからFreeRTOSV7.0.0.zip ダウンロードして、展開しておきます。
- FreeRTOSの共通ファイルを展開します。FreeRTOSV7.0.0\DemoCORTEX_LPC1768_GCC_RedSuiteの中にある、CreateProjectDirectoryStructure.batを実行します。
- FreeRTOSをインポートします。CodeRedからImport→FreeRTOSV7.0.0ディレクトリを選択して、先ほど共通ファイルを展開したDemoCORTEX_LPC1768_GCC_RedSuiteのみをチェックしてインポートします。
- ビルドします。main.cで#errorが出るので、コメントアウトしてから再ビルドします。
以上で問題なくビルドできました。
LPC1769でのテスト
とりあえず、LPC1769でRTOSを起動します。
- Ethernetの設定がまだなので、uIpタスクをコメントアウトしておきます。LCDも繋がってないので、コメントアウトしても良いかもしれません。
// xTaskCreate( vuIP_Task, ( signed char * ) "uIP", mainBASIC_WEB_STACK_SIZE, ( void * ) NULL, mainUIP_TASK_PRIORITY, NULL );
- 再ビルドして、Debug As.. MCU Applicationで実行します。
- main関数の適当なところにブレークポイントを仕掛けて、引っ掛かれば動いてると思われます。
USB communications device classの有効化
USB CDCを使えるようにします。これができると、USB接続したPCとLPC1769の間で仮想シリアルポートが使えます。
工作編
- LPC1769にUSBコネクタを接続します。USBコネクタはその辺の機器から剥ぐか、買ってきてください。
- LPC1769のJ6-36(USB D-),J6-37(USB D+),J6-54(GND)を、それぞれUSBコネクタに接続します。ピンアサインは、http://ics.nxp.com/support/documents/microcontrollers/pdf/lpcxpresso.getting.started.pdfを参考にして下さい。
- 完成したら、インストール編に移ります。
インストール編
USBケーブルは、LPC-Link用とLPC1769用に2本必要です。
- USBケーブルでLPC-LinkとPC、LPC1769とPCを、それぞれつなぎます。
- LPC1769の電源を入れて、CodeRedからFreeRTOSを起動します。
- Windowsがデバイスを発見します。
- Windows7の場合、USB Serialのデバイスドライバが見つからないと怒られるので、Blog not foundのdownloadからVCOM_lib1.3.rarをダウンロードします。ダウンロードぺージは→Downloads - cortex-m3-tutorials - A place to share the knowledge about Cortex-M3 based microcontrollers - Google Project Hosting
- Windowsのデバイスマネージャで、USBSerialに!マークがついてるので、デバイスの更新でVCOM_lib1.3.rarの中にあるusbser.infを選択してドライバを更新します。
- デバイスをインストール後にLPC1769を再認識させると、COMポートが見えるようになります。
- TeraTermなどでUSBタスクと通信できます。デモでは、Aを押すとBを返す、一文字づつずらして返すプログラムになっていました。