Ignore:
Timestamp:
Jul 3, 2020, 7:19:17 PM (4 years ago)
Author:
coas-nagasima
Message:

ASP3, TINET, mbed を更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/kernel/cyclic.c

    r321 r429  
    66 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    77 *                              Toyohashi Univ. of Technology, JAPAN
    8  *  Copyright (C) 2005-2016 by Embedded and Real-Time Systems Laboratory
     8 *  Copyright (C) 2005-2018 by Embedded and Real-Time Systems Laboratory
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
     
    175175        CYCINIB         *p_cycinib;
    176176        ATR                     cycatr;
    177         T_NFYINFO       nfyinfo, *p_nfyinfo;
    178         RELTIM          cyctim;
    179         RELTIM          cycphs;
    180         ER                      ercd, rercd;
     177        RELTIM          cyctim, cycphs;
     178        T_NFYINFO       *p_nfyinfo;
     179        ER                      ercd;
    181180
    182181        LOG_ACRE_CYC_ENTER(pk_ccyc);
     
    184183
    185184        cycatr = pk_ccyc->cycatr;
    186         nfyinfo = pk_ccyc->nfyinfo;
    187185        cyctim = pk_ccyc->cyctim;
    188186        cycphs = pk_ccyc->cycphs;
    189187
    190         CHECK_RSATR(cycatr, TA_STA);
    191         rercd = check_nfyinfo(&nfyinfo);
    192         if (rercd != E_OK) {
    193                 ercd = rercd;
     188        CHECK_VALIDATR(cycatr, TA_STA);
     189        ercd = check_nfyinfo(&(pk_ccyc->nfyinfo));
     190        if (ercd != E_OK) {
    194191                goto error_exit;
    195192        }
     
    206203                p_cycinib = (CYCINIB *)(p_cyccb->p_cycinib);
    207204                p_cycinib->cycatr = cycatr;
    208                 if (nfyinfo.nfymode == TNFY_HANDLER) {
    209                         p_cycinib->exinf = nfyinfo.nfy.handler.exinf;
    210                         p_cycinib->nfyhdr = (NFYHDR)(nfyinfo.nfy.handler.tmehdr);
     205                if (pk_ccyc->nfyinfo.nfymode == TNFY_HANDLER) {
     206                        p_cycinib->exinf = pk_ccyc->nfyinfo.nfy.handler.exinf;
     207                        p_cycinib->nfyhdr = (NFYHDR)(pk_ccyc->nfyinfo.nfy.handler.tmehdr);
    211208                }
    212209                else {
    213210                        p_nfyinfo = &acyc_nfyinfo_table[p_cycinib - acycinib_table];
    214                         *p_nfyinfo = nfyinfo;
     211                        *p_nfyinfo = pk_ccyc->nfyinfo;
    215212                        p_cycinib->exinf = (intptr_t) p_nfyinfo;
    216213                        p_cycinib->nfyhdr = notify_handler;
     
    221218                if ((p_cyccb->p_cycinib->cycatr & TA_STA) != 0U) {
    222219                        p_cyccb->cycsta = true;
    223                         tmevtb_enqueue(&(p_cyccb->tmevtb), p_cyccb->p_cycinib->cycphs);
     220                        tmevtb_enqueue_reltim(&(p_cyccb->tmevtb),
     221                                                                                p_cyccb->p_cycinib->cycphs);
    224222                }
    225223                else {
     
    311309                 *  初回の起動のためのタイムイベントを登録する[ASPD1036].
    312310                 */
    313                 tmevtb_enqueue(&(p_cyccb->tmevtb), p_cyccb->p_cycinib->cycphs);
     311                tmevtb_enqueue_reltim(&(p_cyccb->tmevtb), p_cyccb->p_cycinib->cycphs);
    314312                ercd = E_OK;
    315313        }
     
    414412        /*
    415413         *  通知ハンドラを,CPUロック解除状態で呼び出す.
     414         *
     415         *  周期通知の生成/削除はタスクからしか行えないため,周期通知初期
     416         *  化ブロックをCPUロック解除状態で参照しても問題ない.
    416417         */
    417418        unlock_cpu();
Note: See TracChangeset for help on using the changeset viewer.