Relationship between MULTI_STACK and KERNEL_TYPE?

Forum related to ERIKA Enterprise and RT-Druid version 2

Moderator: paolo.gai

Locked
srl100

Relationship between MULTI_STACK and KERNEL_TYPE?

Post by srl100 »

I have an OIL file that includes the following OS section:

Code: Select all

	OS myOs {
		EE_OPT = "DEBUG";
		EE_OPT = "NODEPS";	//Don't do a separate dependency file pass
		EE_OPT = "NOSRC";	//Don't create intermediate .src files

		CPU_DATA = PIC30 {
			APP_SRC = "code.c";
			MULTI_STACK = FALSE;
			ICD2 = TRUE;
		};

		MCU_DATA = PIC30 {
			MODEL = PIC33FJ256MC710;
		};
		
		BOARD_DATA = EE_FLEX {
			USELEDS = TRUE;
		};
		
		KERNEL_TYPE = ECC1;
		
		STATUS = EXTENDED;
	};
I get the following errors when I build my application:

Code: Select all

.\libee.a(ee_evwait.o)(.text+0x84): In function `EE_oo_WaitEvent':
C:\Evidence\evidence\eclipse\plugins\COAAB5~1.201\ee_base\pkg\kernel\oo\src\ee_evwait.c:210: undefined reference to `EE_hal_stkchange'
.\libee.a(ee_evwait.o)(.text+0xaa):C:\Evidence\evidence\eclipse\plugins\COAAB5~1.201\ee_base\pkg\kernel\oo\src\ee_evwait.c:224: undefined reference to `EE_hal_stkchange'
.\libee.a(ee_evset.o)(.text+0xa6): In function `EE_oo_SetEvent':
C:\Evidence\evidence\eclipse\plugins\COAAB5~1.201\ee_base\pkg\kernel\oo\src\ee_evset.c:240: undefined reference to `EE_hal_stkchange'
.\libee.a(ee_ulockres.o)(.text+0x96): In function `EE_oo_ReleaseResource':
C:\Evidence\evidence\eclipse\plugins\COAAB5~1.201\ee_base\pkg\kernel\oo\src\ee_ulockres.c:238: undefined reference to `EE_hal_stkchange'
.\libee.a(ee_activate.o)(.text+0x96): In function `EE_oo_ActivateTask':
C:\Evidence\evidence\eclipse\plugins\COAAB5~1.201\ee_base\pkg\kernel\oo\src\ee_activate.c:208: undefined reference to `EE_hal_stkchange'
make: *** [pic30.cof] Error 1
Is there a relationship between the KERNEL_TYPE and MULTI_STACK that I am missing? What are the legal combinations for the OSEK conformance classes?
paolo.gai
Administrator
Posts: 877
Joined: Thu Dec 07, 2006 12:11 pm

Re: Relationship between MULTI_STACK and KERNEL_TYPE?

Post by paolo.gai »

BCC1 and BCC2 work both with single and multistack.

ECC1 and ECC2 work only with MULTISTACK, becasue these conformance classes have the support for the blocking primitive WaitEvent!

PJ
srl100

Re: Relationship between MULTI_STACK and KERNEL_TYPE?

Post by srl100 »

Thanks for the info - RT-Druid wasn't complaining, so I thought that it was a valid combination. I'll update my OIL file and try again!
Locked