Page 1 of 1

tricore, fp kernel isr

Posted: Fri Oct 14, 2016 8:07 am
by szalokicsiga
Hi!
I'm new in the world of ERIKA, and I try to configure the simplest OS (1 task, 1 alarm, 1 interrupt, 1 counter). I tried it with KERNEL_TYPE = FP, because it seems the simplest. When I try to build the OIL file, the following errors appear:
ctc E213: ["D:\tools\EE_RT-~1.0-J\eclipse\plugins\COMEUE~4.N20\ee_files\pkg\cpu\common\inc\ee_irqstub.h" 86/59] arguments given to macro "EE_std_enableIRQ_nested"
ctc E213: ["D:\tools\EE_RT-~1.0-J\eclipse\plugins\COMEUE~4.N20\ee_files\pkg\cpu\common\inc\ee_irqstub.h" 87/60] arguments given to macro "EE_std_disableIRQ_nested"

I cannot figure out the reason. Probably something is wrong with my OIL file. Actually I started with a demo project, with a little modification. Without ISR it's generating fine. Could anyone give me some hint, what should I do? Here is my OIL file:

CPU test_application {

OS EE {
EE_OPT = "EE_DEBUG";
EE_OPT = "__ASSERT__";

EE_OPT = "EE_EXECUTE_FROM_RAM";
//EE_OPT = "EE_SAVE_TEMP_FILES";

STATUS = EXTENDED;
USERESSCHEDULER = FALSE;

MCU_DATA = TRICORE {
MODEL = TC27x;
};

CPU_DATA = TRICORE {
CPU_CLOCK = 200.0;
APP_SRC = "code.c";
COMPILER_TYPE = TASKING;
};

BOARD_DATA = TRIBOARD_TC2X5;
};

/* this is the OIL part for the task displaying the christmas tree */
TASK Task1 {
PRIORITY = 0x01; /* Low priority */
AUTOSTART = FALSE;
STACK = SHARED;
ACTIVATION = 1; /* only one pending activation */
};

/* this is the OIL part for the task activated by the button press */
TASK Task2 {
PRIORITY = 0x02; /* High priority */
SCHEDULE = FULL;
AUTOSTART = TRUE;
STACK = SHARED;
};

COUNTER system_timer {
MINCYCLE = 1;
MAXALLOWEDVALUE = 2147483647;
TICKSPERBASE = 1;
SECONDSPERTICK = 0.001;
};

ALARM Alarm_TASK1_4s {
COUNTER = system_timer;
ACTION = ACTIVATETASK {
TASK = Task1;
};
AUTOSTART = TRUE {
ALARMTIME = 2000;
CYCLETIME = 2000;
};
};

ISR Button_isr2 {
CATEGORY = 2;
LEVEL = "2";
PRIORITY = 2;
HANDLER = "button_handler"; // IRQ handler
};

OS EE { KERNEL_TYPE = FP; };
TASK Task1 { SCHEDULE = FULL; };
TASK Task2 { ACTIVATION = 1; };
};

Thank you for your help!

Re: tricore, fp kernel isr

Posted: Fri Oct 14, 2016 9:35 am
by e.guidieri
Work with KERNEL=BCC1 (Functionally the only difference should be the use TerminateTask service, but ERIKA works even without the use of it).

Using of FP kernel with TriCore, with TASKING compiler has never been tested and we don't have access to that compiler anymore so we cannot investigate what's going on.

Errico