Erika API Problem
Posted: 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.
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'
Can someone please suggest something regarding these Errors.
Thanking in advance.
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";
};
};
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;
}
Thanking in advance.