3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Just Standard Profile Kernel
6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7 * Toyohashi Univ. of Technology, JAPAN
9 * TOPPERS/JSP for Blackfin
11 * Copyright (C) 2004,2006,2006 by Takemasa Nakamura
12 * Copyright (C) 2004 by Ujinosuke
14 * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation
15 * によって公表されている GNU General Public License の Version 2 に記
16 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
17 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
19 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
20 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
22 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
23 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
24 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
26 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
27 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
29 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
30 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
31 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
33 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
34 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
38 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
39 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
45 #ifndef _SYS_CONFIG_H_
46 #define _SYS_CONFIG_H_
51 #include <sys_rename.h>
53 /* blackfin/_common_bf533から読み込む */
54 #include <chip_config.h>
57 * ターゲットシステム依存モジュール(BSP-BLUETANK用)
59 * このインクルードファイルは,t_config.h のみからインクルードされる.
60 * 他のファイルから直接インクルードしてはならない.
64 * どのようなクロック入力にも対応できるよう、以下でCSEL, SSEL, MSELの値
65 * とクロック入力周波数(Hz)を指定する。PLLのプログラムはsys_config.cの
66 * sys_initialize()関数で行われる。
68 * CSELVALは1,2,4,8の中から選ぶ。CLKINの単位はHz
74 #define CLKIN 25000000
77 * Uzumeコンフィギュレーションマクロ群
79 * Uzumeの各機能モジュールはハードウェアに応じた自由度を持っている。それらの設定をデフォルト以外で
80 * 使う場合には引数となるマクロをシステム依存部のsys_config.hで宣言する。
82 * UZUME_INT_BITS はaudio_callback()の引数として渡されるオーディオ・サンプルの整数値の何ビット取るか
83 * 指定する。デフォルトは0である。符号部を除く整数部を7ビット取りたければ、7を指定する。
85 * UZUME_BLOCKSIZE は一回のDMA転送で転送するデータのサンプル数である。ステレオデータなので、実際に転送する
86 * データ数は UZUME_BLOCKSIZEで指定した量の倍のデータである。48kHzサンプルの場合に48を指定すると、1m秒に
89 * UZUME_SSM2603_I2C_ADRS はSSM2603 コーデックの I2Cデバイスアドレスである。7bitアドレスを右詰めで表現する
92 * UZUME_AD7999_I2C_ADRS はAD7999 ADCの I2Cデバイスアドレスである。7bitアドレスを右詰めで表現する。
95 * その他、I2Cペリフェラルのポート番号を指定するマクロもあるが、2012年時点で0以外には対応していないので
99 //#define UZUME_BLOCKSIZE 64
100 //#define UZUME_INT_BITS 0
101 //#define UZUME_SSM2603_I2C_ADRS 0x1A
102 //#define UZUME_AD7999_I2C_ADRS 0x28
104 // #define MAIN_TASK_PRIORITY 7
105 // #define LOGTASK_PRIORITY 5
106 // #define CODEC_TASK_PRIORITY 4
107 // #define AD7999_TASK_PRIORITY 6
109 // #define MAIN_TASK_STACK_SIZE 1024
110 // #define LOGTASK_STACK_SIZE 1024
111 // #define CODEC_TASK_STACK_SIZE 1024
112 // #define AD7999_TASK_STACK_SIZE 1024
116 * USE_TIC_COREをdefineすると、COREタイマーが使用される
117 * コメントアウトすると、GP_TIMER_2を使用する
119 * COREタイマーはwakeup信号を生成しないため、ディスパッチャ
120 * はidle命令を使ってCOREタイマーイベントを待つことができない。
121 * そのため、USE_TIC_COREを使うとディスパッチャはidle命令を
122 * 使わずに割り込み発生をポーリングで待つ。これは消費電力の
125 * システムタイマーにコアタイマーを使うことは、推奨しない。
126 * この機能は、移植時の利便性のために残しており、実アプリケーションで
130 //#define USE_TIC_CORE
134 * QUICK_HW_ERRORをdefineすると、ハードウェア・エラー・イベント
135 * が即座に受理される。defineしない場合には、割り込み待ち状態で
136 * ハードウェア・エラー・割り込みが発生した場合、次の割り込みまで
140 //#define QUICK_HW_ERROR
146 * マクロ USE_RUNTIME_INIT を定義すると、start.asmのなかで _mi_initialize
147 * を呼び出す。この関数はノーブートモードで起動するときにのみ必要になるので
148 * 通常は USE_RUNTIME_INITを使う必要はない。
149 * 詳細はADIのEE239に詳しい。http://tinyurl.com/2hpbk (tinyURL)
152 //#define USE_RUNTIME_INIT
157 * マクロUNMANAGED_INTはカーネル管理外割り込みを宣言する。この
158 * マクロは16ビットのビットマップになっており、以下にあるパターン
159 * のうちひとつを使う。なお、どのようなパターンを選んでもNMIは管理外
161 * UNMANAGED_INTを宣言しない場合、NMIだけが管理外割込みとして扱われる。
164 //#define UNMANAGED_INT 0x0020 // IVHWがカーネル管理外.
165 //#define UNMANAGED_INT 0x0060 // IVTMRとIVHWがカーネル管理外.
166 //#define UNMANAGED_INT 0x00E0 // IVG7, IVTMRとIVHWがカーネル管理外.
167 //#define UNMANAGED_INT 0x01E0 // IVG8 ... IVG7, IVTMRとIVHWがカーネル管理外.
168 //#define UNMANAGED_INT 0x03E0 // IVG9 ... IVG7, IVTMRとIVHWがカーネル管理外.
169 //#define UNMANAGED_INT 0x07E0 // IVG10 ... IVG7, IVTMRとIVHWがカーネル管理外.
170 //#define UNMANAGED_INT 0x0FE0 // IVG11 ... IVG7, IVTMRとIVHWがカーネル管理外.
171 //#define UNMANAGED_INT 0x1FE0 // IVG12 ... IVG7, IVTMRとIVHWがカーネル管理外.
172 //#define UNMANAGED_INT 0x3FE0 // IVG13 ... IVG7, IVTMRとIVHWがカーネル管理外.
177 * マクロINIT_C_PLUS_PLUSを定義すると、C++言語用のテーブルを
178 * 初期化コードを実行する。また、C++言語用のテーブルを宣言する
181 // #define INIT_C_PLUS_PLUS
186 #define TARGET_NAME "BSP-BLUETANK"
191 * TNUM_SIOP_XXXは、UARTの種別ごとに宣言する。
192 * TNUM_SIOP_UARTはBF592内蔵UARTのうち、PDICが使用するもの。
193 * BF592はUARTをひとつしかもっていないので、1か0を宣言する。
194 * TNUM_PORTは、TNUM_SIOP_XXXのうち、GDICが使用するものの総和。
197 #define TNUM_PORT 1 /* GDICがサポートするシリアルポートの数 */
198 #define TNUM_SIOP_UART 1 /* PIDCがサポートするシリアルポートの数 */
202 * ログタスクがシリアルポートを使わない場合は無視していい。
204 #define LOGTASK_PORTID 1 /* システムログに用いるシリアルポート番号。UART0はシリアルポート1である */
207 #define UART0_BAUD_RATE 57600 /* 57600 bps*/
211 #endif /* _SYS_CONFIG_H_ */