STM32F4 with ECC2 kernel problem
Posted: Tue Mar 03, 2015 1:37 pm
Hello everyone,
I've encountered a problem regarding to ECC2 kernel type.
When build the source I got the following error message :
Check out the source and it seems doesn't support multi task for ARM cortex-M4 (just only __MONO__ BCC1 and BCC2) , is it right ?
I’m using “EE_RT-Druid-2.4.0-juno-win32-x86_64″, and here is my OIL file :
Thanks and Best Regards
I've encountered a problem regarding to ECC2 kernel type.
When build the source I got the following error message :
Code: Select all
C:\gnu\ARM\bin\arm-none-eabi-ar.exe: creating libee.a
LD
libee.a(ee_altick.o): In function EE_oo_run_next_task':
C:\ERIKA_~1\eclipse\plugins\COE07D~1.201\ee_files\pkg/kernel/oo/inc/ee_oo_internal.h:564: undefined reference to EE_hal_stkchange’
libee.a(ee_evwait.o): In function EE_oo_reschedule_on_block':
C:\ERIKA_~1\eclipse\plugins\COE07D~1.201\ee_files\pkg/kernel/oo/inc/ee_oo_internal.h:753: undefined reference to EE_hal_stkchange’
libee.a(ee_evwait.o): In function EE_oo_run_next_task':
C:\ERIKA_~1\eclipse\plugins\COE07D~1.201\ee_files\pkg/kernel/oo/inc/ee_oo_internal.h:564: undefined reference to EE_hal_stkchange’
collect2.exe: error: ld returned 1 exit status
make: *** [c_mX.elf] Error 1
I’m using “EE_RT-Druid-2.4.0-juno-win32-x86_64″, and here is my OIL file :
Code: Select all
CPU mySystem {
OS myOs {
EE_OPT = "DEBUG";
//EE_OPT = "__KEIL_4_54_OLDER__";
//EE_OPT = "__KEIL_USE_AXF_EXT__";
//LDFLAGS =" --specs=rdimon.specs -lrdimon";
//EE_OPT = "__NO_APP__";
CPU_DATA = CORTEX_MX {
MODEL = M4;
APP_SRC = "code.c";
//COMPILER_TYPE = KEIL;
COMPILER_TYPE = GNU;
MULTI_STACK = FALSE;
};
EE_OPT = "__USE_SYSTICK__";
MCU_DATA = STM32 {
MODEL = STM32F4xx;
};
KERNEL_TYPE = ECC2;
STATUS = EXTENDED;
STARTUPHOOK = FALSE;
ERRORHOOK = FALSE;
SHUTDOWNHOOK = FALSE;
PRETASKHOOK = FALSE;
POSTTASKHOOK = FALSE;
USEGETSERVICEID = FALSE;
USEPARAMETERACCESS = FALSE;
USERESSCHEDULER = FALSE;
EE_OPT = "__ADD_LIBS__";
LIB = ENABLE { NAME = "ST_CMSIS"; };
LIB = ENABLE {
NAME = "STM32F4XX_SPD";
STM32F4XX_SPD = ENABLE {
USETIM = TRUE;
};
};
LIB = ENABLE {
NAME = "STM32F4_DISCOVERY";
STM32F4_DISCOVERY = ENABLE {
USEACCEL = TRUE;
};
};
};
TASK Task1 {
PRIORITY = 0x01;
ACTIVATION = 1;
SCHEDULE = FULL;
AUTOSTART = TRUE;
STACK = PRIVATE {
SYS_SIZE = 1024;
};
EVENT = TimerEvent;
EVENT = ButtonEvent;
};
TASK Task2 {
PRIORITY = 0x02;
ACTIVATION = 1;
SCHEDULE = FULL;
AUTOSTART = FALSE;
STACK = SHARED;
};
EVENT TimerEvent { MASK = AUTO; };
EVENT ButtonEvent { MASK = AUTO; };
COUNTER Counter1 {
MINCYCLE = 2;
MAXALLOWEDVALUE = 0xFFFF ;
TICKSPERBASE = 1;
};
ALARM AlarmTask1 {
COUNTER = Counter1;
ACTION = SETEVENT { TASK = Task1; EVENT = TimerEvent; };
AUTOSTART = TRUE { ALARMTIME = 250; CYCLETIME = 500; };
};
ALARM AlarmTask2 {
COUNTER = Counter1;
ACTION = ACTIVATETASK { TASK = Task2; };
AUTOSTART = FALSE;
};
};