Erika ParameterType and ParameterRef Error in oil file

Forum related to ERIKA Enterprise and RT-Druid version 2

Moderator: paolo.gai

Post Reply
amitdey1314
Newbie
Posts: 16
Joined: Tue Mar 22, 2016 6:37 pm

Erika ParameterType and ParameterRef Error in oil file

Post by amitdey1314 » Mon May 30, 2016 2:55 pm

hello,

I am facing a Problem where in oil file TASK, ALARM; COUNTER declaration inside APPMODE is showing ParameterType error and the declared TASK for e.g. "TASK_10ms" is showing ParameterRef error. Also, EXPORT_FILE is also showing ParameterType error.

E.g. TASK = TASK_10ms; 'TASK' is showing ParameterType Error, 'TASK_10ms' is showing ParameterRef Error.

Also the same error type for ALARM and COUNTER declaration inside APPMODE.

OIL Code

Code: Select all

CPU TC27X { 
	
	OS EAEA_ERIKA_OS { 
		
	EE_OPT = "EE_DEBUG";
	EE_OPT = "EE_BUILD_SINGLE_ELF";
   // EE_OPT = "EE_EXECUTE_FROM_RAM";
    EE_OPT = "EE_SAVE_TEMP_FILES";

    //EE_OPT = "EE_ICACHE_ENABLED";
    //EE_OPT = "EE_DCACHE_ENABLED";	
	
	REMOTENOTIFICATION = USE_RPC;
	
	CFLAGS =  "-I ../../include/McHal/Tricore";
	CFLAGS =  "-I ../../include/McHal/Tricore/_Reg";
	CFLAGS =  "-I ../../include/McHal";
	CFLAGS =  "-I ../../include/SrvSw";
	CFLAGS =  "-I ../../include/AppSw/Config/Common";
	CFLAGS =  "-I ../../include";
	CFLAGS = "-O2";
	
	//LDFLAGS = "-LD:/VWKS4S4/sandboxes/PMD104A0MP1646_4_2_0/out"; // -l:PMD104A0MP1646_OVERSIZE.a";
	//LIBS = "-lPMD104A0MP1646_OVERSIZE.a";
        
        MASTER_CPU = "core0";
        CPU_DATA = TRICORE {
			
			ID = "core0";

            CPU_CLOCK = 200.0;

            APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuWdt.c";
            APP_SRC ="include/McHal/Tricore/Port/Std/IfxPort.c";
         	APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuCcu.c";
         	APP_SRC ="include/McHal/Tricore/Stm/Std/IfxStm.c";
        	APP_SRC ="include/McHal/Tricore/_Impl/IfxStm_cfg.c";
        	
        	 APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuEru.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxCpu_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxPort_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Lib/InternalMux/Ifx_InternalMux.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxPort_PinMap.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxScu_PinMap.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart0.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart1.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart2.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Irq/IfxCpu_Irq.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Std/IfxCpu.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Trap/IfxCpu_Trap.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Dma/IfxDma_Dma.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Std/IfxDma.c";
        	 APP_SRC ="include/McHal/Tricore/Port/Io/IfxPort_Io.c";
        	 APP_SRC ="include/McHal/Tricore/Src/Std/IfxSrc.c";
            
            
            APP_SRC ="core0.c";
            APP_SRC = "ReadArray.c";
			APP_SRC = "BackgroundTaskC0.c";
           
            
            COMPILER_TYPE = GNU;
            SYS_STACK_SIZE = 256;
            MULTI_STACK = TRUE;
            EXPORT_FILE = "C:/Users/VWH2B3N/workspace/test1/Debug/core0";
        };
        
  		CPU_DATA = TRICORE {
            
            ID="core1";
            
            CPU_CLOCK = 200.0;

            APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuWdt.c";
            APP_SRC ="include/McHal/Tricore/Port/Std/IfxPort.c";
         	APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuCcu.c";
         	APP_SRC ="include/McHal/Tricore/Stm/Std/IfxStm.c";
        	APP_SRC ="include/McHal/Tricore/_Impl/IfxStm_cfg.c";
        	
        	 APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuEru.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxCpu_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxPort_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Lib/InternalMux/Ifx_InternalMux.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxPort_PinMap.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxScu_PinMap.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart0.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart1.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart2.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Irq/IfxCpu_Irq.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Std/IfxCpu.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Trap/IfxCpu_Trap.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Dma/IfxDma_Dma.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Std/IfxDma.c";
        	 APP_SRC ="include/McHal/Tricore/Port/Io/IfxPort_Io.c";
        	 APP_SRC ="include/McHal/Tricore/Src/Std/IfxSrc.c";
           
           
            APP_SRC = "core1.c";
            APP_SRC = "WriteArray.c";
			APP_SRC = "BackgroundTaskC1.c";

            COMPILER_TYPE = GNU;
            MULTI_STACK = TRUE;
            SYS_STACK_SIZE = 256;
        };
        
      	CPU_DATA = TRICORE {
            
            ID="core2";
            
            CPU_CLOCK = 300.0;

            APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuWdt.c";
            APP_SRC ="include/McHal/Tricore/Port/Std/IfxPort.c";
         	APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuCcu.c";
         	APP_SRC ="include/McHal/Tricore/Stm/Std/IfxStm.c";
        	APP_SRC ="include/McHal/Tricore/_Impl/IfxStm_cfg.c";
        	
        	 APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuEru.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxCpu_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxPort_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Lib/InternalMux/Ifx_InternalMux.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxPort_PinMap.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxScu_PinMap.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart0.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart1.c";
        	// APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart2.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Irq/IfxCpu_Irq.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Std/IfxCpu.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Trap/IfxCpu_Trap.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Dma/IfxDma_Dma.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Std/IfxDma.c";
        	 APP_SRC ="include/McHal/Tricore/Port/Io/IfxPort_Io.c";
        	 APP_SRC ="include/McHal/Tricore/Src/Std/IfxSrc.c";
           
           
            APP_SRC = "core2.c";
            APP_SRC = "LED_10ms.c";
			APP_SRC = "LED_100ms.c";
			APP_SRC = "LED_1000ms.c";
            APP_SRC = "BackgroundTaskC2.c";

            COMPILER_TYPE = GNU;
            MULTI_STACK = TRUE;
            SYS_STACK_SIZE = 256;

        };           
        
        MCU_DATA = TRICORE {
        	MODEL = TC27x;
        };
        
        ORTI_SECTIONS = ALL;
        
        //ERRORHOOK = TRUE;
		STATUS = EXTENDED; 
		USERESSCHEDULER = FALSE;
		KERNEL_TYPE = ECC1;
	};
	
	APPMODE EAEA_EVAL_SYSTEM {

	/*
	 *	Tasks 
	 */
	
	/* TASK´CORE0 */

	TASK = CORE0_ADDITION;
	TASK = CORE0_RW_VARIABLE;
	TASK = READ_ARRAY;
	TASK = CORE0_BACKGRAOUND_TASK;
	TASK = CORE0_INIT;
	
	/* TASK CORE1 */
	
	TASK = CORE1_SUB;
	TASK = CORE1_RW_VARIABLE;
	TASK = WRITE_ARRAY;
	TASK = CORE1_BACKGRAOUND_TASK;
	
	/* TASK CORE2 */
	
	TASK = TASK_10ms;
	TASK = TASK_100ms;
	TASK = TASK_1000ms;
	TASK = CORE2_BACKGRAOUND_TASK;
	

	 /* 
	  *   Counter
	  */
	   
	//COUNTER = HW_COUNTER;  
	COUNTER = SYSTEM_TIMER_CORE0;
	COUNTER = SYSTEM_TIMER_CORE1;
	COUNTER = SYSTEM_TIMER_CORE2;
	
	/*
	 * 	Alarms
	 */
	
	/* ALARM CORE0 */
	 
	ALARM = ALARM_CORE0_ADDITION;
	ALARM = ALARM_CORE0_RW_VARIABLE;
	ALARM = ALARM_READ_ARRAY;
	ALARM = ALARM_CORE0_BACKGRAOUND_TASK;
	
	/* ALARM CORE1 */
	
	ALARM = ALARM_CORE1_SUB;
	ALARM = ALARM_CORE1_RW_VARIABLE;
	ALARM = ALARM_CORE1_BACKGRAOUND_TASK;
	
	/* ALARM CORE2 */
	
	ALARM = ALARM_TASK_10ms;
	ALARM = ALARM_TASK_100ms;
	ALARM = ALARM_TASK_1000ms;
	ALARM = ALARM_CORE2_BACKGRAOUND_TASK;
	
	}; // end of appplication mode "EAEA_EVAL_SYSTEM"
	
/*
 *  Start of Definition
 */


 	COUNTER SYSTEM_TIMER_CORE0 {
	CPU_ID = "core0";
    MINCYCLE = 1;
    MAXALLOWEDVALUE = 2147483647;
    TICKSPERBASE = 1;
    TYPE = HARDWARE {
      DEVICE = "STM_SR0";
      SYSTEM_TIMER = TRUE;
      PRIORITY = 2;
    };
    SECONDSPERTICK = 0.0001;
  };


 	COUNTER SYSTEM_TIMER_CORE1 {
	CPU_ID = "core1";
    MINCYCLE = 1;
    MAXALLOWEDVALUE = 2147483647;
    TICKSPERBASE = 1;
    TYPE = HARDWARE {
      DEVICE = "STM_SR0";
      SYSTEM_TIMER = TRUE;
      PRIORITY = 2;
    };
    SECONDSPERTICK = 0.0001;
  };
 
 	COUNTER SYSTEM_TIMER_CORE2 {
	CPU_ID = "core2";
    MINCYCLE = 1;
    MAXALLOWEDVALUE = 2147483647;
    TICKSPERBASE = 1;
    TYPE = HARDWARE {
      DEVICE = "STM_SR0";
      SYSTEM_TIMER = TRUE;
      PRIORITY = 2;
    };
    SECONDSPERTICK = 0.0001;
  };

	/* COR0 */

	ALARM ALARM_CORE0_ADDITION {
		COUNTER = SYSTEM_TIMER_CORE0;
	    ACTION = ACTIVATETASK { TASK = CORE0_ADDITION; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 100; };
	};
	
	ALARM ALARM_CORE0_RW_VARIABLE {
		COUNTER = SYSTEM_TIMER_CORE0;
	    ACTION = ACTIVATETASK { TASK = CORE0_RW_VARIABLE; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 1000; };
	};
	
	ALARM ALARM_READ_ARRAY {
		COUNTER = SYSTEM_TIMER_CORE0;
	    ACTION = ACTIVATETASK { TASK = READ_ARRAY; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 10000; };
	};
	
	  
	/* CORE1 */

	ALARM ALARM_CORE1_SUB {
		COUNTER = SYSTEM_TIMER_CORE1;
	    ACTION = ACTIVATETASK { TASK = CORE1_SUB; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 100; };
	};
	
	ALARM ALARM_CORE1_RW_VARIABLE {
		COUNTER = SYSTEM_TIMER_CORE1;
	    ACTION = ACTIVATETASK { TASK = CORE1_RW_VARIABLE; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 1000; };
	};
	
	/* CORE2 */
	
	ALARM ALARM_TASK_10ms {
		COUNTER = SYSTEM_TIMER_CORE2;
	    ACTION = ACTIVATETASK { TASK = TASK_10ms; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 100; };
	};
	
	ALARM ALARM_TASK_100ms {
		COUNTER = SYSTEM_TIMER_CORE2;
	    ACTION = ACTIVATETASK { TASK = TASK_100ms; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 1000; };
	};
	
	ALARM ALARM_TASK_1000ms {
		COUNTER = SYSTEM_TIMER_CORE2;
	    ACTION = ACTIVATETASK { TASK = TASK_1000ms; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 10000; };
	};
	  

	/* CORE0 */
	
	TASK CORE0_ADDITION{ 
		CPU_ID = "core0";
		PRIORITY = 6; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE0_RW_VARIABLE{ 
		CPU_ID = "core0";
		PRIORITY = 5; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK READ_ARRAY{ 
		CPU_ID = "core0";
		PRIORITY = 4; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE0_BACKGRAOUND_TASK{ 
		CPU_ID = "core0";
		PRIORITY = 1; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE0_INIT{ 
		CPU_ID = "core0";
		PRIORITY = 2; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	
	/* CORE1 */
	
	TASK CORE1_SUB{ 
		CPU_ID = "core1";
		PRIORITY = 5; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE1_RW_VARIABLE{ 
		CPU_ID = "core1";
		PRIORITY = 5; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK WRITE_ARRAY{ 
		CPU_ID = "core1";
		PRIORITY = 4; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE1_BACKGRAOUND_TASK{ 
		CPU_ID = "core1";
		PRIORITY = 1; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	/* CORE2 */

	TASK TASK_10ms{ 
		CPU_ID = "core2";
		PRIORITY = 5; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK TASK_100ms{ 
		CPU_ID = "core2";
		PRIORITY = 4; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK TASK_1000ms{ 
		CPU_ID = "core2";
		PRIORITY = 3; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE2_BACKGRAOUND_TASK{ 
		CPU_ID = "core2";
		PRIORITY = 1; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	

	
	ISR EVAL_ISR {
		CPU_ID = "core0";
		CATEGORY = 2;
		PRIORITY = 4;
		HANDLER = "EVAL_ISR";
	};
	

};


Can anyone suggest some solution.

Thanking in Advance.

e.guidieri
Full Member
Posts: 166
Joined: Tue May 10, 2011 2:05 pm

Re: Erika ParameterType and ParameterRef Error in oil file

Post by e.guidieri » Mon May 30, 2016 4:30 pm

The OIL file ois not correct, I would have suggested you to read OIL Specifications, but actually http://www.osek-vdx.org/ site seems to be not accessible...

In short APPMODEs handle autostarting objects (creating sub stes of) but some TASKs that belong to the APPMODE EAEA_EVAL_SYSTEM have AUTOSTART = FALSE; and this is meaningless.

Moreover to add an object to an APPMODE you need to specify this inside the object it self, as AUTOSTART= TRUE subfield.

e.g.:
...
ALARM ALARM_TASK_100ms {
COUNTER = SYSTEM_TIMER_CORE2;
ACTION = ACTIVATETASK { TASK = TASK_100ms; };
AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 1000; APPMODE=EAEA_EVAL_SYSTEM};
};
...

APPMODE {
EAEA_EVAL_SYSTEM;
};


But the real problem seems to be that you don't include ee.h file (judging from the ee_oo_api.h explicit inclusion that is not needed in case of ee.h inclusion. That could have been done in shared.h file, but since the other inclusion I suppose is not)*.

* the .c file I was reffeing to has been removed from the original post.

amitdey1314
Newbie
Posts: 16
Joined: Tue Mar 22, 2016 6:37 pm

Re: Erika ParameterType and ParameterRef Error in oil file

Post by amitdey1314 » Tue May 31, 2016 8:02 am

Thanks Guidieri for your answer.

Regarding the OIL file can you please suggest me a document where i can read about the OIL specification better.

I have now changed my oil file where i removed the APPMODE.

Code: Select all

CPU TC27X { 
	
	OS EAEA_ERIKA_OS { 
		
	EE_OPT = "EE_DEBUG";
	EE_OPT = "EE_BUILD_SINGLE_ELF";
   // EE_OPT = "EE_EXECUTE_FROM_RAM";
    EE_OPT = "EE_SAVE_TEMP_FILES";

    //EE_OPT = "EE_ICACHE_ENABLED";
    //EE_OPT = "EE_DCACHE_ENABLED";	
	
	REMOTENOTIFICATION = USE_RPC;
	
	CFLAGS =  "-I ../../include/McHal/Tricore";
	CFLAGS =  "-I ../../include/McHal/Tricore/_Reg";
	CFLAGS =  "-I ../../include/McHal";
	CFLAGS =  "-I ../../include/SrvSw";
	CFLAGS =  "-I ../../include/AppSw/Config/Common";
	CFLAGS =  "-I ../../include";
	CFLAGS = "-O2";
	
	//LDFLAGS = "-LD:/VWKS4S4/sandboxes/PMD104A0MP1646_4_2_0/out"; // -l:PMD104A0MP1646_OVERSIZE.a";
	//LIBS = "-lPMD104A0MP1646_OVERSIZE.a";
        
        MASTER_CPU = "core0";
        CPU_DATA = TRICORE {
			
			ID = "core0";

            CPU_CLOCK = 200.0;

            APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuWdt.c";
            APP_SRC ="include/McHal/Tricore/Port/Std/IfxPort.c";
         	APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuCcu.c";
         	APP_SRC ="include/McHal/Tricore/Stm/Std/IfxStm.c";
        	APP_SRC ="include/McHal/Tricore/_Impl/IfxStm_cfg.c";
        	
        	 APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuEru.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxCpu_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxPort_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Lib/InternalMux/Ifx_InternalMux.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxPort_PinMap.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxScu_PinMap.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart0.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart1.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart2.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Irq/IfxCpu_Irq.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Std/IfxCpu.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/Trap/IfxCpu_Trap.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Dma/IfxDma_Dma.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Std/IfxDma.c";
        	 APP_SRC ="include/McHal/Tricore/Port/Io/IfxPort_Io.c";
        	 APP_SRC ="include/McHal/Tricore/Src/Std/IfxSrc.c";
            
            
            APP_SRC ="core0.c";
            APP_SRC = "ReadArray.c";
			APP_SRC = "BackgroundTaskC0.c";
           
            
            COMPILER_TYPE = GNU{
            	EXPORT_FILE = "Debug/core0/export_var.txt";
            };
            SYS_STACK_SIZE = 256;
            MULTI_STACK = TRUE;
        };
        
  		CPU_DATA = TRICORE {
            
            ID="core1";
            
            CPU_CLOCK = 200.0;

            APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuWdt.c";
            APP_SRC ="include/McHal/Tricore/Port/Std/IfxPort.c";
         	APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuCcu.c";
         	APP_SRC ="include/McHal/Tricore/Stm/Std/IfxStm.c";
        	APP_SRC ="include/McHal/Tricore/_Impl/IfxStm_cfg.c";
        	
        	 APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuEru.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxCpu_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxPort_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Lib/InternalMux/Ifx_InternalMux.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxPort_PinMap.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxScu_PinMap.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart0.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart1.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart2.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Irq/IfxCpu_Irq.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Std/IfxCpu.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Trap/IfxCpu_Trap.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Dma/IfxDma_Dma.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Std/IfxDma.c";
        	 APP_SRC ="include/McHal/Tricore/Port/Io/IfxPort_Io.c";
        	 APP_SRC ="include/McHal/Tricore/Src/Std/IfxSrc.c";
           
           
            APP_SRC = "core1.c";
            APP_SRC = "WriteArray.c";
			APP_SRC = "BackgroundTaskC1.c";

            COMPILER_TYPE = GNU;
            MULTI_STACK = TRUE;
            SYS_STACK_SIZE = 256;
        };
        
      	CPU_DATA = TRICORE {
            
            ID="core2";
            
            CPU_CLOCK = 300.0;

            APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuWdt.c";
            APP_SRC ="include/McHal/Tricore/Port/Std/IfxPort.c";
         	APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuCcu.c";
         	APP_SRC ="include/McHal/Tricore/Stm/Std/IfxStm.c";
        	APP_SRC ="include/McHal/Tricore/_Impl/IfxStm_cfg.c";
        	
        	 APP_SRC ="include/McHal/Tricore/Scu/Std/IfxScuEru.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxCpu_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Impl/IfxPort_cfg.c";
        	 APP_SRC ="include/McHal/Tricore/_Lib/InternalMux/Ifx_InternalMux.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxPort_PinMap.c";
        	 APP_SRC ="include/McHal/Tricore/_PinMap/IfxScu_PinMap.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart0.c";
        	 //APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart1.c";
        	// APP_SRC ="include/McHal/Tricore/Cpu/CStart/IfxCpu_CStart2.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Irq/IfxCpu_Irq.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Std/IfxCpu.c";
        	 APP_SRC ="include/McHal/Tricore/Cpu/Trap/IfxCpu_Trap.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Dma/IfxDma_Dma.c";
        	 APP_SRC ="include/McHal/Tricore/Dma/Std/IfxDma.c";
        	 APP_SRC ="include/McHal/Tricore/Port/Io/IfxPort_Io.c";
        	 APP_SRC ="include/McHal/Tricore/Src/Std/IfxSrc.c";
           
           
            APP_SRC = "core2.c";
            APP_SRC = "LED_10ms.c";
			APP_SRC = "LED_100ms.c";
			APP_SRC = "LED_1000ms.c";
            APP_SRC = "BackgroundTaskC2.c";

            COMPILER_TYPE = GNU;
            MULTI_STACK = TRUE;
            SYS_STACK_SIZE = 256;

        };           
        
        MCU_DATA = TRICORE {
        	MODEL = TC27x;
        };
        
        ORTI_SECTIONS = ALL;
        
        //ERRORHOOK = TRUE;
		STATUS = EXTENDED; 
		USERESSCHEDULER = FALSE;
		KERNEL_TYPE = ECC1;
	};
	
	//APPMODE EAEA_EVAL_SYSTEM {

	/*
	 *	Tasks 
	 */
	
	/* TASK´CORE0 */

	/*TASK = CORE0_ADDITION;
	TASK = CORE0_RW_VARIABLE;
	TASK = READ_ARRAY;*/
	//TASK = CORE0_BACKGRAOUND_TASK;
	//TASK = CORE0_INIT;
	
	/* TASK CORE1 */
	
	/*TASK = CORE1_SUB;
	TASK = CORE1_RW_VARIABLE;*/
	//TASK = WRITE_ARRAY;
	//TASK = CORE1_BACKGRAOUND_TASK;
	
	/* TASK CORE2 */
	
	/*TASK = TASK_10ms;
	TASK = TASK_100ms;
	TASK = TASK_1000ms;*/
	//TASK = CORE2_BACKGRAOUND_TASK;
	

	 /* 
	  *   Counter
	  */
	   
	//COUNTER = HW_COUNTER;  
	/*COUNTER = SYSTEM_TIMER_CORE0;
	COUNTER = SYSTEM_TIMER_CORE1;
	COUNTER = SYSTEM_TIMER_CORE2;*/
	
	/*
	 * 	Alarms
	 */
	
	/* ALARM CORE0 */
	 
	/*ALARM = ALARM_CORE0_ADDITION;
	ALARM = ALARM_CORE0_RW_VARIABLE;
	ALARM = ALARM_READ_ARRAY;*/
	//ALARM = ALARM_CORE0_BACKGRAOUND_TASK;
	
	/* ALARM CORE1 */
	
	/*ALARM = ALARM_CORE1_SUB;
	ALARM = ALARM_CORE1_RW_VARIABLE;*/
	//ALARM = ALARM_CORE1_BACKGRAOUND_TASK;
	
	/* ALARM CORE2 */
	
	/*ALARM = ALARM_TASK_10ms;
	ALARM = ALARM_TASK_100ms;
	ALARM = ALARM_TASK_1000ms;*/
	//ALARM = ALARM_CORE2_BACKGRAOUND_TASK;
	
	//}; // end of appplication mode "EAEA_EVAL_SYSTEM"
	


	
/*
 *  Start of Definition
 */


 	COUNTER SYSTEM_TIMER_CORE0 {
	CPU_ID = "core0";
    MINCYCLE = 1;
    MAXALLOWEDVALUE = 2147483647;
    TICKSPERBASE = 1;
    TYPE = HARDWARE {
      DEVICE = "STM_SR0";
      SYSTEM_TIMER = TRUE;
      PRIORITY = 2;
    };
    SECONDSPERTICK = 0.0001;
  };


 	COUNTER SYSTEM_TIMER_CORE1 {
	CPU_ID = "core1";
    MINCYCLE = 1;
    MAXALLOWEDVALUE = 2147483647;
    TICKSPERBASE = 1;
    TYPE = HARDWARE {
      DEVICE = "STM_SR0";
      SYSTEM_TIMER = TRUE;
      PRIORITY = 2;
    };
    SECONDSPERTICK = 0.0001;
  };
 
 	COUNTER SYSTEM_TIMER_CORE2 {
	CPU_ID = "core2";
    MINCYCLE = 1;
    MAXALLOWEDVALUE = 2147483647;
    TICKSPERBASE = 1;
    TYPE = HARDWARE {
      DEVICE = "STM_SR0";
      SYSTEM_TIMER = TRUE;
      PRIORITY = 2;
    };
    SECONDSPERTICK = 0.0001;
  };

	/* COR0 */

	ALARM ALARM_CORE0_ADDITION {
		COUNTER = SYSTEM_TIMER_CORE0;
	    ACTION = ACTIVATETASK { TASK = CORE0_ADDITION; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 100;};
	};
	
	ALARM ALARM_CORE0_RW_VARIABLE {
		COUNTER = SYSTEM_TIMER_CORE0;
	    ACTION = ACTIVATETASK { TASK = CORE0_RW_VARIABLE; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 1000; };
	};
	
	ALARM ALARM_READ_ARRAY {
		COUNTER = SYSTEM_TIMER_CORE0;
	    ACTION = ACTIVATETASK { TASK = READ_ARRAY; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 10000; };
	};
	
	  
	/* CORE1 */

	ALARM ALARM_CORE1_SUB {
		COUNTER = SYSTEM_TIMER_CORE1;
	    ACTION = ACTIVATETASK { TASK = CORE1_SUB; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 100; };
	};
	
	ALARM ALARM_CORE1_RW_VARIABLE {
		COUNTER = SYSTEM_TIMER_CORE1;
	    ACTION = ACTIVATETASK { TASK = CORE1_RW_VARIABLE; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 1000; };
	};
	
	/* CORE2 */
	
	ALARM ALARM_TASK_10ms {
		COUNTER = SYSTEM_TIMER_CORE2;
	    ACTION = ACTIVATETASK { TASK = TASK_10ms; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 100;};
	};
	
	ALARM ALARM_TASK_100ms {
		COUNTER = SYSTEM_TIMER_CORE2;
	    ACTION = ACTIVATETASK { TASK = TASK_100ms; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 1000;};
	};
	
	ALARM ALARM_TASK_1000ms {
		COUNTER = SYSTEM_TIMER_CORE2;
	    ACTION = ACTIVATETASK { TASK = TASK_1000ms; };
	    AUTOSTART = TRUE { ALARMTIME = 50; CYCLETIME = 10000;};
	};
	  
	  
	/* CORE0 */
	
	TASK CORE0_ADDITION{ 
		CPU_ID = "core0";
		PRIORITY = 6; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE0_RW_VARIABLE{ 
		CPU_ID = "core0";
		PRIORITY = 5; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK READ_ARRAY{ 
		CPU_ID = "core0";
		PRIORITY = 4; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE0_BACKGRAOUND_TASK{ 
		CPU_ID = "core0";
		PRIORITY = 1; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE0_INIT{ 
		CPU_ID = "core0";
		PRIORITY = 2; 
		ACTIVATION = 1;
		AUTOSTART = TRUE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	
	/* CORE1 */
	
	TASK CORE1_SUB{ 
		CPU_ID = "core1";
		PRIORITY = 5; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE1_RW_VARIABLE{ 
		CPU_ID = "core1";
		PRIORITY = 5; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK WRITE_ARRAY{ 
		CPU_ID = "core1";
		PRIORITY = 4; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE1_BACKGRAOUND_TASK{ 
		CPU_ID = "core1";
		PRIORITY = 1; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	/* CORE2 */

	TASK TASK_10ms{ 
		CPU_ID = "core2";
		PRIORITY = 5; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK TASK_100ms{ 
		CPU_ID = "core2";
		PRIORITY = 4; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK TASK_1000ms{ 
		CPU_ID = "core2";
		PRIORITY = 3; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	
	TASK CORE2_BACKGRAOUND_TASK{ 
		CPU_ID = "core2";
		PRIORITY = 1; 
		ACTIVATION = 1;
		AUTOSTART = FALSE; 
		SCHEDULE = FULL;
		STACK = SHARED;
	};
	

	
	ISR EVAL_ISR {
		CPU_ID = "core0";
		CATEGORY = 2;
		PRIORITY = 4;
		HANDLER = "EVAL_ISR";
	};
	

};


Now i have only one Autostart Task. Is it necessary to include APPMODE for that. Is the OIL file above correct?

Regarding including the ee.h file, i would like to inform that i indeed included ee.h file in shared.h but still i am getting certain Errors that StatusType or TaskType could not be resolved. Can you please share your knowledge regarding this. Also, the Parameters inside StartOS(), ActivateTask(), GetCounterValue() Shows an error that these Parameters could not be resolved.

For e.g.
ActivateTask(TASK_10ms) throws an error "TASK_10ms could not be resolved" even though i have this Task in my oil file.
StartOS(OSDEFAULTAPPMODE) throws an error "OSDEFAULTAPPMODE" could not be resolved.

Post Reply