===================================================================== AT91SKYEYEターゲット依存部 Last Modified: 12 Apr 2008 14:32:37 ===================================================================== ○概要 AT91SKYEYEターゲット依存部は,オープンソースのプロセッサシミュレータで ある,Skyeye上の ARM7TDMI をベースとした AT91 システムをサポートしてい る. ○Skyeye Skyeye-1.2.4 をCygwin上で動作させ,動作確認を行った. http://www.skyeye.org/index.shtml ASPを動作させるには,Skyeyeのソースコードにパッチをあてる必要がある. skyeyeのパッケージ以下の次のファイルを修正する. ./arch/arm/mach/skyeye_mach_at91.c : 507行目 data = io.ipr; -> data = io.ipr & io.imr; ・arch/arm/common/armemu.c : 475行目 (switch文の直後)に以下のコードを追加 state->pc = pc; 変更後,skyeye-1.2.4/の下でmakeを実行してビルドする. また,ASPの本ターゲット依存部のディレクトリに,ASPを動作させるための skyeye.conf のサンプルがある. ○カーネルの使用リソース カーネルは以下のリソースを使用する. ・RAM コードとデータを配置する. 使用量はオブジェクト数に依存する. ・TC1 カーネル内部のティックの生成に用いる. ・USART0 コンソールの出力に使用. ○デバッグ環境 デバッグ環境としては,skyeyeのサポートする方法を用いることができる. arm-elf-gdb によるデバッグの動作確認を行った. ○コンパイラ GCC 4.1.1 で動作確認を行った.動作確認した GCC は,以下のサイトから Cygwin版のバイナリをダウンロードして使用した. http://www.gnuarm.com/ ○カーネル終了時の処理 ext_ker が呼び出されカーネル終了時には,at91skyeye.h にある at91skyeye_exit() が実行される.ディフォルトでは,特に処理は記述されて いない.独自の処理処理を追加したい場合は,at91skyeye_exit() の内容を書 き換えること. ○各種設定の変更 幾つかのパラメータは変更可能になっている.設定ファイル毎に設定可能項目 は次のようになっている. ●Makefile.target の設定項目 ・GCC_TARGET GCCの suffix を定義 ・INCLUDES インクルード指定 ・COPTS Cコンパイラへのオプション ・LDFLAGS リンカへのオプション ●target_config.h の設定項目 ・DEFAULT_ISTKSZ ディフォルトの非タスクコンテキスト用のスタックサイズ ・SIL_DLY_TIM1/2 微少時間待ちのための定義