Erika API Problem

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 API Problem

Post by amitdey1314 » Mon May 30, 2016 1:43 pm

Hello,

Recently i am facing a Problem where the the Erika API's:
1) in core0 StartOS(EAEA_EVAL_SYSTEM) throws an error saying Symbol 'EAEA_EVAL_SYSTEM' could not be resolved.
2) in core1 StartOS(DONOTCARE) throws an error saying DONOTCARE could not be resolved.
3) ActivateTask(CORE0_BACKGRAOUND_TASK); throws an error saying CORE0_BACKGRAOUND_TASK could not be resolved.

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;
        };
        
  		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";
	};
	

};
In the code below, ActivateTask(CORE0_BACKGRAOUND_TASK); Shows an error that "Symbol CORE0_BACKGRAOUND_TASK could not be resolved" and also the same for 'TickType' and 'StatusType'

Code: Select all

/*
 * core0.c
 *
 *  Created on: May 23, 2016
 *      Author: VWH2B3N
 */


#define THIS_IS_CORE_0

#include "shared.h"
#include "C:\evidence_2\eclipse\plugins\com.eu.evidence.ee_2.6.0.20151106_2005\ee_files\pkg\kernel\oo\inc\ee_oo_api.h"


/*int ErrorCounter = 0;
void ErrorHook(StatusType Error) {
	ErrorCounter++;
}*/

int a = 2;
int b = 3;
int c = 0;
int count = 0;

TASK( CORE0_ADDITION){

	c = a + b;
	count++;

	TerminateTask();
}



int count0 = 0;
TASK( CORE0_RW_VARIABLE) {

	*(int*)0x60000000 = 2;

	TerminateTask();
}

TASK( READ_ARRAY) {

	ReadArray();

	TerminateTask();
}

TASK( CORE0_BACKGRAOUND_TASK) {

	BackgroundTaskC0();

	TerminateTask();
}

TASK( CORE0_INIT) {

	for (int var = 1; var < 9; ++var) {

		/*
		 *	 Set the Output mode --> outputPushPullGeneral -> LEDs can be used
		 */

		IfxPort_setPinMode(0xF003D300u, 5 + var,
				IfxPort_Mode_outputPushPullGeneral);

		/*
		 * 	Switch off all LEDs (high = off, low = on)
		 */
		IfxPort_setPinState(&MODULE_P33, var + 5, IfxPort_State_high);
	}

	ActivateTask(CORE0_BACKGRAOUND_TASK);
	ActivateTask(CORE1_BACKGRAOUND_TASK);
	ActivateTask(CORE2_BACKGRAOUND_TASK);

	_enable();

	TerminateTask();
}

ISR( EVAL_ISR) {

}

int main(void) {

	StatusType status;
	StartCore(0x1, &status);
	StartCore(0x2, &status);
	StartOS(EAEA_EVAL_SYSTEM);
	return 0;

}


Can someone please suggest something regarding these Errors.

Thanking in advance.

Post Reply