LPC11U35 QuickStart Board mbed SDK

LPC11U35 QuickStart Boardをmbed SDKで使ってみようと思います。
LPC11U35
まずは、サンプルコードを次のURLからダウンロードします。
http://www.embeddedartists.com/mbedsdk
http://www.embeddedartists.com/sites/default/files/ext/mbedsdk/mbed_test_130404.zip
IDEにはLPCXpresso v6.1.0_164を使用しました。LPCXpressoに新しいワークスペースを作成します。そしてImportでダウンロードしたmbed_test_130404.zipを読み込みます。
今回使うサンプルは、簡単なapp_ledを試してみます。Build Configurationsにqsb_lpc11u35を設定します。これだけではMPUの設定が変更されません。MPUをLPC1769からLPC11U35/401に変更します。
MPU

Pathが悪いのかBuildでエラーが出ます。
../main.cpp:1:18: fatal error: mbed.h: No such file or directory
mbed_test_130404.zipを解凍して、mbedフォルダをワークスペースの中にコピーします。これでもエラーが出るのでさらにapp_ledフォルダの中にもコピーします。Buildが通りました。binファイルのチェックサムをつけるためにProperties-Settingsの中のPost-buildのCommand欄を変更します。
checksum -p ${TargetChip} -d “${BuildArtifactFileBaseName}.bin”;
これに#がついてコメントアウトされているので削除します。再Buildして作成されたapp_led.binをUSB ISPでLPC11U24に書き込みます。めでたくLED点滅ができました。

http://akizukidenshi.com/catalog/g/gM-06948/
http://www.embeddedartists.com/products/boards/lpc11u35_qsb.php

LPC812 In-Application Programming (IAP)

LPC812-Xpressoを使いIn-Application Programming(IAP)のサンプルを試しました。IAPはFlush ROMの一部をユーザの保存領域としてプログラムから操作する機能です。アプリケーションの設定値の保存などにEEPROMの代わりに使用することができます。
LPC812XPRESSO
AN11388のアプリケーションノートに沿って作業しています。LPCXpressoのバージョンは今回 v6.1.0 を使用しました。LPC812_IAP_DemoのサンプルをまずLPCXPressoにインポートします。Flushへのアクセス中は、プログラムのFlushへの読み出しができなくなるので割り込みを使う場合、ベクタテーブルをROMからRAMに移しておく必要があります。よって「IRQ_HANDLER_IN_SRAM」のConfiguration設定でBuildしました。SRAMへの設定でベクタテーブル分で512バイトとIAP使用分が32バイト確保する必要があります。
MEM
サンプルでは、RTSとCTSの制御信号を使う設定ですが、実際には、繋いでいないので以下のスイッチマトリックスの設定部分は、コメントアウトしています。
// regVal = LPC_SWM->PINASSIGN0 & ~( 0xFF << 16 );
// LPC_SWM->PINASSIGN0 = regVal | ( 12 << 16 ); /* P0.12 is UART0 RTS, ASSIGN0(23:16) */
// regVal = LPC_SWM->PINASSIGN0 & ~( 0xFFUL << 24 );
// LPC_SWM->PINASSIGN0 = regVal | ( 13 << 24 ); /* P0.13 is UART0 CTS. ASSIGN0(31:24) */
今回は、HEXファイルをFlush MagicでLPC812に書き込むので以下CommandをPost-Build stepsに追加しました。
arm-none-eabi-objcopy -O ihex ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.hex ;
Flush Magicの画面です。
FM

ハイパーターミナルでの実行結果です。
HT
とても面白い機能です。

© 2014 Spineedge Corporation.