source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/m32c-renesas/oaks32/oaks32.h@ 26

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

initial

File size: 20.9 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 Naoki Saito
9 * Nagoya Municipal Industrial Research Institute, JAPAN
10 * Copyright (C) 2003-2004 by Platform Development Center
11 * RICOH COMPANY,LTD. JAPAN
12 *
13 * 上記著作権者
14は,Free Software Foundation によってå…
15¬è¡¨ã•ã‚Œã¦ã„ã‚‹
16 * GNU General Public License の Version 2 に記述されている条件か,以
17 * 下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェア(本ソフトウェ
18 * アを改変したものを含む.以下同じ)を使用・複製・改変・再é…
19å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
20 * 利用と呼ぶ)することを無償で許諾する.
21 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
22 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
23 * スコード中に含まれていること.
24 * (2) 本ソフトウェアを再利用可能なバイナリコード(リロケータブルオブ
25 * ジェクトファイルやライブラリなど)の形で利用する場合には,利用
26 * に伴うドキュメント(利用者
27マニュアルなど)に,上記の著作権表示,
28 * この利用条件および下記の無保証規定を掲載すること.
29 * (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組
30 * み込んだ形で利用する場合には,次のいずれかの条件を満たすこと.
31 * (a) 利用に伴うドキュメント(利用者
32マニュアルなど)に,上記の著作
33 * 権表示,この利用条件および下記の無保証規定を掲載すること.
34 * (b) 利用の形æ…
35‹ã‚’,別に定める方法によって,上記著作権者
36に報告する
37 * こと.
38 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
39 * 害からも,上記著作権者
40をå…
41è²¬ã™ã‚‹ã“と.
42 *
43 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
44は,
45 * 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ
46 * ない.また,本ソフトウェアの利用により直接的または間接的に生じたい
47 * かなる損害に関しても,その責任を負わない.
48 *
49 * @(#) $Id: oaks32.h,v 1.3 2005/11/24 12:41:23 honda Exp $
50 */
51
52#ifndef _OAKS32_H_
53#define _OAKS32_H_
54
55/*
56 * 割込み番号の定義
57 */
58#define INT_BRK 0 /* BRK */
59#define INT_AD1 7 /* A-D変換器1 */
60#define INT_DMA0 8 /* DMA0 */
61#define INT_DMA1 9 /* DMA1 */
62#define INT_DMA2 10 /* DMA2 */
63#define INT_DMA3 11 /* DMA3 */
64#define INT_TA0 12 /* タイマA0 */
65#define INT_TA1 13 /* タイマA1 */
66#define INT_TA2 14 /* タイマA2 */
67#define INT_TA3 15 /* タイマA3 */
68#define INT_TA4 16 /* タイマA4 */
69#define INT_S0TNACK 17 /* UART0送信,NACK */
70#define INT_S0RACK 18 /* UART0受信,ACK */
71#define INT_S1TNACK 19 /* UART1送信,NACK */
72#define INT_S1RACK 20 /* UART1受信,ACK */
73#define INT_TB0 21 /* タイマB0 */
74#define INT_TB1 22 /* タイマB1 */
75#define INT_TB2 23 /* タイマB2 */
76#define INT_TB3 24 /* タイマB3 */
77#define INT_TB4 25 /* タイマB4 */
78#define INT_INT5 26 /* INT5 */
79#define INT_INT4 27 /* INT4 */
80#define INT_INT3 28 /* INT3 */
81#define INT_INT2 29 /* INT2 */
82#define INT_INT1 30 /* INT1 */
83#define INT_INT0 31 /* INT0 */
84#define INT_TB5 32 /* タイマB5 */
85#define INT_S2TNACK 33 /* UART2送信,NACK */
86#define INT_S2RACK 34 /* UART2受信,ACK */
87#define INT_S3TNACK 35 /* UART3送信,NACK */
88#define INT_S3RACK 36 /* UART3受信,ACK */
89#define INT_S4TNACK 37 /* UART4送信,NACK */
90#define INT_S4RACK 38 /* UART4受信,ACK */
91
92#define INT_AD0 42 /* A-D変換器0 */
93#define INT_KEY 43 /* キーå…
94¥åŠ›å‰²ã‚Šè¾¼ã¿ */
95#define INT_IIO0 44 /* インテリジェントI/O割込み0 */
96#define INT_IIO1 45 /* インテリジェントI/O割込み1 */
97#define INT_IIO2 46 /* インテリジェントI/O割込み2 */
98#define INT_IIO3 47 /* インテリジェントI/O割込み3 */
99#define INT_IIO4 48 /* インテリジェントI/O割込み4 */
100#define INT_IIO5 49 /* インテリジェントI/O割込み5 */
101#define INT_IIO6 50 /* インテリジェントI/O割込み6 */
102#define INT_IIO7 51 /* インテリジェントI/O割込み7 */
103#define INT_IIO8 52 /* インテリジェントI/O割込み8 */
104#define INT_IIO9CAN0 53 /* インテリジェントI/O割込み9,CAN0 */
105#define INT_IIO10CAN1 54 /* インテリジェントI/O割込み10,CAN1 */
106#define INT_IIO11CAN2 57 /* インテリジェントI/O割込み11,CAN2 */
107
108/*
109 * OAKS32 SFRアドレス定義
110 *
111 * 割込みレジスタ
112 */
113#define TADR_SFR_INT_BASE 0x60 /* 割込み関連のベースアドレス */
114#define TADR_SFR_DM0IC_OFFSET 8 /* DMA0割込み制御レジスタ */
115#define TADR_SFR_TB5IC_OFFSET 9 /* timerB5 割込み制御レジスタ */
116#define TADR_SFR_DMA2IC_OFFSET 10 /* DMA2割込み制御レジスタ */
117#define TADR_SFR_S2RIC_OFFSET 11 /* uart2受信割込み制御レジスタ */
118#define TADR_SFR_TA0IC_OFFSET 12 /* timerA0 割込み制御レジスタ */
119#define TADR_SFR_S3RIC_OFFSET 13 /* uart3受信割込み制御レジスタ */
120#define TADR_SFR_TA2IC_OFFSET 14 /* timerA2 割込み制御レジスタ */
121#define TADR_SFR_S4RIC_OFFSET 15 /* uart4受信割込み制御レジスタ */
122#define TADR_SFR_TA4IC_OFFSET 16 /* timerA4 割込み制御レジスタ */
123#define TADR_SFR_BCN0IC_OFFSET 17 /* UART0バス衝突検出割込み制御レジスタ */
124#define TADR_SFR_BCN3IC_OFFSET 17 /* UART3バス衝突検出割込み制御レジスタ */
125#define TADR_SFR_S0RIC_OFFSET 18 /* uart0受信割込み制御レジスタ */
126#define TADR_SFR_AD0IC_OFFSET 19 /* A-D0変換割込み制御レジスタ */
127#define TADR_SFR_S1RIC_OFFSET 20 /* uart1受信割込み制御レジスタ */
128#define TADR_SFR_IIO0IC_OFFSET 21 /* インテリジェントI/O割込み制御レジスタ0 */
129#define TADR_SFR_TB1IC_OFFSET 22 /* timerB1 割込み制御レジスタ */
130#define TADR_SFR_IIO2IC_OFFSET 23 /* インテリジェントI/O割込み制御レジスタ2 */
131#define TADR_SFR_TB3IC_OFFSET 24 /* timerB3 割込み制御レジスタ */
132#define TADR_SFR_IIO4IC_OFFSET 25 /* インテリジェントI/O割込み制御レジスタ4 */
133#define TADR_SFR_INT5IC_OFFSET 26 /* SI/O4/INT5 割込み制御レジスタ */
134#define TADR_SFR_IIO6IC_OFFSET 27 /* インテリジェントI/O割込み制御レジスタ6 */
135#define TADR_SFR_INT3IC_OFFSET 28 /* INT3 割込み制御レジスタ */
136#define TADR_SFR_IIO8IC_OFFSET 29 /* インテリジェントI/O割込み制御レジスタ8 */
137#define TADR_SFR_INT1IC_OFFSET 30 /* INT1 割込み制御レジスタ */
138#define TADR_SFR_IIO10IC_OFFSET 31 /* インテリジェントI/O割込み制御レジスタ10 */
139#define TADR_SFR_CAN1IC_OFFSET 31 /* CAN割込み1制御レジスタ */
140#define TADR_SFR_IIO11IC_OFFSET 33 /* インテリジェントI/O割込み制御レジスタ11 */
141#define TADR_SFR_CAN2IC_OFFSET 33 /* CAN割込み2制御レジスタ */
142#define TADR_SFR_AD1IC_OFFSET 38 /* A-D1変換割込み制御レジスタ */
143#define TADR_SFR_DM1IC_OFFSET 40 /* DMA1割込み制御レジスタ */
144#define TADR_SFR_S2TIC_OFFSET 41 /* uart2送信割込み制御レジスタ */
145#define TADR_SFR_DM3IC_OFFSET 42 /* DMA3割込み制御レジスタ */
146#define TADR_SFR_S3TIC_OFFSET 43 /* uart3送信割込み制御レジスタ */
147#define TADR_SFR_TA1IC_OFFSET 44 /* timerA1 割込み制御レジスタ */
148#define TADR_SFR_S4TIC_OFFSET 45 /* uart4送信割込み制御レジスタ */
149#define TADR_SFR_TA3IC_OFFSET 46 /* timerA3 割込み制御レジスタ */
150#define TADR_SFR_BCN2IC_OFFSET 47 /* UART2バス衝突検出割込み制御レジスタ */
151#define TADR_SFR_S0TIC_OFFSET 48 /* uart0送信割込み制御レジスタ */
152#define TADR_SFR_BCN1IC_OFFSET 49 /* UART1バス衝突検出割込み制御レジスタ */
153#define TADR_SFR_BCN4IC_OFFSET 49 /* UART4バス衝突検出割込み制御レジスタ */
154#define TADR_SFR_S1TIC_OFFSET 50 /* uart1送信割込み制御レジスタ */
155#define TADR_SFR_KUPIC_OFFSET 51 /* キーå…
156¥åŠ›å‰²è¾¼ã¿åˆ¶å¾¡ãƒ¬ã‚¸ã‚¹ã‚¿ */
157#define TADR_SFR_TB0IC_OFFSET 52 /* timerB0 割込み制御レジスタ */
158#define TADR_SFR_IIO1IC_OFFSET 53 /* インテリジェントI/O割込み制御レジスタ1 */
159#define TADR_SFR_TB2IC_OFFSET 54 /* timerB2 割込み制御レジスタ */
160#define TADR_SFR_IIO3IC_OFFSET 55 /* インテリジェントI/O割込み制御レジスタ3 */
161#define TADR_SFR_TB4IC_OFFSET 56 /* timerB4 割込み制御レジスタ */
162#define TADR_SFR_IIO5IC_OFFSET 57 /* インテリジェントI/O割込み制御レジスタ5 */
163#define TADR_SFR_INT4IC_OFFSET 58 /* INT4 割込み制御レジスタ */
164#define TADR_SFR_IIO7IC_OFFSET 59 /* インテリジェントI/O割込み制御レジスタ7 */
165#define TADR_SFR_INT2IC_OFFSET 60 /* INT2 割込み制御レジスタ */
166#define TADR_SFR_IIO9IC_OFFSET 61 /* インテリジェントI/O割込み制御レジスタ9 */
167#define TADR_SFR_CAN0IC_OFFSET 61 /* CAN割込み0制御レジスタ */
168#define TADR_SFR_INT0IC_OFFSET 62 /* INT0 割込み制御レジスタ */
169
170/*
171 * タイマーレジスタ
172 */
173#define TADR_SFR_TBSR 0x300 /* timerB3,4,5カウント開始フラグ */
174#define TADR_SFR_TA11 0x302 /* timerA1-1レジスタ */
175#define TADR_SFR_TA21 0x304 /* timerA2-1レジスタ */
176#define TADR_SFR_TA41 0x306 /* timerA4-1レジスタ */
177#define TADR_SFR_INVC0 0x308 /* 三相PWM制御レジスタ0 */
178#define TADR_SFR_INVC1 0x309 /* 三相PWM制御レジスタ1 */
179#define TADR_SFR_IDB0 0x30a /* 三相出力バッファレジスタ0 */
180#define TADR_SFR_IDB1 0x30b /* 三相出力バッファレジスタ1 */
181#define TADR_SFR_DTT 0x30c /* 短絡防止タイマ */
182#define TADR_SFR_ICTB2 0x30d /* timerB2割込み発生頻度設定カウンタ */
183#define TADR_SFR_TB3 0x310 /* timerB3レジスタ */
184#define TADR_SFR_TB4 0x312 /* timerB4レジスタ */
185#define TADR_SFR_TB5 0x314 /* timerB5レジスタ */
186#define TADR_SFR_TB3MR 0x31b /* timerB3モードレジスタ */
187#define TADR_SFR_TB4MR 0x31c /* timerB4モードレジスタ */
188#define TADR_SFR_TB5MR 0x31d /* timerB5モードレジスタ */
189#define TADR_SFR_IFSR 0x31f /* 割込み要因選択レジスタ */
190
191#define TADR_SFR_TABSR 0x340 /* カウント開始フラグ */
192#define TADR_SFR_CPSRF 0x341 /* リセット プリスケーラ リセットフラグ */
193#define TADR_SFR_ONSF 0x342 /* ワンショト スタートフラグ */
194#define TADR_SFR_TRGSR 0x343 /* トリガーセレクト レジスタ */
195#define TADR_SFR_UDF 0x344 /* アップダウンフラグ */
196#define TADR_SFR_TA0 0x346 /* timerA0レジスタ */
197#define TADR_SFR_TA1 0x348 /* timerA1レジスタ */
198#define TADR_SFR_TA2 0x34a /* timerA2レジスタ */
199#define TADR_SFR_TA3 0x34c /* timerA3レジスタ */
200#define TADR_SFR_TA4 0x34e /* timerA4レジスタ */
201#define TADR_SFR_TB0 0x350 /* timerB0レジスタ */
202#define TADR_SFR_TB1 0x352 /* timerB1レジスタ */
203#define TADR_SFR_TB2 0x354 /* timerB2レジスタ */
204#define TADR_SFR_TA0MR 0x356 /* timerA0モードレジスタ */
205#define TADR_SFR_TA1MR 0x357 /* timerA1モードレジスタ */
206#define TADR_SFR_TA2MR 0x358 /* timerA2モードレジスタ */
207#define TADR_SFR_TA3MR 0x359 /* timerA3モードレジスタ */
208#define TADR_SFR_TA4MR 0x35a /* timerA4モードレジスタ */
209#define TADR_SFR_TB0MR 0x35b /* timerB0モードレジスタ */
210#define TADR_SFR_TB1MR 0x35c /* timerB1モードレジスタ */
211#define TADR_SFR_TB2MR 0x35d /* timerB2モードレジスタ */
212#define TADR_SFR_TB2SC 0x35e /* timerB2スペシャルモードレジスタ */
213#define TADR_SFR_TCSPR 0x35f /* カウントソースプリスケーラレジスタ */
214
215/*
216 * シリアルレジスタ
217 */
218#define TADR_SFR_UART0_BASE 0x360 /* uart0レジスタベースアドレス */
219#define TADR_SFR_UART1_BASE 0x2e0 /* uart1レジスタベースアドレス */
220#define TADR_SFR_UART2_BASE 0x330 /* uart2レジスタベースアドレス */
221#define TADR_SFR_UART3_BASE 0x320 /* uart3レジスタベースアドレス */
222#define TADR_SFR_UART4_BASE 0x2f0 /* uart4レジスタベースアドレス */
223
224#define TADR_SFR_USMR_OFFSET 7 /* 特殊モードレジスタ */
225#define TADR_SFR_USMR2_OFFSET 6 /* 特殊モードレジスタ2 */
226#define TADR_SFR_USMR3_OFFSET 5 /* 特殊モードレジスタ3 */
227#define TADR_SFR_USMR4_OFFSET 4 /* 特殊モードレジスタ4 */
228
229#define TADR_SFR_UMR_OFFSET 8 /* uart送受信モードレジスタ */
230#define TADR_SFR_UBRG_OFFSET 9 /* uartボーレートジェネレータ */
231#define TADR_SFR_UTB_OFFSET 10 /* uart送信バッファレジスタ */
232#define TADR_SFR_UC0_OFFSET 12 /* uart送受信制御レジスタ#0 */
233#define TADR_SFR_UC1_OFFSET 13 /* uart送受信制御レジスタ#1 */
234#define TADR_SFR_URB_OFFSET 14 /* uart受信バッファレジスタ */
235
236/*
237 * A-D/D-Aレジスタ
238 */
239#define TADR_SFR_AD00 0x380 /* A-Dレジスタ0 */
240#define TADR_SFR_AD01 0x382 /* A-Dレジスタ1 */
241#define TADR_SFR_AD02 0x384 /* A-Dレジスタ2 */
242#define TADR_SFR_AD03 0x386 /* A-Dレジスタ3 */
243#define TADR_SFR_AD04 0x388 /* A-Dレジスタ4 */
244#define TADR_SFR_AD05 0x38a /* A-Dレジスタ5 */
245#define TADR_SFR_AD06 0x38c /* A-Dレジスタ6 */
246#define TADR_SFR_AD07 0x38e /* A-Dレジスタ7 */
247#define TADR_SFR_AD0CON2 0x394 /* A-D制御レジスタ2 */
248#define TADR_SFR_AD0CON0 0x396 /* A-D制御レジスタ0 */
249#define TADR_SFR_AD0CON1 0x397 /* A-D制御レジスタ1 */
250
251#define TADR_SFR_AD10 0x1c0 /* A-Dレジスタ0 */
252#define TADR_SFR_AD11 0x1c2 /* A-Dレジスタ1 */
253#define TADR_SFR_AD12 0x1c4 /* A-Dレジスタ2 */
254#define TADR_SFR_AD13 0x1c6 /* A-Dレジスタ3 */
255#define TADR_SFR_AD14 0x1c8 /* A-Dレジスタ4 */
256#define TADR_SFR_AD15 0x1ca /* A-Dレジスタ5 */
257#define TADR_SFR_AD16 0x1cc /* A-Dレジスタ6 */
258#define TADR_SFR_AD17 0x1ce /* A-Dレジスタ7 */
259#define TADR_SFR_AD1CON2 0x1d4 /* A-D制御レジスタ2 */
260#define TADR_SFR_AD1CON0 0x1d6 /* A-D制御レジスタ0 */
261#define TADR_SFR_AD1CON1 0x1d7 /* A-D制御レジスタ1 */
262
263#define TADR_SFR_DA0 0x398 /* D-Aレジスタ0 */
264#define TADR_SFR_DA1 0x39a /* D-Aレジスタ1 */
265#define TADR_SFR_DACON 0x39c /* D-A制御レジスタ */
266
267/*
268 * 汎用ポートレジスタ(一部、144ピン版のみ)
269 */
270#define TADR_SFR_P0 0x3e0 /* ポートP0レジスタ */
271#define TADR_SFR_P1 0x3e1 /* ポートP1レジスタ */
272#define TADR_SFR_PD0 0x3e2 /* ポートP0方向レジスタ */
273#define TADR_SFR_PD1 0x3e3 /* ポートP1方向レジスタ */
274#define TADR_SFR_P2 0x3e4 /* ポートP2レジスタ */
275#define TADR_SFR_P3 0x3e5 /* ポートP3レジスタ */
276#define TADR_SFR_PD2 0x3e6 /* ポートP2方向レジスタ */
277#define TADR_SFR_PD3 0x3e7 /* ポートP3方向レジスタ */
278#define TADR_SFR_P4 0x3e8 /* ポートP4レジスタ */
279#define TADR_SFR_P5 0x3e9 /* ポートP5レジスタ */
280#define TADR_SFR_PD4 0x3ea /* ポートP4方向レジスタ */
281#define TADR_SFR_PD5 0x3eb /* ポートP5方向レジスタ */
282#define TADR_SFR_P6 0x3c0 /* ポートP6レジスタ */
283#define TADR_SFR_P7 0x3c1 /* ポートP7レジスタ */
284#define TADR_SFR_PD6 0x3c2 /* ポートP6方向レジスタ */
285#define TADR_SFR_PD7 0x3c3 /* ポートP7方向レジスタ */
286#define TADR_SFR_P8 0x3c4 /* ポートP8レジスタ */
287#define TADR_SFR_P9 0x3c5 /* ポートP9レジスタ */
288#define TADR_SFR_PD8 0x3c6 /* ポートP8方向レジスタ */
289#define TADR_SFR_PD9 0x3c7 /* ポートP9方向レジスタ */
290#define TADR_SFR_P10 0x3c8 /* ポートP10レジスタ */
291#define TADR_SFR_P11 0x3c9 /* ポートP11レジスタ(144ピン版のみ) */
292#define TADR_SFR_PD10 0x3ca /* ポートP10方向レジスタ */
293#define TADR_SFR_PD11 0x3cb /* ポートP11方向レジスタ(144ピン版のみ) */
294#define TADR_SFR_P12 0x3cc /* ポートP12レジスタ(144ピン版のみ) */
295#define TADR_SFR_P13 0x3cd /* ポートP13レジスタ(144ピン版のみ) */
296#define TADR_SFR_PD12 0x3ce /* ポートP12方向レジスタ(144ピン版のみ) */
297#define TADR_SFR_PD13 0x3cf /* ポートP13方向レジスタ(144ピン版のみ) */
298#define TADR_SFR_P14 0x3d0 /* ポートP14レジスタ(144ピン版のみ) */
299#define TADR_SFR_P15 0x3d1 /* ポートP15レジスタ(144ピン版のみ) */
300#define TADR_SFR_PD14 0x3d2 /* ポートP14方向レジスタ(144ピン版のみ) */
301#define TADR_SFR_PD15 0x3d3 /* ポートP15方向レジスタ(144ピン版のみ) */
302
303#define TADR_SFR_PUR0 0x3f0 /* プルアップ制御レジスタ0 */
304#define TADR_SFR_PUR1 0x3f1 /* プルアップ制御レジスタ1 */
305#define TADR_SFR_PUR2 0x3da /* プルアップ制御レジスタ2 */
306#define TADR_SFR_PUR3 0x3db /* プルアップ制御レジスタ3 */
307#define TADR_SFR_PUR4 0x3dc /* プルアップ制御レジスタ4(144ピン版のみ) */
308
309#define TADR_SFR_PCR 0x3ff /* ポート制御レジスタ */
310
311#define TADR_SFR_PS0 0x3b0 /* 機能選択レジスタA0 */
312#define TADR_SFR_PS1 0x3b1 /* 機能選択レジスタA1 */
313#define TADR_SFR_PS2 0x3b4 /* 機能選択レジスタA2 */
314#define TADR_SFR_PS3 0x3b5 /* 機能選択レジスタA3 */
315#define TADR_SFR_PS5 0x3b9 /* 機能選択レジスタA5(144ピン版のみ) */
316#define TADR_SFR_PS6 0x3bc /* 機能選択レジスタA6(144ピン版のみ) */
317#define TADR_SFR_PS7 0x3bd /* 機能選択レジスタA7(144ピン版のみ) */
318#define TADR_SFR_PS8 0x3a0 /* 機能選択レジスタA8(144ピン版のみ) */
319#define TADR_SFR_PS9 0x3a1 /* 機能選択レジスタA9(144ピン版のみ) */
320
321#define TADR_SFR_PSL0 0x3b2 /* 機能選択レジスタB0 */
322#define TADR_SFR_PSL1 0x3b3 /* 機能選択レジスタB1 */
323#define TADR_SFR_PSL2 0x3b6 /* 機能選択レジスタB2 */
324#define TADR_SFR_PSL3 0x3b7 /* 機能選択レジスタB3 */
325
326#define TADR_SFR_PSC 0x3af /* 機能選択レジスタC */
327
328
329/*
330 * 送受信制御レジスタ1 (UART0,UART1)
331 */
332#define TBIT_UiC1_RI 0x08 /* 受信完了フラグ */
333#define TBIT_UiC1_RE 0x04 /* 受信許可ビット */
334#define TBIT_UiC1_TI 0x02 /* 送信バッファ空フラグ */
335#define TBIT_UiC1_TE 0x01 /* 送信許可ビット */
336
337#define TBIT_UiC0_TXEPT 0x08 /* 送信レジスタ空フラグ */
338
339/*
340 * 割込み制御レジスタ
341 */
342#define TBIT_TAiIC_IR 0x08
343
344/*
345 * カウント開始フラグ (TABSR)
346 */
347#define TBIT_TABSR_TA0S 0x01
348
349/*
350 * アップダウンフラグ(UDF)
351 */
352#define TBIT_UDF_TA0UD 0x01
353
354
355/*
356 * ポート7設定
357 */
358//#define P7_LED1 0x10 /* LED1ビット定義 */
359//#define P7_LED2 0x20 /* LED2ビット定義 */
360
361#ifndef _MACRO_ONLY
362
363#include "cpu_defs.h"
364
365/*
366 * ターゲットシステムの文字出力
367 */
368
369Inline void
370oaks32_putc(char c)
371{
372 char enabled;
373 volatile char * p = (volatile char *)TADR_SFR_UART0_BASE;
374
375 /* 送信許可されていなければ許可する */
376 enabled = p[TADR_SFR_UC1_OFFSET] & TBIT_UiC1_TE;
377 if(!enabled) {
378 p[TADR_SFR_UC1_OFFSET] |= TBIT_UiC1_TE;
379 }
380
381 /* 送信バッファが空になるまで待
382つ(有限時間内
383の条件成立を仮定) */
384 while((p[TADR_SFR_UC1_OFFSET] & TBIT_UiC1_TI) == 0);
385
386 /* 1文字送信 */
387 p[TADR_SFR_UTB_OFFSET] = c;
388
389 if(!enabled) {
390 p[TADR_SFR_UC1_OFFSET] &= ~TBIT_UiC1_TE;
391 }
392}
393
394#endif /* _MACRO_ONLY */
395#endif /* _OAKS32_H_ */
396
Note: See TracBrowser for help on using the repository browser.