From 8128dd403fff5453c06508176084c61e139284d9 Mon Sep 17 00:00:00 2001 From: shintamainjp Date: Thu, 3 Mar 2011 15:01:55 +0000 Subject: [PATCH] =?utf8?q?LPCXpresso=20IDE=E4=B8=8A=E3=81=AE=E8=A8=AD?= =?utf8?q?=E5=AE=9A=E5=A4=89=E6=9B=B4=E7=AE=87=E6=89=80=E3=81=AA=E3=81=A9?= =?utf8?q?=E3=82=92=E7=A4=BA=E3=81=99=E6=9A=AB=E5=AE=9A=E7=9A=84=E3=81=AA?= =?utf8?q?=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1=E3=83=B3=E3=83=88=E3=82=92?= =?utf8?q?=E8=BF=BD=E5=8A=A0=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- asp/target/lpcxpresso1768_gcc/README | 115 +++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 asp/target/lpcxpresso1768_gcc/README diff --git a/asp/target/lpcxpresso1768_gcc/README b/asp/target/lpcxpresso1768_gcc/README new file mode 100644 index 0000000..23646f4 --- /dev/null +++ b/asp/target/lpcxpresso1768_gcc/README @@ -0,0 +1,115 @@ +=============================================================== + TOPPERS/ASP for LPCXpresso LPC1768 +=============================================================== + +1. はじめに + TOPPERS/ASP for LPCはTOPPERS/ASPをNXPセミコンダクターズの + LPCシリーズ上で動作するようにしたものです。 + + このターゲット(lpcxpresso1768_gcc)はEmbedded Artists社が開発 + したLPCXpresso LPC1768上でTOPPERS/ASPを動作させるために実装 + されています。 + + 従来は評価用ボードに加えて、JTAGデバッガ、環境構築など様々な + 準備が必要でしたが、このターゲットを使用することで簡単に実機 + 動作を体験できます。 + +2. 対応環境について + 2-1. ホストのOS + 環境はLPCXpressoが対応しているLinux環境に今回は限定しました。 + TOPPERS/ASPのビルドシステムにはシェルとperlに依存する箇所が + あります。 + Windowsでも様々な外部ツールを使って、依存する環境に近い状況を + 作り出す事が可能ですが、今回は作業負担を軽減させるために割愛 + しました。 + + 最近ですとVMware Player上で簡単にLinux環境が構築できますし、 + WindowsとLinuxの両環境で対応できるように沢山の時間をかけるより、 + 早く提供したいという思いが先行した結果でもあります。 + + 2-2. 動作を確認した環境 + 参考までに動作を確認した環境を記します。 + + * Ubuntu 10.10 + * LPCXpresso 3.8.2 [Build 129][31/01/2011] + * LPCXpresso LPC1768 REV A + +3. 公開当初からの変更点 + + 公開当初から幾つかの変更を加えてあります。 + + 変更は + * デバッグをIDE上でできるようにすること。 + * 極力TOPPERS/ASPのオリジナルとの差分を小さくすること。 + * LPCXpressoのみで実現可能なこと。 + を念頭に作業しました。 + + ソースコードとビルド用ファイルについては以下の変更を行っています。 + + * 元々あったlpc1768_sram.ldとlpc1768_rom.ldを削除しました。 + + * LPCXpressoが生成したDebugとReleaseのリンカスクリプトを使用 + しました。 + -> ENTRY(ResetISR)をENTRY(_start)に変更しました。 + -> STARTUP(start.o)を追加しました。 + -> __bss_start, __bss_endを追加しました。 + -> __idata_start, __idata_end, __data_startを追加しました。 + -> init_hook関数をPROVIDEで追加しました。 + -> .isr_vectorを.vectorに名称を変更しました。 + + * kernel/target/lpc1768_generic_gcc/Makefile.targetに以下を追加 + しました。 + -> CDEFS=-DDEBUG -D__CODE_RED -D__REDLIB__ + + * Makefileで生成されるオブジェクトの名称を変更しました。 + + * Makefileで生成されるオブジェクトの拡張子を変更しました。 + LPCXpresso上の実行設定は拡張子がaxfでないと、実行する度に新しい + 設定を自動的に生成してしまうようです。これを防ぐ狙いがあります。 + + * LPCXpresso IDE上でアーカイブプロジェクトzipファイルをインポート + すると全てのファイルの実行権限が落ちてしまいます。 + そこでMakefileにpermissionというターゲットを追加し、ビルド時に + 実行権限を立てるようにしてあります。(暫定対策) + + LPCXpressoのプロジェクトに対しては以下の変更を行って下さい。 + + * Debug ConfigurationsのDebuggerタブでStop on startup at: sta_kerに + 変更して下さい。 + これはLPCXpresso IDE上でデバッグを開始した時に実行を停止させる + 関数を指定するものです。 + RunメニューからResumeを選択することで動作を継続することができます。 + + * Debug ConfigurationsのDebuggerタブでVector catch: Trueに変更して + 下さい。 + + * PropertiesのC/C++ BuildでGenerate Makefiles automaticallyの + チェックを外して下さい。 + これによりLPCXpressoは外部Makefileを参照するようになります。 + + * PropertiesのC/C++ BuildでBuild directoryからDebugとReleaseを削除 + して下さい。 + これによりプロジェクトのルートディレクトリを参照する形になり + Makefileとの整合性が確保されます。 + + システムログがUART0(LPCXpressoの21, 22ピンに相当)に出力されます。 + LPCXpressoの21番ピンはLPC1768のP0[1]/TXD0/AD0[7]ピンに接続されて + います。 + 同様に22番ピンはLPC1768のP0[3]/RXD0/AD0[6]ピンに接続されています。 + + シリアルポートの設定はボーレート57600、8ビット、ノンパリティ、 + ストップビット1です。 + + ビルドが完了したらDebug 'TOPPERS-ASP_LPCXpresso-LPC1768'でデバッグ + できます。 + Resume, Suspendがソースコード表示と共に楽しめます。 + +4. 最後に + 今回の対応は既存のTOPPERS/ASPのビルドの枠組みを超えない形で行ないました。 + 本来であれば、LPCXpresso上のプリビルドやポストビルドを駆使してカーネルに + 対するコンフィギュレーションなどを行うのが筋ですが、先に述べたとおり早めの + 公開を目指して割愛したものです。 + + もし、何かシンプルな方法でコンフィギュレータまでを包括的に処理させることが + できる方法を思いついた場合、是非ご一報頂ければと思います。 + -- 2.11.0