sys_defs.h

説明を見る。
00001 /*
00002  *  TOPPERS/FDMP Kernel
00003  *      Toyohashi Open Platform for Embedded Real-Time Systems/
00004  *      Function Distributed Multiprocessor Kernel
00005  *
00006  *  Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
00007  *              Graduate School of Information Science, Nagoya Univ., 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: sys_defs.h,v 1.2 2006/02/14 01:39:29 honda Exp $
00037  */
00038 
00039 
00040 /*
00041  *  システムに依存する定義(Altera Nios II 開発キット Stratix 用)
00042  *
00043  *  このインクルードファイルは,kernel.h と sil.h でインクルードされる.
00044  *  他のファイルから直接インクルードすることはない.このファイルをイン
00045  *  クルードする前に,t_stddef.h と itron.h がインクルードされるので,
00046  *  それらに依存してもよい.
00047  */
00048 
00049 
00050 #ifndef _SYS_DEFS_H_
00051 #define _SYS_DEFS_H_
00052 
00053 /*
00054  *  起動メッセージのターゲット名
00055  */
00056 #ifdef PE1
00057 #define    TARGET_NAME    "Nios2 Development Board(PE1)"
00058 #elif  PE2
00059 #define    TARGET_NAME    "Nios2 Development Board(PE2)"
00060 #elif  PE3
00061 #define    TARGET_NAME    "Nios2 Development Board(PE3)"
00062 #elif  PE4
00063 #define    TARGET_NAME    "Nios2 Development Board(PE4)"
00064 #endif 
00065 
00066 
00067 /*
00068  *  コンフィギュレーション依存の定義
00069  */
00070 
00071 /*
00072  * プロセッサ数
00073  */
00074 #ifdef DUAL
00075 #define NO_PROC 2
00076 #elif  QUAD
00077 #define NO_PROC 4
00078 #endif
00079 
00080 /*
00081  * プロセッサID
00082  */
00083 #ifdef PE1
00084 #define PRCID 1
00085 #elif  PE2
00086 #define PRCID 2
00087 #elif  PE3
00088 #define PRCID 3
00089 #elif  PE4
00090 #define PRCID 4
00091 #endif 
00092 
00093 
00094 /*
00095  * ROM と RAM のベースアドレス
00096  */
00097 #ifdef PE1
00098 #define ROM_BASE   0x00000000
00099 #define RAM_BASE   0x01100000 
00100 #elif  PE2
00101 #define ROM_BASE   0x00040000 
00102 #define RAM_BASE   0x02100000 
00103 #elif  PE3
00104 #define ROM_BASE   0x00080000 
00105 #define RAM_BASE   0x03100000 
00106 #elif  PE4
00107 #define ROM_BASE   0x000C0000 
00108 #define RAM_BASE   0x04100000 
00109 #endif 
00110 
00111 
00112 /*
00113  * ROM化を行うか
00114  */ 
00115 //#define BOOT_ROM
00116 
00117 /*
00118  *   タスク独立部用スタックの初期値
00119  */
00120 #ifdef PE1
00121 #define STACKTOP    0x01110000
00122 #elif  PE2
00123 #define STACKTOP    0x02110000
00124 #elif  PE3
00125 #define STACKTOP    0x03110000
00126 #elif  PE4
00127 #define STACKTOP    0x04110000
00128 #endif 
00129 
00130 /*
00131  *  タイマ値の内部表現とミリ秒単位との変換
00132  */
00133 #define TIMER_CLOCK     50000
00134 
00135 /*
00136  *  タイムティックの定義
00137  */
00138 #define    TIC_NUME    1        /* タイムティックの周期の分子 */
00139 #define    TIC_DENO    1        /* タイムティックの周期の分母 */
00140 
00141 #define USE_JTAG_UART
00142 
00146 #ifdef PE1
00147 #define PERI_BASEADDR  0x01000000
00148 #elif  PE2
00149 #define PERI_BASEADDR  0x02000000
00150 #elif  PE3
00151 #define PERI_BASEADDR  0x03000000
00152 #elif  PE4
00153 #define PERI_BASEADDR  0x04000000
00154 #endif
00155 
00156 /*
00157  *  TIMER のベースアドレス
00158  */
00159 #define TIM_BASE    (0x00000840 + PERI_BASEADDR)
00160 
00161 /*
00162  * カーネルで使用する UART のベースアドレス
00163  */
00164 #define UART_BASE   (0x00000860 + PERI_BASEADDR)
00165 
00166 /*
00167  *  Mutex
00168  */ 
00169 #define TSK_MUTEX   (0x00000810 + PERI_BASEADDR) 
00170 #define OBJ_MUTEX   (0x00000820 + PERI_BASEADDR)
00171 
00172 /*
00173  * プロセッサ間割り込みレジスタのアドレス
00174  */
00175 #define INTERPROC_BASE     0x800
00176 #define INTERPROC_OFFSET   0x01000000
00177 #define INTERPROC_CLEAR    (0x00000800 + PERI_BASEADDR)
00178 
00179 /*
00180  *  TIM 割込みの割込み番号
00181  */
00182 #define TIM_INTLVL      0
00183 
00184 /*
00185  * UART 割込みの割込み番号
00186  */
00187 #define UART_INTLVL     1
00188 
00189 /*
00190  * プロセッサ間割込みの割込み番号
00191  */ 
00192 #define INTERPROCLVL    2
00193 
00194 /*
00195  *  シリアルポート番号に関する定義
00196  */
00197 #define TNUM_PORT   1   /* サポートするシリアルポートの数 */
00198 #define TNUM_SIOP   1   /* サポートするシリアルI/Oポートの数 */
00199 
00200 /*
00201  *  システムタスクに関する定義
00202  */
00203 #define LOGTASK_PORTID    1    /* システムログを出力するシリアルポート番号 */
00204 
00205 /*
00206  *  微少時間待ちのための定義
00207  */
00208 #define SIL_DLY_TIM1    420
00209 #define SIL_DLY_TIM2    90
00210 
00211 
00212 /*
00213  *  LEDの接続先の情報
00214  */
00215 #define    LED_BASE  0x07110010
00216 
00217 
00218 #endif /* _SYS_DEFS_H_ */

Copyright © 2006 by TAKAGI Nobuhisa.
このページは Mon Apr 3 23:49:13 2006 に Doxygen によって生成されました。