OSDN Git Service

5cfadfe7e82c39c83ca21fd6d8aa6b411766cbc9
[trx-305dsp/dsp.git] / trx305 / kernel / config / blackfin / tool_defs.h
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  *
47  *  このインクルードファイルは,t_stddef.h と itron.h の先頭でインクルー
48  *  ドされる.他のファイルからは直接インクルードすることはない.他のイ
49  *  ンクルードファイルに先立って処理されるため,他のインクルードファイ
50  *  ルに依存してはならない.
51  */
52
53 #ifndef _TOOL_DEFS_H_
54 #define _TOOL_DEFS_H_
55
56 /**************************************************
57 *
58 *               GNU Tool Chain
59 *
60 ***************************************************/
61 #ifdef __GNUC__                     /* GCC */
62
63 /*
64  *  コンパイラ依存のデータ型の定義
65  */
66 #define _int8_      char        /* 8ビットの整数型 */
67 #define _int16_     short       /* 16ビットの整数型 */
68 #define _int32_     int     /* 32ビットの整数型 */
69 #define _int64_     long long   /* 64ビットの整数型 */
70
71     // GCCを使う場合に、defbfxxx.h, cdefbf5xx.hを使えるようにするためのマクロ宣言
72 #ifndef __ADSPLPBLACKFIN__
73 #define __ADSPLPBLACKFIN__
74 #endif
75
76
77 /*
78  *  コンパイラの拡張機能のためのマクロ定義
79  */
80 #ifndef __cplusplus         /* C++ には inline がある */
81 #if __STDC_VERSION__ < 199901L      /* C99 には inline がある */
82 #define inline      __inline__
83 #endif /* __STDC_VERSION__ < 199901L */
84 #endif /* __cplusplus */
85
86 #define Inline      static inline
87
88 #ifndef __cplusplus         /* C++ には asm がある */
89 #define asm     __asm__
90 #endif /* __cplusplus */
91
92 #define Asm     __asm__ volatile
93
94 /**************************************************
95 *
96 *               VisualDSP++ 
97 *
98 ***************************************************/
99 #elif defined(__ECC__)              /* Visual DSP++ tool chain*/
100
101 /*
102  *  コンパイラ依存のデータ型の定義
103  */
104 #define _int8_      char        /* 8ビットの整数型 */
105 #define _int16_     short       /* 16ビットの整数型 */
106 #define _int32_     int     /* 32ビットの整数型 */
107 #define _int64_     long long   /* 64ビットの整数型 */
108
109     // ファイル内にしか適用しないインライン化
110 #define Inline inline
111
112     // インラインアセンブラ
113 #define Asm     asm volatile
114
115
116 /**************************************************
117 *
118 *               その他の環境
119 *
120 ***************************************************/
121 #else
122 #error "Compiler is not supported"
123 #endif
124
125
126
127
128 #endif /* _TOOL_DEFS_H_ */