UzumeフレームワークのBlackfin実装
Revision | 5008769de6f250a7db77b4e5dd6be23f5d9f2a27 (tree) |
---|---|
Time | 2013-02-09 20:18:39 |
Author | suikan <suikan@user...> |
Commiter | suikan |
ACB-BF592, SGTL5000によるブレッドボード用BSPを追加。動作確認済み
@@ -0,0 +1,29 @@ | ||
1 | +# | |
2 | +# Makefile のターゲットシステム依存部(bsp_bluetank用) | |
3 | +# | |
4 | + | |
5 | +# | |
6 | +# コンパイルオプション | |
7 | +# | |
8 | +INCLUDES := $(INCLUDES) -I$(SRCDIR)/config/$(CPU)/$(SYS) \ | |
9 | + -I$(SRCDIR)/config/$(CPU)/_common_bf592 \ | |
10 | + -I$(SRCDIR)/pdic/simple_sio \ | |
11 | + -I$(SRCDIR)/uzume \ | |
12 | + -I$(SRCDIR)/uzume/ntshell | |
13 | +COPTS := $(COPTS) | |
14 | +LDFLAGS := $(LDFLAGS) | |
15 | + | |
16 | +# | |
17 | +# カーネルに関する定義 | |
18 | +# | |
19 | +KERNEL_DIR := $(KERNEL_DIR) :$(SRCDIR)/config/$(CPU)/$(SYS) :$(SRCDIR)/config/$(CPU)/_common_bf592 :$(SRCDIR)/pdic/simple_sio :$(SRCDIR)/uzume :$(SRCDIR)/uzume/ntshell | |
20 | +KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) | |
21 | +KERNEL_COBJS := $(KERNEL_COBJS) chip_config.o uart.o chip_debugboot.o chip_dump.o | |
22 | +KERNEL_COBJS := $(KERNEL_COBJS) i2s_subsystem.o i2c_subsystem.o uzume_callback.o sgtl5000.o bsp_bb_bf592_sgtl5000_nts.o | |
23 | +KERNEL_COBJS := $(KERNEL_COBJS) ntlibc.o ntopt.o ntshell.o ntshell_task.o text_editor.o text_history.o vtrecv.o vtsend.o xprintf.o | |
24 | + | |
25 | +# | |
26 | +# リンカスクリプトの定義 | |
27 | +# | |
28 | +LDSCRIPT = $(CPU)/_common_bf592/bf592elf.ld | |
29 | + |
@@ -0,0 +1,13 @@ | ||
1 | +ACB-BF592, SGTL5000 ブレッドボード用Board Support Package ( BF592 )。 | |
2 | + | |
3 | + | |
4 | +Makefile.configは、インクルード・パスおよびソースファイルへのパスとしてblackfin/_common_bf592を | |
5 | +指定している。 | |
6 | + | |
7 | +- Makefile.config : gnu環境のためのシステム依存部定義ファイル | |
8 | +- readme.txt : このファイル | |
9 | +- sys_config.h : システム依存部のうち、アプリケーションから見えない宣言 | |
10 | +- sys_defs.h : システム依存部のうち、アプリケーションから見える宣言 | |
11 | + | |
12 | +2013/Feb/10 | |
13 | + 初版 |
@@ -0,0 +1,208 @@ | ||
1 | +/* | |
2 | + * TOPPERS/JSP Kernel | |
3 | + * Toyohashi Open Platform for Embedded Real-Time Systems/ | |
4 | + * Just Standard Profile Kernel | |
5 | + * | |
6 | + * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory | |
7 | + * Toyohashi Univ. of Technology, JAPAN | |
8 | + * | |
9 | + * TOPPERS/JSP for Blackfin | |
10 | + * | |
11 | + * Copyright (C) 2004,2006,2006 by Takemasa Nakamura | |
12 | + * Copyright (C) 2004 by Ujinosuke | |
13 | + * | |
14 | + * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation | |
15 | + * によって公表されている GNU General Public License の Version 2 に記 | |
16 | + * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア | |
17 | + * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, | |
18 | + * 利用と呼ぶ)することを無償で許諾する. | |
19 | + * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 | |
20 | + * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー | |
21 | + * スコード中に含まれていること. | |
22 | + * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 | |
23 | + * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 | |
24 | + * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 | |
25 | + * の無保証規定を掲載すること. | |
26 | + * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 | |
27 | + * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ | |
28 | + * と. | |
29 | + * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 | |
30 | + * 作権表示,この利用条件および下記の無保証規定を掲載すること. | |
31 | + * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに | |
32 | + * 報告すること. | |
33 | + * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 | |
34 | + * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. | |
35 | + * | |
36 | + * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お | |
37 | + * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も | |
38 | + * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 | |
39 | + * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. | |
40 | + * | |
41 | + * | |
42 | + */ | |
43 | + | |
44 | + | |
45 | +#ifndef _SYS_CONFIG_H_ | |
46 | +#define _SYS_CONFIG_H_ | |
47 | + | |
48 | +/* | |
49 | + * カーネルの内部識別名のリネーム | |
50 | + */ | |
51 | +#include <sys_rename.h> | |
52 | + | |
53 | +/* blackfin/_common_bf533から読み込む */ | |
54 | +#include <chip_config.h> | |
55 | + | |
56 | +/* | |
57 | + * ターゲットシステム依存モジュール(BSP-BLUETANK用) | |
58 | + * | |
59 | + * このインクルードファイルは,t_config.h のみからインクルードされる. | |
60 | + * 他のファイルから直接インクルードしてはならない. | |
61 | +*/ | |
62 | + | |
63 | +/* | |
64 | + * どのようなクロック入力にも対応できるよう、以下でCSEL, SSEL, MSELの値 | |
65 | + * とクロック入力周波数(Hz)を指定する。PLLのプログラムはsys_config.cの | |
66 | + * sys_initialize()関数で行われる。 | |
67 | + * | |
68 | + * CSELVALは1,2,4,8の中から選ぶ。CLKINの単位はHz | |
69 | + */ | |
70 | + | |
71 | +#define CSELVAL 1 | |
72 | +#define SSELVAL 4 | |
73 | +#define MSELVAL 16 | |
74 | +#define CLKIN 25000000 | |
75 | + | |
76 | +/* | |
77 | + * Uzumeコンフィギュレーションマクロ群 | |
78 | + * | |
79 | + * Uzumeの各機能モジュールはハードウェアに応じた自由度を持っている。それらの設定をデフォルト以外で | |
80 | + * 使う場合には引数となるマクロをシステム依存部のsys_config.hで宣言する。 | |
81 | + * | |
82 | + * UZUME_INT_BITS はaudio_callback()の引数として渡されるオーディオ・サンプルの整数値の何ビット取るか | |
83 | + * 指定する。デフォルトは0である。符号部を除く整数部を7ビット取りたければ、7を指定する。 | |
84 | + * | |
85 | + * UZUME_BLOCKSIZE は一回のDMA転送で転送するデータのサンプル数である。ステレオデータなので、実際に転送する | |
86 | + * データ数は UZUME_BLOCKSIZEで指定した量の倍のデータである。48kHzサンプルの場合に48を指定すると、1m秒に | |
87 | + * 一回割り込みがかかる。 | |
88 | + * | |
89 | + * UZUME_UZUME_SGTL5000_I2C_ADRS はSGTL5000 コーデックの I2Cデバイスアドレスである。7bitアドレスを右詰めで表現する | |
90 | + * デフォルトは0x0A | |
91 | + * | |
92 | + * UZUME_AD7999_I2C_ADRS はAD7999 ADCの I2Cデバイスアドレスである。7bitアドレスを右詰めで表現する。 | |
93 | + * デフォルトは 0x28 | |
94 | + * | |
95 | + * その他、I2Cペリフェラルのポート番号を指定するマクロもあるが、2012年時点で0以外には対応していないので | |
96 | + * ここでは説明しない。 | |
97 | + */ | |
98 | + | |
99 | +//#define UZUME_BLOCKSIZE 64 | |
100 | +//#define UZUME_INT_BITS 0 | |
101 | +//#define UZUME_SGTL5000_I2C_ADRS 0x0A | |
102 | + | |
103 | +// #define MAIN_TASK_PRIORITY 7 | |
104 | +// #define LOGTASK_PRIORITY 5 | |
105 | +// #define CODEC_TASK_PRIORITY 4 | |
106 | + | |
107 | +// #define MAIN_TASK_STACK_SIZE 1024 | |
108 | +// #define LOGTASK_STACK_SIZE 1024 | |
109 | +// #define CODEC_TASK_STACK_SIZE 1024 | |
110 | + | |
111 | +/* | |
112 | + * システムタイマーの選択 | |
113 | + * USE_TIC_COREをdefineすると、COREタイマーが使用される | |
114 | + * コメントアウトすると、GP_TIMER_2を使用する | |
115 | + * | |
116 | + * COREタイマーはwakeup信号を生成しないため、ディスパッチャ | |
117 | + * はidle命令を使ってCOREタイマーイベントを待つことができない。 | |
118 | + * そのため、USE_TIC_COREを使うとディスパッチャはidle命令を | |
119 | + * 使わずに割り込み発生をポーリングで待つ。これは消費電力の | |
120 | + * 点で不利である。 | |
121 | + * | |
122 | + * システムタイマーにコアタイマーを使うことは、推奨しない。 | |
123 | + * この機能は、移植時の利便性のために残しており、実アプリケーションで | |
124 | + * つかうことは想定していない。 | |
125 | + * | |
126 | + */ | |
127 | +//#define USE_TIC_CORE | |
128 | + | |
129 | +/* | |
130 | + * ハードウェア・エラー割り込みの許可 | |
131 | + * QUICK_HW_ERRORをdefineすると、ハードウェア・エラー・イベント | |
132 | + * が即座に受理される。defineしない場合には、割り込み待ち状態で | |
133 | + * ハードウェア・エラー・割り込みが発生した場合、次の割り込みまで | |
134 | + * 待たされることになる。 | |
135 | + * | |
136 | + */ | |
137 | +//#define QUICK_HW_ERROR | |
138 | + | |
139 | + | |
140 | +/* | |
141 | + * 実行時初期化関数の使用 | |
142 | + * | |
143 | + * マクロ USE_RUNTIME_INIT を定義すると、start.asmのなかで _mi_initialize | |
144 | + * を呼び出す。この関数はノーブートモードで起動するときにのみ必要になるので | |
145 | + * 通常は USE_RUNTIME_INITを使う必要はない。 | |
146 | + * 詳細はADIのEE239に詳しい。http://tinyurl.com/2hpbk (tinyURL) | |
147 | + * | |
148 | +*/ | |
149 | +//#define USE_RUNTIME_INIT | |
150 | + | |
151 | +/* | |
152 | + * カーネル管理外割り込みの宣言 | |
153 | + * | |
154 | + * マクロUNMANAGED_INTはカーネル管理外割り込みを宣言する。この | |
155 | + * マクロは16ビットのビットマップになっており、以下にあるパターン | |
156 | + * のうちひとつを使う。なお、どのようなパターンを選んでもNMIは管理外 | |
157 | + * 割込みとして扱われる。 | |
158 | + * UNMANAGED_INTを宣言しない場合、NMIだけが管理外割込みとして扱われる。 | |
159 | + * | |
160 | +*/ | |
161 | +//#define UNMANAGED_INT 0x0020 // IVHWがカーネル管理外. | |
162 | +//#define UNMANAGED_INT 0x0060 // IVTMRとIVHWがカーネル管理外. | |
163 | +//#define UNMANAGED_INT 0x00E0 // IVG7, IVTMRとIVHWがカーネル管理外. | |
164 | +//#define UNMANAGED_INT 0x01E0 // IVG8 ... IVG7, IVTMRとIVHWがカーネル管理外. | |
165 | +//#define UNMANAGED_INT 0x03E0 // IVG9 ... IVG7, IVTMRとIVHWがカーネル管理外. | |
166 | +//#define UNMANAGED_INT 0x07E0 // IVG10 ... IVG7, IVTMRとIVHWがカーネル管理外. | |
167 | +//#define UNMANAGED_INT 0x0FE0 // IVG11 ... IVG7, IVTMRとIVHWがカーネル管理外. | |
168 | +//#define UNMANAGED_INT 0x1FE0 // IVG12 ... IVG7, IVTMRとIVHWがカーネル管理外. | |
169 | +//#define UNMANAGED_INT 0x3FE0 // IVG13 ... IVG7, IVTMRとIVHWがカーネル管理外. | |
170 | + | |
171 | +/* | |
172 | + * C++関連資源を用意する | |
173 | + * | |
174 | + * マクロINIT_C_PLUS_PLUSを定義すると、C++言語用のテーブルを | |
175 | + * 初期化コードを実行する。また、C++言語用のテーブルを宣言する | |
176 | + * | |
177 | +*/ | |
178 | +// #define INIT_C_PLUS_PLUS | |
179 | + | |
180 | +/* | |
181 | + * 起動メッセージのターゲットシステム名 | |
182 | + */ | |
183 | +#define TARGET_NAME "BSP-BB-BF592-SGTL5000-NTS" | |
184 | + | |
185 | + | |
186 | +/* | |
187 | + * シリアルポート数の定義 | |
188 | + * TNUM_SIOP_XXXは、UARTの種別ごとに宣言する。 | |
189 | + * TNUM_SIOP_UARTはBF592内蔵UARTのうち、PDICが使用するもの。 | |
190 | + * BF592はUARTをひとつしかもっていないので、1か0を宣言する。 | |
191 | + * TNUM_PORTは、TNUM_SIOP_XXXのうち、GDICが使用するものの総和。 | |
192 | + * uart.cで使う。 | |
193 | + */ | |
194 | +#define TNUM_PORT 1 /* GDICがサポートするシリアルポートの数 */ | |
195 | +#define TNUM_SIOP_UART 1 /* PIDCがサポートするシリアルポートの数 */ | |
196 | + | |
197 | +/* | |
198 | + * シリアルポート番号に関する定義 | |
199 | + * ログタスクがシリアルポートを使わない場合は無視していい。 | |
200 | + */ | |
201 | +#define LOGTASK_PORTID 1 /* システムログに用いるシリアルポート番号。UART0はシリアルポート1である */ | |
202 | + | |
203 | +/* UART0のボーレート. */ | |
204 | +#define UART0_BAUD_RATE 57600 /* 57600 bps*/ | |
205 | + | |
206 | + | |
207 | + | |
208 | +#endif /* _SYS_CONFIG_H_ */ |
@@ -0,0 +1,80 @@ | ||
1 | +/* | |
2 | + * TOPPERS/JSP Kernel | |
3 | + * Toyohashi Open Platform for Embedded Real-Time Systems/ | |
4 | + * Just Standard Profile Kernel | |
5 | + * | |
6 | + * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory | |
7 | + * Toyohashi Univ. of Technology, JAPAN | |
8 | + * | |
9 | + * TOPPERS/JSP for Blackfin | |
10 | + * | |
11 | + * Copyright (C) 2004,2006,2006 by Takemasa Nakamura | |
12 | + * Copyright (C) 2004 by Ujinosuke | |
13 | + * | |
14 | + * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation | |
15 | + * によって公表されている GNU General Public License の Version 2 に記 | |
16 | + * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア | |
17 | + * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, | |
18 | + * 利用と呼ぶ)することを無償で許諾する. | |
19 | + * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 | |
20 | + * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー | |
21 | + * スコード中に含まれていること. | |
22 | + * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 | |
23 | + * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 | |
24 | + * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 | |
25 | + * の無保証規定を掲載すること. | |
26 | + * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 | |
27 | + * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ | |
28 | + * と. | |
29 | + * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 | |
30 | + * 作権表示,この利用条件および下記の無保証規定を掲載すること. | |
31 | + * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに | |
32 | + * 報告すること. | |
33 | + * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 | |
34 | + * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. | |
35 | + * | |
36 | + * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お | |
37 | + * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も | |
38 | + * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 | |
39 | + * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. | |
40 | + * | |
41 | + * | |
42 | + */ | |
43 | + | |
44 | + | |
45 | +/* | |
46 | + * ターゲットシステムに依存する定義(BSP-BLUETANK用) | |
47 | + * | |
48 | + * このインクルードファイルは,kernel.h と sil.h でインクルードされる. | |
49 | + * 他のファイルから直接インクルードすることはない.このファイルをイン | |
50 | + * クルードする前に,t_stddef.h と itron.h がインクルードされるので, | |
51 | + * それらに依存してもよい. | |
52 | + */ | |
53 | + | |
54 | +#ifndef _SYS_DEFS_H_ | |
55 | +#define _SYS_DEFS_H_ | |
56 | + | |
57 | +/* blackfin/_common_bf592から読む */ | |
58 | +#include <chip_defs.h> | |
59 | + | |
60 | + /* システム略称 jsp/doc/config.txtの 2.(8)を参照 */ | |
61 | +#define BSP_BB_BF592_SGTL5000_NTS | |
62 | + | |
63 | +/* | |
64 | + * 破壊性読み出しレジスタの判別式 | |
65 | + * 与えられたアドレス iop が破壊性読み出しレジスタの | |
66 | + * 場合には真を返す。 | |
67 | + * | |
68 | + * ADSP-BF592の内蔵ペリフェラルについて考慮する必要はない | |
69 | + * 宣言しない場合は、デフォルトで外部ペリフェラルはすべて | |
70 | + * 破壊性読み出しとして扱われる | |
71 | + * | |
72 | + * ADSP-BF592は外部ペリフェラルを持つことができないので、 | |
73 | + * 無視していい | |
74 | + * | |
75 | + */ | |
76 | +// #define DESTRUCTIVE_READ( iop ) (iop<(VP)0xF0000000) | |
77 | + | |
78 | + | |
79 | + | |
80 | +#endif /* _SYS_DEFS_H_ */ |
@@ -0,0 +1,50 @@ | ||
1 | +/** | |
2 | + * @file bsp_bluetank.c | |
3 | + * @author takemasa | |
4 | + * @brief ACB-BF592, SGTL-5000ブレッドボード用のリソース | |
5 | + * @details | |
6 | + * ここにはBSP専用のリソースを置く。実際にはボードの初期化子を置く。 | |
7 | + */ | |
8 | +#include <s_services.h> | |
9 | +#include <t_services.h> | |
10 | +#include <cdefBF592-A.h> | |
11 | +#include <bsp_bb_bf592_sgtl5000_nts.h> | |
12 | +#include <rotenc.h> | |
13 | + | |
14 | +void board_initialize(VP_INT exinf) | |
15 | +{ | |
16 | + // ADSP-BF592 PORTG設定 | |
17 | + // DR0PRI, RSCK0, RFS0, TD0PRI, TSCK0, TSF0をMUXで0 ( Primary func )にする | |
18 | + *pPORTG_MUX &= ~0x00ee; | |
19 | + | |
20 | + // ADSP-BF592 PORTG設定 | |
21 | + // DR0PRI, RSCK0, RFS0, TD0PRI, TSCK0, TSF0をFERでイネーブルにする | |
22 | + *pPORTG_FER = 0x00ee; | |
23 | +} | |
24 | + | |
25 | +/** | |
26 | + * \brief ボリューム値の取得 | |
27 | + * \param ch 0から始まるチャンネル指定番号。 | |
28 | + * ^return 取得したチャンネルの値 | |
29 | + * \details | |
30 | + */ | |
31 | + | |
32 | +fract32 get_volume(unsigned int ch) | |
33 | +{ | |
34 | + if ( ch >= UZUME_NUM_VOLUME) | |
35 | + return 0; | |
36 | + | |
37 | + return 0x7FFFFFFF; | |
38 | +} | |
39 | + | |
40 | +/** | |
41 | + * \brief ボリューム値の設定 | |
42 | + * \param ch 0から始まるチャンネル指定番号。AD7999は3まで | |
43 | + * \param value 32bit符号付き固定小数点数のボリューム設定値 | |
44 | + * \details | |
45 | + * ボリュームに初期値を与える。 | |
46 | + */ | |
47 | + | |
48 | +void set_volume(unsigned int ch, fract32 value) | |
49 | +{ | |
50 | +} |
@@ -0,0 +1,10 @@ | ||
1 | +#include "i2c0_m.cfg" | |
2 | +#include "i2s.cfg" | |
3 | + | |
4 | +INCLUDE("\"bsp_bb_bf592_sgtl5000_nts.h\""); | |
5 | + | |
6 | +ATT_INI({ | |
7 | + TA_NULL, /* 高級言語でインターフェースする */ | |
8 | + 0, /* イニシャライザに渡すパラメタ。0はTWI0 */ | |
9 | + board_initialize /* イニシャライザ本体 */ | |
10 | + }); |
@@ -0,0 +1,54 @@ | ||
1 | +/** | |
2 | + * @file bsp_bluetank.h | |
3 | + * @author takemasa | |
4 | + * @brief ACB-BF592, SGTL-5000ブレッドボード用のリソース | |
5 | + * @details | |
6 | + * ここにはBSP専用のリソースを置く。実際にはボードの初期化子を置く。 | |
7 | + */ | |
8 | + | |
9 | +/** | |
10 | + * @mainpage | |
11 | + * ACB-BF592, SGTL-5000ブレッドボード用のBSP (Board Support Package) | |
12 | + * | |
13 | + * Uzumeを使う上のBSPは以下の構成になっている | |
14 | + * @li uzume/bsp_bb_bf592_sgtl5000_nts.cfg アプリケーションから読み込むべき | |
15 | + * 静的コンフィギュレーション・ファイル | |
16 | + * @li config/blackfin/bsp_bb_bf592_sgtl5000_nts BSPのシステム依存部 | |
17 | + * @li uzume_callback.c ユーザー用オーディオコールバックと初期化部の実装 | |
18 | + * @li uzume_app.c ユーザーアプリケーションが使うタスク。 | |
19 | + * @li uzume_app.cfg アプリケーション | |
20 | + * | |
21 | + * BSPを使う場合には、次のようにする | |
22 | + * @li システム依存部から適切なBSPを選ぶ。 | |
23 | + * インクルードする | |
24 | + * @li configure_projectを実行する。この時にすでに選んだBSP名を引数として与える | |
25 | + * | |
26 | + * これでプロジェクトがmake可能になる。 | |
27 | + * | |
28 | + * 信号処理のアルゴリズムは uzume_callback.c のなかの process_audio() に記述する。 | |
29 | + * また、信号処理の前に初期以下が必要であれば init_audio() に初期化コードを記述する。 | |
30 | + */ | |
31 | +#ifndef BSP_BB_BF592_SGTL5000_NTS_H | |
32 | +#define BSP_BB_BF592_SGTL5000_NTS_H | |
33 | + | |
34 | +/** | |
35 | + * \breif ボリューム入力のチャンネル数 | |
36 | + * \details | |
37 | + * BSPが持つボリュームのチャンネル数。ここでいうボリュームはポテンショメータに限らない。 | |
38 | + * ロータリーエンコーダーなども含む。また、システムが複数種のボリューム(例えばADCと | |
39 | + * ロータリーエンコーダー)を持つ場合には、それらのチャンネル数の総和である。 | |
40 | + */ | |
41 | + | |
42 | +#define UZUME_NUM_VOLUME 4 | |
43 | + | |
44 | +/** | |
45 | + * \brief ボード・イニシャライザ | |
46 | + * \param exinf 0を渡す。関数からは無視される。 | |
47 | + * \details | |
48 | + * BSP用のイニシャライザである。アプリケーションに依存せず、uzumeが | |
49 | + * 必要とする初期化処理をおここで行う。具体的にはI2S用のピンの割付を行う | |
50 | + */ | |
51 | +void board_initialize(VP_INT exinf); | |
52 | + | |
53 | +#endif /* BSP_BLUETANK_H */ | |
54 | + |