tricore, fp kernel isr

Forum related to ERIKA Enterprise and RT-Druid version 2

Moderator: paolo.gai

Post Reply
szalokicsiga
Newbie
Posts: 24
Joined: Thu Oct 13, 2016 2:49 pm

tricore, fp kernel isr

Post by szalokicsiga » Fri Oct 14, 2016 8:07 am

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!

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

Re: tricore, fp kernel isr

Post by e.guidieri » Fri Oct 14, 2016 9:35 am

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

Post Reply