Ignore:
Timestamp:
Aug 23, 2017, 9:27:43 AM (7 years ago)
Author:
coas-nagasima
Message:

文字コードを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/kernel/kernel_impl.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r270 r321  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    11  *  上記著作権è€
    12 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    13  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    14  *  変・再é
    15 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    16  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    17  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    18  *      スコード中に含まれていること.
    19  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    20  *      用できる形で再é
    21 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    22 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    23  *      è€
    24 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    25  *      の無保証規定を掲載すること.
    26  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    27  *      用できない形で再é
    28 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    29  *      と.
    30  *    (a) 再é
    31 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    32 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    33  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    34  *    (b) 再é
    35 å¸ƒã®å½¢æ
    36 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    37  *        報告すること.
    38  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    39  *      害からも,上記著作権è€
    40 ãŠã‚ˆã³TOPPERSプロジェクトをå
    41 è²¬ã™ã‚‹ã“と.
    42  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    43  *      由に基づく請求からも,上記著作権è€
    44 ãŠã‚ˆã³TOPPERSプロジェクトを
    45  *      å
    46 è²¬ã™ã‚‹ã“と.
    47  *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
     33 *
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              TOPPERS/ASPカーネルå†
    60 éƒ¨å‘け標準ヘッダファイル
    61  *
    62  *  このヘッダファイルは,カーネルを構成するプログラムのソースファイル
    63  *  でå¿
    64 ãšã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã™ã‚‹ã¹ãæ¨™æº–ヘッダファイルである.
    65  *
    66  *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
    67  *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
    68  *  除くようになっている.
     44 *              TOPPERS/ASPカーネル内部向け標準ヘッダファイル
     45 *
     46 *  このヘッダファイルは,カーネルを構成するプログラムのソースファイル
     47 *  で必ずインクルードするべき標準ヘッダファイルである.
     48 *
     49 *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
     50 *  は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を
     51 *  除くようになっている.
    6952 */
    7053
     
    7356
    7457/*
    75  *  カーネルのå†
    76 éƒ¨è­˜åˆ¥åã®ãƒªãƒãƒ¼ãƒ 
     58 *  カーネルの内部識別名のリネーム
    7759 */
    7860#include "kernel_rename.h"
    7961
    8062/*
    81  *  アプリケーションとå
    82 ±é€šã®ãƒ˜ãƒƒãƒ€ãƒ•ã‚¡ã‚¤ãƒ«
     63 *  アプリケーションと共通のヘッダファイル
    8364 */
    8465#include <kernel.h>
    8566
    8667/*
    87  *  システムログ機能のための定義
     68 *  システムログ機能のための定義
    8869 */
    8970#include <t_syslog.h>
    9071
    9172/*
    92  *  型キャストを行うマクロの定義
     73 *  型キャストを行うマクロの定義
    9374 */
    9475#ifndef CAST
     
    9778
    9879/*
    99  *  ターゲット依存æƒ
    100 å ±ã®å®šç¾©
     80 *  ターゲット依存情報の定義
    10181 */
    10282#include "target_kernel_impl.h"
    10383
    10484/*
    105  *  すべての関数をコンパイルするための定義
     85 *  すべての関数をコンパイルするための定義
    10686 */
    10787#ifdef ALLFUNC
     
    11090
    11191/*
    112  *  ビットフィールドでの符号無し整数型
    113  *
    114  *  8ビット以下のå¹
    115 ã®ãƒ“ットフィールドで,符号無し整数値を保持したい場合
    116  *  に用いるべきデータ型.ANSI Cでは,ビットフィールドのデータ型には
    117  *  intとunsigned intしか許されないため,デフォルトの定義はunsigned
    118  *  intとしているが,ターゲットおよびツール依存で,unsigned charまたは
    119  *  unsigned shortに定義した方が効率が良い場合がある.
     92 *  ビットフィールドでの符号無し整数型
     93 *
     94 *  8ビット以下の幅のビットフィールドで,符号無し整数値を保持したい場合
     95 *  に用いるべきデータ型.ANSI Cでは,ビットフィールドのデータ型には
     96 *  intとunsigned intしか許されないため,デフォルトの定義はunsigned
     97 *  intとしているが,ターゲットおよびツール依存で,unsigned charまたは
     98 *  unsigned shortに定義した方が効率が良い場合がある.
    12099 */
    121100#ifndef BIT_FIELD_UINT
     
    124103
    125104/*
    126  *  ビットフィールドでのブール型
    127  *
    128  *  1ビットå¹
    129 ã®ãƒ“ットフィールドで,ブール値を保持したい場合に用いるべき
    130  *  データ型.デフォルトではBIT_FIELD_UINTと同一に定義しているが,ブー
    131  *  ル値を保持することを明示するために別の名称としている.
     105 *  ビットフィールドでのブール型
     106 *
     107 *  1ビット幅のビットフィールドで,ブール値を保持したい場合に用いるべき
     108 *  データ型.デフォルトではBIT_FIELD_UINTと同一に定義しているが,ブー
     109 *  ル値を保持することを明示するために別の名称としている.
    132110 */
    133111#ifndef BIT_FIELD_BOOL
     
    136114
    137115/*
    138  *  オブジェクトIDの最小値の定義
    139  */
    140 #define TMIN_TSKID              1               /* タスクIDの最小値 */
    141 #define TMIN_SEMID              1               /* セマフォIDの最小値 */
    142 #define TMIN_FLGID              1               /* フラグIDの最小値 */
    143 #define TMIN_DTQID              1               /* データキューIDの最小値 */
    144 #define TMIN_PDQID              1               /* 優å
    145 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼IDの最小値 */
    146 #define TMIN_MTXID              1               /* ミューテックスIDの最小値 */
    147 #define TMIN_MPFID              1               /* 固定長メモリプールIDの最小値 */
    148 #define TMIN_CYCID              1               /* 周期通知IDの最小値 */
    149 #define TMIN_ALMID              1               /* アラーム通知IDの最小値 */
    150 #define TMIN_ISRID              1               /* 割込みサービスルーチンIDの最小値 */
    151 
    152 /*
    153  *  優å
    154 ˆåº¦ã®æ®µéšŽæ•°ã®å®šç¾©
     116 *  オブジェクトIDの最小値の定義
     117 */
     118#define TMIN_TSKID              1               /* タスクIDの最小値 */
     119#define TMIN_SEMID              1               /* セマフォIDの最小値 */
     120#define TMIN_FLGID              1               /* フラグIDの最小値 */
     121#define TMIN_DTQID              1               /* データキューIDの最小値 */
     122#define TMIN_PDQID              1               /* 優先度データキューIDの最小値 */
     123#define TMIN_MTXID              1               /* ミューテックスIDの最小値 */
     124#define TMIN_MPFID              1               /* 固定長メモリプールIDの最小値 */
     125#define TMIN_CYCID              1               /* 周期通知IDの最小値 */
     126#define TMIN_ALMID              1               /* アラーム通知IDの最小値 */
     127#define TMIN_ISRID              1               /* 割込みサービスルーチンIDの最小値 */
     128
     129/*
     130 *  優先度の段階数の定義
    155131 */
    156132#define TNUM_TPRI               (TMAX_TPRI - TMIN_TPRI + 1)
     
    159135
    160136/*
    161  *  カーネルå†
    162 éƒ¨ã§ä½¿ç”¨ã™ã‚‹å±žæ€§ã®å®šç¾©
    163  */
    164 #define TA_NOEXS                ((ATR)(-1))                     /* 未登録状æ
    165 ‹ */
     137 *  カーネル内部で使用する属性の定義
     138 */
     139#define TA_NOEXS                ((ATR)(-1))                     /* 未登録状態 */
    166140
    167141#ifndef TA_MEMALLOC
    168 #define TA_MEMALLOC             UINT_C(0x8000)          /* メモリ領域をカーネルで確保 */
     142#define TA_MEMALLOC             UINT_C(0x8000)          /* メモリ領域をカーネルで確保 */
    169143#endif /* TA_MEMALLOC */
    170144#ifndef TA_MBALLOC
    171 #define TA_MBALLOC              UINT_C(0x4000)          /* 管理領域をカーネルで確保 */
     145#define TA_MBALLOC              UINT_C(0x4000)          /* 管理領域をカーネルで確保 */
    172146#endif /* TA_MBALLOC */
    173147
    174148/*
    175  *  ターゲット定義のエラーチェックマクロのデフォルト値の定義
     149 *  ターゲット定義のエラーチェックマクロのデフォルト値の定義
    176150 */
    177151#ifndef TARGET_TSKATR
    178 #define TARGET_TSKATR           0U              /* ターゲット定義のタスク属性 */
     152#define TARGET_TSKATR           0U              /* ターゲット定義のタスク属性 */
    179153#endif /* TARGET_TSKATR */
    180154
    181155#ifndef TARGET_ISRATR
    182 #define TARGET_ISRATR           0U              /* ターゲット定義のISR属性 */
     156#define TARGET_ISRATR           0U              /* ターゲット定義のISR属性 */
    183157#endif /* TARGET_ISRATR */
    184158
    185159/*
    186  *  ヘッダファイルを持たないモジュールの関数・変数の宣言
     160 *  ヘッダファイルを持たないモジュールの関数・変数の宣言
    187161 */
    188162#ifndef TOPPERS_MACRO_ONLY
    189163
    190164/*
    191  *  TECSの初期化(init_tecs.c)
     165 *  TECSの初期化(init_tecs.c)
    192166 */
    193167extern void initialize_tecs(void);
    194168
    195169/*
    196  *  各モジュールの初期化(kernel_cfg.c)
     170 *  各モジュールの初期化(kernel_cfg.c)
    197171 */
    198172extern void     initialize_object(void);
    199173
    200174/*
    201  *  初期化ルーチンの実行(kernel_cfg.c)
     175 *  初期化ルーチンの実行(kernel_cfg.c)
    202176 */
    203177extern void     call_inirtn(void);
    204178
    205179/*
    206  *  終了処理ルーチンの実行(kernel_cfg.c)
     180 *  終了処理ルーチンの実行(kernel_cfg.c)
    207181 */
    208182extern void     call_terrtn(void);
    209183
    210184/*
    211  *  非タスクコンテキスト用のスタック領域(kernel_cfg.c)
    212  */
    213 extern const size_t     istksz;         /* スタック領域のサイズ(丸めた値) */
    214 extern STK_T *const     istk;           /* スタック領域のå
    215 ˆé ­ç•ªåœ° */
     185 *  非タスクコンテキスト用のスタック領域(kernel_cfg.c)
     186 */
     187extern const size_t     istksz;         /* スタック領域のサイズ(丸めた値) */
     188extern STK_T *const     istk;           /* スタック領域の先頭番地 */
    216189#ifdef TOPPERS_ISTKPT
    217 extern STK_T *const     istkpt;         /* スタックポインタの初期値 */
     190extern STK_T *const     istkpt;         /* スタックポインタの初期値 */
    218191#endif /* TOPPERS_ISTKPT */
    219192
    220193/*
    221  *  カーネルが割り付けるメモリ領域(kernel_cfg.c)
    222  */
    223 extern const size_t     kmmsz;          /* カーネルが割り付けるメモリ領域のサイズ */
    224 extern MB_T *const      kmm;            /* カーネルが割り付けるメモリ領域のå
    225 ˆé ­ç•ªåœ° */
    226 
    227 /*
    228  *  カーネル動作状æ
    229 ‹ãƒ•ãƒ©ã‚°ï¼ˆstartup.c)
     194 *  カーネルが割り付けるメモリ領域(kernel_cfg.c)
     195 */
     196extern const size_t     kmmsz;          /* カーネルが割り付けるメモリ領域のサイズ */
     197extern MB_T *const      kmm;            /* カーネルが割り付けるメモリ領域の先頭番地 */
     198
     199/*
     200 *  カーネル動作状態フラグ(startup.c)
    230201 */
    231202extern bool_t   kerflg;
    232203
    233204/*
    234  *  カーネルの起動(startup.c)
     205 *  カーネルの起動(startup.c)
    235206 */
    236207extern void     sta_ker(void);
    237208
    238209/*
    239  *  カーネルの終了処理(startup.c)
     210 *  カーネルの終了処理(startup.c)
    240211 */
    241212extern void     exit_kernel(void);
    242213
    243214/*
    244  *  カーネルの割り付けるメモリ領域の管理(startup.c)
     215 *  カーネルの割り付けるメモリ領域の管理(startup.c)
    245216 */
    246217extern void initialize_kmm(void);
     
    249220
    250221/*
    251  *  通知ハンドラの型定義
     222 *  通知ハンドラの型定義
    252223 */
    253224typedef void    (*NFYHDR)(intptr_t exinf);
    254225
    255226/*
    256  *  通知方法のエラーチェック
     227 *  通知方法のエラーチェック
    257228 */
    258229extern ER check_nfyinfo(const T_NFYINFO *p_nfyinfo);
    259230
    260231/*
    261  *  通知ハンドラ
     232 *  通知ハンドラ
    262233 */
    263234extern void notify_handler(intptr_t exinf);
Note: See TracChangeset for help on using the changeset viewer.