Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/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
    r388 r389  
    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  *  ターゲット依存æƒ
    93 å ±ã®å®šç¾©
     73 *  ターゲット依存情報の定義
    9474 */
    9575#include "target_kernel_impl.h"
    9676
    9777/*
    98  *  すべての関数をコンパイルするための定義
     78 *  すべての関数をコンパイルするための定義
    9979 */
    10080#ifdef ALLFUNC
     
    10383
    10484/*
    105  *  ビットフィールドでの符号無し整数型
    106  *
    107  *  8ビット以下のå¹
    108 ã®ãƒ“ットフィールドで,符号無し整数値を保持したい場合
    109  *  に用いるべきデータ型.ANSI Cでは,ビットフィールドのデータ型には
    110  *  intとunsigned intしか許されないため,デフォルトの定義はunsigned
    111  *  intとしているが,ターゲットおよびツール依存で,unsigned charまたは
    112  *  unsigned shortに定義した方が効率が良い場合がある.
     85 *  ビットフィールドでの符号無し整数型
     86 *
     87 *  8ビット以下の幅のビットフィールドで,符号無し整数値を保持したい場合
     88 *  に用いるべきデータ型.ANSI Cでは,ビットフィールドのデータ型には
     89 *  intとunsigned intしか許されないため,デフォルトの定義はunsigned
     90 *  intとしているが,ターゲットおよびツール依存で,unsigned charまたは
     91 *  unsigned shortに定義した方が効率が良い場合がある.
    11392 */
    11493#ifndef BIT_FIELD_UINT
     
    11796
    11897/*
    119  *  ビットフィールドでのブール型
    120  *
    121  *  1ビットå¹
    122 ã®ãƒ“ットフィールドで,ブール値を保持したい場合に用いるべき
    123  *  データ型.デフォルトではBIT_FIELD_UINTと同一に定義しているが,ブー
    124  *  ル値を保持することを明示するために別の名称としている.
     98 *  ビットフィールドでのブール型
     99 *
     100 *  1ビット幅のビットフィールドで,ブール値を保持したい場合に用いるべき
     101 *  データ型.デフォルトではBIT_FIELD_UINTと同一に定義しているが,ブー
     102 *  ル値を保持することを明示するために別の名称としている.
    125103 */
    126104#ifndef BIT_FIELD_BOOL
     
    129107
    130108/*
    131  *  オブジェクトIDの最小値の定義
    132  */
    133 #define TMIN_TSKID              1               /* タスクIDの最小値 */
    134 #define TMIN_SEMID              1               /* セマフォIDの最小値 */
    135 #define TMIN_FLGID              1               /* フラグIDの最小値 */
    136 #define TMIN_DTQID              1               /* データキューIDの最小値 */
    137 #define TMIN_PDQID              1               /* 優å
    138 ˆåº¦ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼IDの最小値 */
    139 #define TMIN_MTXID              1               /* ミューテックスIDの最小値 */
    140 #define TMIN_MPFID              1               /* 固定長メモリプールIDの最小値 */
    141 #define TMIN_CYCID              1               /* 周期通知IDの最小値 */
    142 #define TMIN_ALMID              1               /* アラーム通知IDの最小値 */
    143 #define TMIN_ISRID              1               /* 割込みサービスルーチンIDの最小値 */
    144 
    145 /*
    146  *  優å
    147 ˆåº¦ã®æ®µéšŽæ•°ã®å®šç¾©
     109 *  オブジェクトIDの最小値の定義
     110 */
     111#define TMIN_TSKID              1               /* タスクIDの最小値 */
     112#define TMIN_SEMID              1               /* セマフォIDの最小値 */
     113#define TMIN_FLGID              1               /* フラグIDの最小値 */
     114#define TMIN_DTQID              1               /* データキューIDの最小値 */
     115#define TMIN_PDQID              1               /* 優先度データキューIDの最小値 */
     116#define TMIN_MTXID              1               /* ミューテックスIDの最小値 */
     117#define TMIN_MPFID              1               /* 固定長メモリプールIDの最小値 */
     118#define TMIN_CYCID              1               /* 周期通知IDの最小値 */
     119#define TMIN_ALMID              1               /* アラーム通知IDの最小値 */
     120#define TMIN_ISRID              1               /* 割込みサービスルーチンIDの最小値 */
     121
     122/*
     123 *  優先度の段階数の定義
    148124 */
    149125#define TNUM_TPRI               (TMAX_TPRI - TMIN_TPRI + 1)
     
    152128
    153129/*
    154  *  カーネルå†
    155 éƒ¨ã§ä½¿ç”¨ã™ã‚‹å±žæ€§ã®å®šç¾©
    156  */
    157 #define TA_NOEXS                ((ATR)(-1))                     /* 未登録状æ
    158 ‹ */
     130 *  カーネル内部で使用する属性の定義
     131 */
     132#define TA_NOEXS                ((ATR)(-1))                     /* 未登録状態 */
    159133
    160134#ifndef TA_MEMALLOC
    161 #define TA_MEMALLOC             UINT_C(0x8000)          /* メモリ領域をカーネルで確保 */
     135#define TA_MEMALLOC             UINT_C(0x8000)          /* メモリ領域をカーネルで確保 */
    162136#endif /* TA_MEMALLOC */
    163137#ifndef TA_MBALLOC
    164 #define TA_MBALLOC              UINT_C(0x4000)          /* 管理領域をカーネルで確保 */
     138#define TA_MBALLOC              UINT_C(0x4000)          /* 管理領域をカーネルで確保 */
    165139#endif /* TA_MBALLOC */
    166140
    167141/*
    168  *  ターゲット定義のエラーチェックマクロのデフォルト値の定義
     142 *  ターゲット定義のエラーチェックマクロのデフォルト値の定義
    169143 */
    170144#ifndef TARGET_TSKATR
    171 #define TARGET_TSKATR           0U              /* ターゲット定義のタスク属性 */
     145#define TARGET_TSKATR           0U              /* ターゲット定義のタスク属性 */
    172146#endif /* TARGET_TSKATR */
    173147
    174148#ifndef TARGET_ISRATR
    175 #define TARGET_ISRATR           0U              /* ターゲット定義のISR属性 */
     149#define TARGET_ISRATR           0U              /* ターゲット定義のISR属性 */
    176150#endif /* TARGET_ISRATR */
    177151
    178152/*
    179  *  ヘッダファイルを持たないモジュールの関数・変数の宣言
     153 *  ヘッダファイルを持たないモジュールの関数・変数の宣言
    180154 */
    181155#ifndef TOPPERS_MACRO_ONLY
    182156
    183157/*
    184  *  TECSの初期化(init_tecs.c)
     158 *  TECSの初期化(init_tecs.c)
    185159 */
    186160extern void initialize_tecs(void);
    187161
    188162/*
    189  *  各モジュールの初期化(kernel_cfg.c)
     163 *  各モジュールの初期化(kernel_cfg.c)
    190164 */
    191165extern void     initialize_object(void);
    192166
    193167/*
    194  *  初期化ルーチンの実行(kernel_cfg.c)
     168 *  初期化ルーチンの実行(kernel_cfg.c)
    195169 */
    196170extern void     call_inirtn(void);
    197171
    198172/*
    199  *  終了処理ルーチンの実行(kernel_cfg.c)
     173 *  終了処理ルーチンの実行(kernel_cfg.c)
    200174 */
    201175extern void     call_terrtn(void);
    202176
    203177/*
    204  *  非タスクコンテキスト用のスタック領域(kernel_cfg.c)
    205  */
    206 extern const size_t     istksz;         /* スタック領域のサイズ(丸めた値) */
    207 extern STK_T *const     istk;           /* スタック領域のå
    208 ˆé ­ç•ªåœ° */
     178 *  非タスクコンテキスト用のスタック領域(kernel_cfg.c)
     179 */
     180extern const size_t     istksz;         /* スタック領域のサイズ(丸めた値) */
     181extern STK_T *const     istk;           /* スタック領域の先頭番地 */
    209182#ifdef TOPPERS_ISTKPT
    210 extern STK_T *const     istkpt;         /* スタックポインタの初期値 */
     183extern STK_T *const     istkpt;         /* スタックポインタの初期値 */
    211184#endif /* TOPPERS_ISTKPT */
    212185
    213186/*
    214  *  カーネルが割り付けるメモリ領域(kernel_cfg.c)
    215  */
    216 extern const size_t     kmmsz;          /* カーネルが割り付けるメモリ領域のサイズ */
    217 extern MB_T *const      kmm;            /* カーネルが割り付けるメモリ領域のå
    218 ˆé ­ç•ªåœ° */
    219 
    220 /*
    221  *  カーネル動作状æ
    222 ‹ãƒ•ãƒ©ã‚°ï¼ˆstartup.c)
     187 *  カーネルが割り付けるメモリ領域(kernel_cfg.c)
     188 */
     189extern const size_t     kmmsz;          /* カーネルが割り付けるメモリ領域のサイズ */
     190extern MB_T *const      kmm;            /* カーネルが割り付けるメモリ領域の先頭番地 */
     191
     192/*
     193 *  カーネル動作状態フラグ(startup.c)
    223194 */
    224195extern bool_t   kerflg;
    225196
    226197/*
    227  *  カーネルの起動(startup.c)
     198 *  カーネルの起動(startup.c)
    228199 */
    229200extern void     sta_ker(void);
    230201
    231202/*
    232  *  カーネルの終了処理(startup.c)
     203 *  カーネルの終了処理(startup.c)
    233204 */
    234205extern void     exit_kernel(void);
    235206
    236207/*
    237  *  カーネルの割り付けるメモリ領域の管理(startup.c)
     208 *  カーネルの割り付けるメモリ領域の管理(startup.c)
    238209 */
    239210extern void initialize_kmm(void);
     
    242213
    243214/*
    244  *  通知ハンドラの型定義
     215 *  通知ハンドラの型定義
    245216 */
    246217typedef void    (*NFYHDR)(intptr_t exinf);
    247218
    248219/*
    249  *  通知方法のエラーチェック
     220 *  通知方法のエラーチェック
    250221 */
    251222extern ER check_nfyinfo(const T_NFYINFO *p_nfyinfo);
    252223
    253224/*
    254  *  通知ハンドラ
     225 *  通知ハンドラ
    255226 */
    256227extern void notify_handler(intptr_t exinf);
Note: See TracChangeset for help on using the changeset viewer.