/** * @file autosar_tp_s2/autosar_tp_s2.oil * * @section desc File description * * @section copyright Copyright * * Trampoline Test Suite * * Trampoline Test Suite is copyright (c) IRCCyN 2005-2007 * Trampoline Test Suite is protected by the French intellectual property law. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; version 2 * of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * @section infos File informations * * $Date$ * $Rev$ * $Author$ * $URL$ */ OIL_VERSION = "3.1" : "autosar_st_s1" ; #include IMPLEMENTATION trampoline { OS { ENUM [EXTENDED] STATUS; }; TASK { UINT32 [1..10] PRIORITY = 1 ; } ; }; CPU test { OS config { STATUS = EXTENDED; BUILD = TRUE { APP_SRC = "autosar_tp_s2.c"; APP_SRC = "task1_instance1.c"; APP_SRC = "task1_instance2.c"; APP_SRC = "task1_instance3.c"; APP_SRC = "task2_instance.c"; APP_SRC = "task3_instance.c"; APP_SRC = "task4_instance.c"; APP_SRC = "protection_instance1.c"; APP_SRC = "protection_instance2.c"; TRAMPOLINE_BASE_PATH = "../../.."; APP_NAME = "autosar_tp_s2_exe"; }; SHUTDOWNHOOK = TRUE; ERRORHOOK = TRUE; USEGETSERVICEID = TRUE; USEPARAMETERACCESS = TRUE; PROTECTIONHOOK = TRUE; }; APPMODE std {}; TASK t1 { AUTOSTART = TRUE { APPMODE = std; }; PRIORITY = 2; ACTIVATION = 1; SCHEDULE = FULL; TIMING_PROTECTION = TRUE { EXECUTIONBUDGET = 10000; /* long enough to let the task execute itself plus t2 (to test a task preempted and finishing before the Execution budget) */ TIMEFRAME = 1; /*MAXOSINTERRUPTLOCKTIME = 1; MAXALLINTERRUPTLOCKTIME = 1;*/ }; EVENT = t1_event1; }; TASK t2 { AUTOSTART = FALSE; PRIORITY = 3; ACTIVATION = 1; SCHEDULE = FULL; }; TASK t3 { AUTOSTART = TRUE { APPMODE = std; }; PRIORITY = 3; ACTIVATION = 1; SCHEDULE = FULL; TIMING_PROTECTION = TRUE { EXECUTIONBUDGET = 10000; TIMEFRAME = 1; /* MAXOSINTERRUPTLOCKTIME = 1; MAXALLINTERRUPTLOCKTIME = 1;*/ }; EVENT = t3_event1; }; TASK t4 { AUTOSTART = FALSE; PRIORITY = 1; ACTIVATION = 1; SCHEDULE = FULL; }; COUNTER Hardware_Counter{ MAXALLOWEDVALUE = 16; TICKSPERBASE = 10; MINCYCLE = 1; TYPE = HARDWARE {}; }; SCHEDULETABLE sched1 { COUNTER = Hardware_Counter; AUTOSTART = RELATIVE { OFFSET = 1; APPMODE = std; }; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = TRUE; LENGTH = 5; EXPIRY_POINT exp1 { OFFSET = 0; ACTION = SETEVENT { TASK = t1; EVENT = t1_event1; }; }; }; EVENT t1_event1{ MASK = AUTO;}; EVENT t3_event1{ MASK = AUTO;}; }; /* End of file autosar_tp_s2/autosar_tp_s2.oil */