/** * @file autosar_app_s4.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_app_s4"; #include IMPLEMENTATION trampoline { OS { ENUM [EXTENDED] STATUS; }; TASK { UINT32 [1..10] PRIORITY = 1; }; }; CPU test { OS config { STATUS = EXTENDED; BUILD = TRUE { APP_SRC = "autosar_app_s4.c"; APP_SRC = "task1_instance.c"; APP_SRC = "task3_instance1.c"; APP_SRC = "task3_instance2.c"; TRAMPOLINE_BASE_PATH = "../../.."; APP_NAME = "autosar_app_s4_exe"; }; SHUTDOWNHOOK = TRUE; }; APPMODE std {}; TASK t1 { AUTOSTART = TRUE { APPMODE = std; }; PRIORITY = 1; ACTIVATION = 1; SCHEDULE = FULL; RESOURCE = Resource1; }; TASK t2 { AUTOSTART = FALSE; PRIORITY = 2; ACTIVATION = 1; SCHEDULE = FULL; EVENT = Event2; RESOURCE = Resource2; }; TASK t3 { AUTOSTART = FALSE; PRIORITY = 3; ACTIVATION = 1; SCHEDULE = FULL; EVENT = Event3; ACCESSING_APPLICATION = app1; }; COUNTER Software_Counter1 { MAXALLOWEDVALUE = 100; TICKSPERBASE = 1; MINCYCLE = 1; TYPE = SOFTWARE; }; COUNTER Software_Counter2 { MAXALLOWEDVALUE = 100; TICKSPERBASE = 1; MINCYCLE = 1; TYPE = SOFTWARE; }; ALARM Alarm1 { COUNTER = Software_Counter1; ACTION = ACTIVATETASK { TASK = t1; }; AUTOSTART = FALSE; }; ALARM Alarm2 { COUNTER = Software_Counter2; ACTION = ACTIVATETASK { TASK = t2; }; AUTOSTART = FALSE; }; SCHEDULETABLE sched1 { COUNTER = Software_Counter1; AUTOSTART = NONE; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = TRUE { PRECISION = 1; SYNC_STRATEGY = EXPLICIT; }; PERIODIC = TRUE; LENGTH = 3; EXPIRY_POINT first_point { OFFSET = 0; ACTION = ACTIVATETASK { TASK = t1; }; }; }; SCHEDULETABLE sched2 { COUNTER = Software_Counter2; AUTOSTART = NONE; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = TRUE { PRECISION = 1; SYNC_STRATEGY = EXPLICIT; }; PERIODIC = TRUE; LENGTH = 3; EXPIRY_POINT first_point { OFFSET = 0; ACTION = ACTIVATETASK { TASK = t2; }; }; }; SCHEDULETABLE sched3 { COUNTER = Software_Counter1; AUTOSTART = NONE; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = TRUE { PRECISION = 1; SYNC_STRATEGY = EXPLICIT; }; PERIODIC = TRUE; LENGTH = 3; EXPIRY_POINT first_point { OFFSET = 0; ACTION = ACTIVATETASK { TASK = t1; }; }; }; RESOURCE Resource1 { RESOURCEPROPERTY = STANDARD; }; RESOURCE Resource2 { RESOURCEPROPERTY = STANDARD; }; APPLICATION app1 { TASK = t1; COUNTER = Software_Counter1; ALARM = Alarm1; RESOURCE = Resource1; SCHEDULETABLE = sched1; SCHEDULETABLE = sched3; }; APPLICATION app2 { TASK = t2; COUNTER = Software_Counter2; ALARM = Alarm2; RESOURCE = Resource2; SCHEDULETABLE = sched2; }; APPLICATION app3 { TASK = t3; TRUSTED = TRUE; }; EVENT Event2 { MASK = 2; }; EVENT Event3{ MASK = 4; }; }; /* End of file autosar_app_s4.oil */