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/tecs_kernel/kernel.cdl

    r321 r429  
    66 *  Copyright (C) 2015,2016 by Ushio Laboratory
    77 *              Graduate School of Engineering Science, Osaka Univ., JAPAN
    8  *  Copyright (C) 2015,2016 by Embedded and Real-Time Systems Laboratory
     8 *  Copyright (C) 2015-2018 by Embedded and Real-Time Systems Laboratory
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
     
    299299        ER              sendForce([in] intptr_t data);
    300300        ER              receive([out] intptr_t *p_data);
    301         ER              receivePolling([out] intptr_t *p_Data);
     301        ER              receivePolling([out] intptr_t *p_data);
    302302        ER              receiveTimeout([out] intptr_t *p_data, [in] TMO timeout);
    303303        ER              initialize(void);
     
    397397        ER              unlock(void);
    398398        ER              initialize(void);
    399         ER              refer([out] T_RSEM *pk_mutexStatus);
     399        ER              refer([out] T_RMTX *pk_mutexStatus);
    400400};
    401401
     
    501501
    502502        attr {
    503                 ID                              id = C_EXP("ALMID_$id$");
     503                ID                              id = C_EXP("CYCID_$id$");
    504504                [omit] ATR              attribute = C_EXP("TA_NULL");
    505505                [omit] bool_t   ignoreErrors = false;
     
    536536
    537537/*
    538  *  周期通知にユーザーハンドラを指定するための複合セルタイプ
     538 *  周期通知にタイムイベントハンドラを指定するための複合セルタイプ
    539539 */
    540540[active]
     
    544544
    545545        attr {
    546                 ID                              id = C_EXP("ALMID_$id$");
     546                ID                              id = C_EXP("CYCID_$id$");
    547547                [omit] ATR              attribute = C_EXP("TA_NULL");
    548548                [omit] RELTIM   cycleTime;
     
    630630
    631631/*
    632  *  アラーム通知にユーザーハンドラを指定するための複合セルタイプ
     632 *  アラーム通知にタイムイベントハンドラを指定するための複合セルタイプ
    633633 */
    634634[active]
     
    663663        ER              disable(void);
    664664        ER              enable(void);
     665        ER              clear(void);
     666        ER              raise(void);
     667        ER_BOOL probe(void);
    665668};
    666669
     
    715718
    716719        attr {
    717                 INHNO                   interruptHandlerNumber;
    718                 [omit] ATR              attribute = C_EXP("TA_NULL");
    719         };
    720 
    721         factory {
    722                 write("tecsgen.cfg",
    723                                 "DEF_INH(%s, { %s, tInterruptHandler_start });", attribute);
     720                [omit] INHNO    interruptHandlerNumber;
     721                [omit] ATR              attribute = C_EXP("TA_NULL");
     722        };
     723
     724        factory {
     725                write("tecsgen.cfg", "DEF_INH(%s, { %s, $id$_start });",
     726                                                                        interruptHandlerNumber, attribute);
     727                write("$ct$_tecsgen.h",
     728                                "#ifndef TOPPERS_MACRO_ONLY\n"
     729                                "extern void $id$_start(void);\n"
     730                                "#endif /* TOPPERS_MACRO_ONLY */\n");
     731                write("$ct$.c",
     732                                "void $id$_start()\n"
     733                                "{\n"
     734                                "    CELLCB *p_cellcb = $cbp$;\n"
     735                                "    ciInterruptHandlerBody_main();\n"
     736                                "}\n");
    724737        };
    725738        FACTORY {
    726739                write("tecsgen.cfg", "#include \"$ct$_tecsgen.h\"");
    727         };
     740                write("$ct$.c", "#include \"$ct$_tecsgen.h\"");
     741        };
     742};
     743
     744/*
     745 *  CPU例外ハンドラ本体のシグニチャ
     746 */
     747[context("non-task")]
     748signature siCpuExceptionHandlerBody {
     749        void    main([in] const void *p_excinf);
    728750};
    729751
     
    733755[active]
    734756celltype tCpuExceptionHandler {
    735         call    siHandlerBody   ciCpuExceptionHandlerBody;
    736 
    737         attr {
    738                 EXCNO                   cpuExceptionHandlerNumber;
    739                 [omit] ATR              attribute = C_EXP("TA_NULL");
    740         };
    741 
    742         factory {
    743                 write("tecsgen.cfg",
    744                                 "DEF_EXC(%s, { %s, tCpuExceptionHandler_start });", attribute);
     757        call    siCpuExceptionHandlerBody       ciCpuExceptionHandlerBody;
     758
     759        attr {
     760                [omit] EXCNO    cpuExceptionHandlerNumber;
     761                [omit] ATR              attribute = C_EXP("TA_NULL");
     762        };
     763
     764        factory {
     765                write("tecsgen.cfg", "DEF_EXC(%s, { %s, $id$_start });",
     766                                                                        cpuExceptionHandlerNumber, attribute);
     767                write("$ct$_tecsgen.h",
     768                                "#ifndef TOPPERS_MACRO_ONLY\n"
     769                                "extern void $id$_start(void *p_excinf);\n"
     770                                "#endif /* TOPPERS_MACRO_ONLY */\n");
     771                write("$ct$.c",
     772                                "void $id$_start(void *p_excinf)\n"
     773                                "{\n"
     774                                "    CELLCB *p_cellcb = $cbp$;\n"
     775                                "    ciCpuExceptionHandlerBody_main(p_excinf);\n"
     776                                "}\n");
    745777        };
    746778        FACTORY {
    747779                write("tecsgen.cfg", "#include \"$ct$_tecsgen.h\"");
     780                write("$ct$.c", "#include \"$ct$_tecsgen.h\"");
    748781        };
    749782};
Note: See TracChangeset for help on using the changeset viewer.