OSDN Git Service

LPCXpresso IDE上の設定変更箇所などを示す暫定的なドキュメントを追加しました。
authorshintamainjp <shintamainjp@users.sourceforge.jp>
Thu, 3 Mar 2011 15:01:55 +0000 (15:01 +0000)
committershintamainjp <shintamainjp@users.sourceforge.jp>
Thu, 3 Mar 2011 15:01:55 +0000 (15:01 +0000)
asp/target/lpcxpresso1768_gcc/README [new file with mode: 0644]

diff --git a/asp/target/lpcxpresso1768_gcc/README b/asp/target/lpcxpresso1768_gcc/README
new file mode 100644 (file)
index 0000000..23646f4
--- /dev/null
@@ -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上のプリビルドやポストビルドを駆使してカーネルに
+ 対するコンフィギュレーションなどを行うのが筋ですが、先に述べたとおり早めの
+ 公開を目指して割愛したものです。
+
+ もし、何かシンプルな方法でコンフィギュレータまでを包括的に処理させることが
+ できる方法を思いついた場合、是非ご一報頂ければと思います。
+