/*
 *  TOPPESRS/SSPカーネルのサンプルプログラム
 */

#include "sample1.h"

INCLUDE("target_timer.cfg");
INCLUDE("syssvc/serial.cfg");
INCLUDE("syssvc/banner.cfg");
INCLUDE("syssvc/syslog.cfg");
INCLUDE("syssvc/logtask.cfg");

CRE_TSK(INIT_TASK , { TA_ACT , 0 , init_task , INIT_PRIORITY , STACK_SIZE , NULL });
CRE_TSK(MAIN_TASK , { TA_NULL , 0 , main_task , MAIN_PRIORITY , STACK_SIZE , NULL });
CRE_TSK(TASK1 , { TA_NULL , 1 , task , TASK1_PRIORITY , STACK_SIZE , NULL });
CRE_TSK(TASK2 , { TA_NULL , 2 , task , TASK2_PRIORITY , STACK_SIZE , NULL });
CRE_TSK(TASK3 , { TA_NULL , 3 , task , TASK3_PRIORITY , STACK_SIZE , NULL });

DEF_EPR(TASK3 , { TASK3_EXEPRIORITY });

CRE_CYC(MAIN_CYC , { TA_NULL , MAIN_TASK , main_task_cychdr , 100 , 100 });
CRE_CYC(CYC1 , { TA_NULL , 0 , cyclic_handler , 2000 , 2000 });
CRE_ALM(ALM1 , { TA_NULL , TASK2 , alarm_handler });

CRE_FLG(FLG1 , { TA_NULL , 0x00000000 });
CRE_DTQ(DTQ1 , { TA_NULL , 3 , NULL });

DEF_STK({ ALL_STACKSIZE , NULL });
DEF_ICS({ INTERRUPT_STACKSIZE , NULL });

#ifdef CPUEXC1
DEF_EXC(CPUEXC1 , { TA_NULL , exc_handler });
#endif /* CPUEXC1 */

