source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m16c-renesas/oaks16_mini/oaks16mini.h@ 26

Last change on this file since 26 was 26, checked in by ykominami, 10 years ago

initial

File size: 11.2 KB
Line 
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 * Copyright (C) 2003-2004 by Platform Development Center
9 * RICOH COMPANY,LTD. JAPAN
10 *
11 * 上記著作権者
12は,Free Software Foundation によってå…
13¬è¡¨ã•ã‚Œã¦ã„ã‚‹
14 * GNU General Public License の Version 2 に記述されている条件か,以
15 * 下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェア(本ソフトウェ
16 * アを改変したものを含む.以下同じ)を使用・複製・改変・再é…
17å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
18 * 利用と呼ぶ)することを無償で許諾する.
19 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
20 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
21 * スコード中に含まれていること.
22 * (2) 本ソフトウェアを再利用可能なバイナリコード(リロケータブルオブ
23 * ジェクトファイルやライブラリなど)の形で利用する場合には,利用
24 * に伴うドキュメント(利用者
25マニュアルなど)に,上記の著作権表示,
26 * この利用条件および下記の無保証規定を掲載すること.
27 * (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組
28 * み込んだ形で利用する場合には,次のいずれかの条件を満たすこと.
29 * (a) 利用に伴うドキュメント(利用者
30マニュアルなど)に,上記の著作
31 * 権表示,この利用条件および下記の無保証規定を掲載すること.
32 * (b) 利用の形æ…
33‹ã‚’,別に定める方法によって,上記著作権者
34に報告する
35 * こと.
36 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
37 * 害からも,上記著作権者
38をå…
39è²¬ã™ã‚‹ã“と.
40 *
41 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
42は,
43 * 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ
44 * ない.また,本ソフトウェアの利用により直接的または間接的に生じたい
45 * かなる損害に関しても,その責任を負わない.
46 *
47 * @(#) $Id: oaks16mini.h,v 1.3 2005/11/24 12:41:23 honda Exp $
48 */
49
50#ifndef _OAKS16MINI_H_
51#define _OAKS16MINI_H_
52
53/*
54 * 割込み番号の定義
55 */
56#define INT_BRK 0 /* BRK */
57#define INT_DMA0 11 /* DMA0 */
58#define INT_DMA1 12 /* DMA1 */
59#define INT_KEY 13 /* キーå…
60¥åŠ›å‰²ã‚Šè¾¼ã¿ */
61#define INT_AD 14 /* A-D変換器 */
62#define INT_S0T 17 /* UART0送信 */
63#define INT_S0R 18 /* UART0受信 */
64#define INT_S1T 19 /* UART1送信 */
65#define INT_S1R 20 /* UART1受信 */
66#define INT_TA0 21 /* タイマA0 */
67#define INT_TA1 22 /* タイマA1 */
68#define INT_TA2 23 /* タイマA2 */
69#define INT_TA3 24 /* タイマA3 */
70#define INT_TA4 25 /* タイマA4 */
71#define INT_TB0 26 /* タイマB0 */
72#define INT_TB1 27 /* タイマB1 */
73#define INT_TB2 28 /* タイマB2 */
74#define INT_INT0 29 /* INT0 */
75#define INT_INT1 30 /* INT1 */
76
77/*
78 * OAKS16 MINI SFRアドレス定義
79 *
80 * 割込みレジスタ
81 */
82#define TADR_SFR_INT_BASE 0x040 /* 割込み関連のベースアドレス */
83#define TADR_SFR_DMA0IC_OFFSET 11 /* DMA0割込み制御レジスタ */
84#define TADR_SFR_DMA1IC_OFFSET 12 /* DMA1割込み制御レジスタ */
85#define TADR_SFR_KUPIC_OFFSET 13 /* キーå…
86¥åŠ›å‰²è¾¼ã¿åˆ¶å¾¡ãƒ¬ã‚¸ã‚¹ã‚¿ */
87#define TADR_SFR_ADIC_OFFSET 14 /* A-D変換割込み制御レジスタ */
88#define TADR_SFR_S0TIC_OFFSET 17 /* uart0送信割込み制御レジスタ */
89#define TADR_SFR_S0RIC_OFFSET 18 /* uart0受信割込み制御レジスタ */
90#define TADR_SFR_S1TIC_OFFSET 19 /* uart1送信割込み制御レジスタ */
91#define TADR_SFR_S1RIC_OFFSET 20 /* uart1受信割込み制御レジスタ */
92#define TADR_SFR_TA0IC_OFFSET 21 /* timerA0 割込み制御レジスタ */
93#define TADR_SFR_TA1IC_OFFSET 22 /* timerA1 割込み制御レジスタ */
94#define TADR_SFR_TA2IC_OFFSET 23 /* timerA2 割込み制御レジスタ */
95#define TADR_SFR_TA3IC_OFFSET 24 /* timerA3 割込み制御レジスタ */
96#define TADR_SFR_TA4IC_OFFSET 25 /* timerA4 割込み制御レジスタ */
97#define TADR_SFR_TB0IC_OFFSET 26 /* timerB0 割込み制御レジスタ */
98#define TADR_SFR_TB1IC_OFFSET 27 /* timerB1 割込み制御レジスタ */
99#define TADR_SFR_TB2IC_OFFSET 28 /* timerB2 割込み制御レジスタ */
100#define TADR_SFR_INT0IC_OFFSET 29 /* INT0 割込み制御レジスタ */
101#define TADR_SFR_INT1IC_OFFSET 30 /* INT1 割込み制御レジスタ */
102
103/*
104 * DMAレジスタ
105 */
106#define TADR_SFR_SAR0 0x020 /* DMA0ソースポインタ */
107#define TADR_SFR_DAR0 0x024 /* DMA0デスティネーションポインタ */
108#define TADR_SFR_TCR0 0x028 /* DMA0転送カウンタ */
109#define TADR_SFR_DM0CON 0x02c /* DMA0制御レジスタ */
110#define TADR_SFR_SAR1 0x030 /* DMA1ソースポインタ */
111#define TADR_SFR_DAR1 0x034 /* DMA1デスティネーションポインタ */
112#define TADR_SFR_TCR1 0x038 /* DMA1転送カウンタ */
113#define TADR_SFR_DM1CON 0x03c /* DMA1制御レジスタ */
114
115/*
116 * タイマーレジスタ
117 */
118#define TADR_SFR_TA11 0x342 /* timerA1-1レジスタ */
119#define TADR_SFR_TA21 0x344 /* timerA2-1レジスタ */
120#define TADR_SFR_TA41 0x346 /* timerA4-1レジスタ */
121#define TADR_SFR_INVC0 0x348 /* 三相PWM制御レジスタ0 */
122#define TADR_SFR_INVC1 0x349 /* 三相PWM制御レジスタ1 */
123#define TADR_SFR_IDB0 0x34a /* 三相出力バッファレジスタ0 */
124#define TADR_SFR_IDB1 0x34b /* 三相出力バッファレジスタ1 */
125#define TADR_SFR_DTT 0x34c /* 短絡防止タイマ */
126#define TADR_SFR_ICTB2 0x34d /* timerB2割込み発生頻度設定カウンタ */
127#define TADR_SFR_IFSR 0x35f /* 割込み要因選択レジスタ */
128
129#define TADR_SFR_TABSR 0x380 /* カウント開始フラグ */
130#define TADR_SFR_CPSRF 0x381 /* リセット プリスケーラ リセットフラグ */
131#define TADR_SFR_ONSF 0x382 /* ワンショト スタートフラグ */
132#define TADR_SFR_TRGSR 0x383 /* トリガーセレクト レジスタ */
133#define TADR_SFR_UDF 0x384 /* アップダウンフラグ */
134#define TADR_SFR_TA0 0x386 /* timerA0レジスタ */
135#define TADR_SFR_TA1 0x388 /* timerA1レジスタ */
136#define TADR_SFR_TA2 0x38a /* timerA2レジスタ */
137#define TADR_SFR_TA3 0x38c /* timerA3レジスタ */
138#define TADR_SFR_TA4 0x38e /* timerA4レジスタ */
139#define TADR_SFR_TB0 0x390 /* timerB0レジスタ */
140#define TADR_SFR_TB1 0x392 /* timerB1レジスタ */
141#define TADR_SFR_TB2 0x394 /* timerB2レジスタ */
142#define TADR_SFR_TA0MR 0x396 /* timerA0モードレジスタ */
143#define TADR_SFR_TA1MR 0x397 /* timerA1モードレジスタ */
144#define TADR_SFR_TA2MR 0x398 /* timerA2モードレジスタ */
145#define TADR_SFR_TA3MR 0x399 /* timerA3モードレジスタ */
146#define TADR_SFR_TA4MR 0x39a /* timerA4モードレジスタ */
147#define TADR_SFR_TB0MR 0x39b /* timerB0モードレジスタ */
148#define TADR_SFR_TB1MR 0x39c /* timerB1モードレジスタ */
149#define TADR_SFR_TB2MR 0x39d /* timerB2モードレジスタ */
150#define TADR_SFR_TB2SR 0x39e /* timerB2スペシャルモードレジスタ */
151
152/*
153 * シリアルレジスタ
154 */
155#define TADR_SFR_UART0_BASE 0x3a0 /* uart0レジスタベースアドレス */
156#define TADR_SFR_UART1_BASE 0x3a8 /* uart1レジスタベースアドレス */
157
158#define TADR_SFR_UMR_OFFSET 0 /* uart送受信モードレジスタ */
159#define TADR_SFR_UBRG_OFFSET 1 /* uartボーレートジェネレータ */
160#define TADR_SFR_UTB_OFFSET 2 /* uart送信バッファレジスタ */
161#define TADR_SFR_UC0_OFFSET 4 /* uart送受信制御レジスタ#0 */
162#define TADR_SFR_UC1_OFFSET 5 /* uart送受信制御レジスタ#1 */
163#define TADR_SFR_URB_OFFSET 6 /* uart受信バッファレジスタ */
164#define TADR_SFR_UC2_OFFSET 16 /* uart送受信制御レジスタ#2 */
165
166/*
167 * 汎用ポートレジスタ
168 */
169#define TADR_SFR_P1 0x3e1 /* ポートP1レジスタ */
170#define TADR_SFR_PD1 0x3e3 /* ポートP1方向レジスタ */
171#define TADR_SFR_P6 0x3ec /* ポートP6レジスタ */
172#define TADR_SFR_P7 0x3ed /* ポートP7レジスタ */
173#define TADR_SFR_PD6 0x3ee /* ポートP6方向レジスタ */
174#define TADR_SFR_PD7 0x3ef /* ポートP7方向レジスタ */
175#define TADR_SFR_P8 0x3f0 /* ポートP8レジスタ */
176#define TADR_SFR_P9 0x3f1 /* ポートP9レジスタ */
177#define TADR_SFR_PD8 0x3f2 /* ポートP8方向レジスタ */
178#define TADR_SFR_PD9 0x3f3 /* ポートP9方向レジスタ */
179#define TADR_SFR_P10 0x3f4 /* ポートP10レジスタ */
180#define TADR_SFR_PD10 0x3f6 /* ポートP10方向レジスタ */
181#define TADR_SFR_PUR0 0x3fc /* プルアップ制御レジスタ0 */
182#define TADR_SFR_PUR1 0x3fd /* プルアップ制御レジスタ1 */
183#define TADR_SFR_PUR2 0x3fe /* プルアップ制御レジスタ2 */
184#define TADR_SFR_PCR 0x3ff /* ポート制御レジスタ */
185
186/*
187 * 送受信制御レジスタ1 (UART0,UART1)
188 */
189#define TBIT_UiC1_RI 0x08 /* 受信完了フラグ */
190#define TBIT_UiC1_RE 0x04 /* 受信許可ビット */
191#define TBIT_UiC1_TI 0x02 /* 送信バッファ空フラグ */
192#define TBIT_UiC1_TE 0x01 /* 送信許可ビット */
193
194#define TBIT_UiC0_TXEPT 0x08 /* 送信レジスタ空フラグ */
195
196/*
197 * 割込み制御レジスタ
198 */
199#define TBIT_TAiIC_IR 0x08
200
201/*
202 * カウント開始フラグ (TABSR)
203 */
204#define TBIT_TABSR_TA0S 0x01
205
206/*
207 * アップダウンフラグ(UDF)
208 */
209#define TBIT_UDF_TA0UD 0x01
210
211/*
212 * ポート7設定
213 */
214#define P7_LED1 0x10 /* LED1ビット定義 */
215#define P7_LED2 0x20 /* LED2ビット定義 */
216
217/*
218 * ポート8設定
219 */
220#define P8_SW1 0x01 /* SW1ビット定義 */
221#define P8_SW2 0x02 /* SW2ビット定義 */
222
223#ifndef _MACRO_ONLY
224
225#include "cpu_defs.h"
226
227/*
228 * ターゲットシステムの文字出力
229 */
230
231Inline void
232oaks16_putc(char c)
233{
234 volatile char * p = (volatile char *)TADR_SFR_UART1_BASE;
235
236 while((p[TADR_SFR_UC1_OFFSET] & TBIT_UiC1_TI) == 0);
237 p[TADR_SFR_UTB_OFFSET] = c;
238}
239
240#endif /* _MACRO_ONLY */
241#endif /* _OAKS16MINI_H_ */
242
Note: See TracBrowser for help on using the repository browser.