source: ssp_arm_gcc/trunk/target/at91skyeye_gcc/target_serial.h@ 92

Last change on this file since 92 was 92, checked in by nmir-saito, 9 years ago

add separate package of SSP kernel for ARM + SkyEye(experimental)

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