OSDN Git Service

不要なstart.o指定を削除
[toppersasp4lpc/asp.git] / asp / target / lm3s8962_gcc / target_serial.h
1 /*
2  *  TOPPERS/ASP Kernel
3  *      Toyohashi Open Platform for Embedded Real-Time Systems/
4  *      Advanced Standard Profile Kernel
5  * 
6  *  Copyright (C) 2008 by Embedded and Real-Time Systems Laboratory
7  *              Graduate School of Information Science, Nagoya Univ., JAPAN
8  * 
9  *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
10  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
11  *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
12  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
13  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
14  *      スコード中に含まれていること.
15  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
16  *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
17  *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
18  *      の無保証規定を掲載すること.
19  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
20  *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
21  *      と.
22  *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
23  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
24  *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
25  *        報告すること.
26  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
27  *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
28  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
29  *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
30  *      免責すること.
31  * 
32  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
33  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
34  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
35  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
36  *  の責任を負わない.
37  * 
38  *  @(#) $Id: target_serial.h 1309 2008-08-27 07:48:51Z ertl-honda $
39  */
40
41 /*
42  *    シリアルI/Oデバイス(SIO)ドライバ
43  */
44
45 #ifndef TOPPERS_TARGET_SERIAL_H
46 #define TOPPERS_TARGET_SERIAL_H
47
48 #include "lm3s8962.h"
49 #include "hw_ints.h"
50
51 /*
52  *  SIOの割込みハンドラのベクタ番号
53  */
54 #define INHNO_SIO       INT_UART0  /* 割込みハンドラ番号 */
55 #define INTNO_SIO       INT_UART0  /* 割込み番号 */
56 #define INTPRI_SIO       -3        /* 割込み優先度 */
57 #define INTATR_SIO       0         /* 割込み属性 */
58
59 #ifndef TOPPERS_MACRO_ONLY
60
61 /*
62  *  シリアルI/Oポート管理ブロックの定義
63  */
64 typedef struct sio_port_control_block    SIOPCB;
65
66 /*
67  *  コールバックルーチンの識別番号
68  */
69 #define SIO_RDY_SND    1U        /* 送信可能コールバック */
70 #define SIO_RDY_RCV    2U        /* 受信通知コールバック */
71
72 /*
73  *  シリアルI/Oポート数の定義
74  */
75 #define TNUM_SIOP       1       /* サポートするシリアルI/Oポートの数 */
76
77 /*
78  *  SIOドライバの初期化
79  */
80 extern void sio_initialize(intptr_t exinf);
81
82 /*
83  *  シリアルI/Oポートのオープン
84  */
85 extern SIOPCB *sio_opn_por(ID siopid, intptr_t exinf);
86
87 /*
88  *  シリアルI/Oポートのクローズ
89  */
90 extern void sio_cls_por(SIOPCB *p_siopcb);
91
92 /*
93  *  SIOの割込みサービスルーチン
94  */
95 extern void sio_isr(intptr_t exinf);
96
97 /*
98  *  シリアルI/Oポートへの文字送信
99  */
100 extern bool_t sio_snd_chr(SIOPCB *p_siopcb, char c);
101
102 /*
103  *  シリアルI/Oポートからの文字受信
104  */
105 extern int_t sio_rcv_chr(SIOPCB *p_siopcb);
106
107 /*
108  *  シリアルI/Oポートからのコールバックの許可
109  */
110 extern void sio_ena_cbr(SIOPCB *p_siopcb, uint_t cbrtn);
111
112 /*
113  *  シリアルI/Oポートからのコールバックの禁止
114  */
115 extern void sio_dis_cbr(SIOPCB *p_siopcb, uint_t cbrtn);
116
117 /*
118  *  シリアルI/Oポートからの送信可能コールバック
119  */
120 extern void sio_irdy_snd(intptr_t exinf);
121
122 /*
123  *  シリアルI/Oポートからの受信通知コールバック
124  */
125 extern void sio_irdy_rcv(intptr_t exinf);
126
127 #endif /* TOPPERS_MACRO_ONLY */
128 #endif /* TOPPERS_TARGET_SERIAL_H */