dve68k_dga.h

説明を見る。
00001 /*
00002  *  TOPPERS/JSP Kernel
00003  *      Toyohashi Open Platform for Embedded Real-Time Systems/
00004  *      Just Standard Profile Kernel
00005  * 
00006  *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
00007  *                              Toyohashi Univ. of Technology, JAPAN
00008  * 
00009  *  上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation 
00010  *  によって公表されている GNU General Public License の Version 2 に記
00011  *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
00012  *  を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
00013  *  利用と呼ぶ)することを無償で許諾する.
00014  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
00015  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
00016  *      スコード中に含まれていること.
00017  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
00018  *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
00019  *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
00020  *      の無保証規定を掲載すること.
00021  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
00022  *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
00023  *      と.
00024  *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
00025  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
00026  *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
00027  *        報告すること.
00028  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
00029  *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
00030  * 
00031  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
00032  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
00033  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
00034  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
00035  * 
00036  *  @(#) $Id: dve68k_dga.h,v 1.2 2003/06/04 01:52:23 hiro Exp $
00037  */
00038 
00039 /*
00040  *      DGAのアクセスユーティリティ
00041  */
00042 
00043 #ifndef _DVE68K_DGA_H_
00044 #define _DVE68K_DGA_H_
00045 
00046 /*
00047  *  DGAの割込み制御ビットの定義
00048  */
00049 #define TBIT_ABT        0x40000000u     /* アボート割込みビット */
00050 #define TBIT_SQR        0x04000000u     /* SQR 割込みビット */
00051 #define TBIT_TT0        0x00100000u     /* タイマ0 割込みビット */
00052 #define TBIT_GP0        0x00010000u     /* シリアルI/O 割込みビット */
00053 
00054 /*
00055  *  DGAの割込みレベル設定のための定義
00056  */
00057 #define TIRQ_NMI        0x7u            /* ノンマスカブル割込み */
00058 #define TIRQ_LEVEL6     0x6u            /* 割込みレベル6 */
00059 #define TIRQ_LEVEL5     0x5u            /* 割込みレベル5 */
00060 #define TIRQ_LEVEL4     0x4u            /* 割込みレベル4 */
00061 #define TIRQ_LEVEL3     0x3u            /* 割込みレベル3 */
00062 #define TIRQ_LEVEL2     0x2u            /* 割込みレベル2 */
00063 #define TIRQ_LEVEL1     0x1u            /* 割込みレベル1 */
00064 
00065 #define TBIT_ABTIL      24              /* アボート割込み */
00066 #define TBIT_SQRIL      8               /* SRQ 割込み */
00067 
00068 #define TBIT_TT0IL      16              /* タイマ0 割込み */
00069 #define TBIT_GP0IL      0               /* シリアルI/O 割込み */
00070 
00071 #ifndef _MACRO_ONLY
00072 
00073 /*
00074  *  DGAのレジスタへのアクセス関数
00075  */
00076 
00077 Inline UW
00078 dga_read(VP addr)
00079 {
00080         return((UW) dga_rew_reg(addr));
00081 }
00082 
00083 Inline void
00084 dga_write(VP addr, UW val)
00085 {
00086         dga_wrw_reg(addr, (VW) val);
00087 }
00088 
00089 Inline void
00090 dga_bit_or(VP addr, UW bitpat)
00091 {
00092         dga_write(addr, dga_read(addr) | bitpat);
00093 }
00094 
00095 Inline void
00096 dga_bit_and(VP addr, UW bitpat)
00097 {
00098         dga_write(addr, dga_read(addr) & bitpat);
00099 }
00100 
00101 Inline void
00102 dga_set_ilv(VP addr, UINT shift, UINT level)
00103 {
00104         dga_write(addr, (dga_read(addr) & ~(0x07 << shift))
00105                                                 | (level << shift));
00106 } 
00107 
00108 #endif /* _MACRO_ONLY */
00109 #endif /* _DVE68K_DGA_H_ */
00110 

Copyright © 2006 by TAKAGI Nobuhisa.
Copyright © 2006 by Kijineko Inc..
このページは Mon Dec 18 17:18:38 2006 に Doxygen によって生成されました。
データ入力からプログラム開発まで!様々なスキルを持ったメンバーが登録しています【@SOHO】