I get a build error if I add a Resource to my multicore-project and try to build it. The resource is used by 2 ISR2s and one Task on Core0. The error is caused by the definition of this array
Code: Select all
EE_UREG EE_isr2_nesting_level[EE_MAX_ISR2];
Code: Select all
extern EE_UREG EE_isr2_nesting_level[EE_MAX_ISR2_WITH_RESOURCES];
Which one is correct?
Btw: EE_MAX_ISR2 is 5 in eecfg.h, but there are only 2 ISR2s in the application. 1 additional ISR2 because of the rpc and the others?
Here´s the complete eecfg.h with all options:
Code: Select all
#ifndef RTDH_EECFG_H
#define RTDH_EECFG_H
#define RTDRUID_CONFIGURATOR_NUMBER 1278
/***************************************************************************
*
* Common defines ( CPU 0 )
*
**************************************************************************/
/* TASK definition */
#define EE_MAX_TASK 2
#define TaskERSIn 0
#define TaskERSOut 1
/* MUTEX definition */
#define EE_MAX_RESOURCE 2U
#define RES_SCHEDULER 0U
#define ResourceCAN 1U
#define EE_MAX_ISR2_WITH_RESOURCES 2
#define EE_ISR2_MAX_LEVEL 11U
/* ALARM definition */
#define EE_MAX_ALARM 2U
#define Alarm1 0U
#define Alarm2 1U
/* SCHEDULING TABLE definition */
#define EE_MAX_SCHEDULETABLE 0U
/* COUNTER OBJECTS definition */
#define EE_MAX_COUNTER_OBJECTS (EE_MAX_ALARM + EE_MAX_SCHEDULETABLE)
/* CPU CLOCK definition */
#define EE_CPU_CLOCK 200000000U
/* COUNTER definition */
#define EE_MAX_COUNTER 1U
#define SystemTimer 0U
/* APPMODE definition */
#define EE_MAX_APPMODE 1U
/* CPUs */
#define EE_MAX_CPU 2
#define EE_CURRENTCPU 0
/* Number of isr 2 */
/* Remote procedure call requires an additional ISR2 */
#define EE_MAX_ISR2 5
#define EE_MAX_ISR_ID 12
#ifndef __DISABLE_EEOPT_DEFINES__
/***************************************************************************
*
* User options
*
**************************************************************************/
#define EE_DEBUG
#define __ASSERT__
#define EE_SAVE_TEMP_FILES
#define EE_ICACHE_ENABLED
#define EE_DCACHE_ENABLED
#define EE_BUILD_SINGLE_ELF
/***************************************************************************
*
* Automatic options
*
**************************************************************************/
#define __RTD_CYGWIN__
#define __MSRP__
#define EE_TRICORE__
#define EE_TC27X__
#define EE_BUILD_SINGLE_ELF
#define EE_GNU__
#define EE_START_CPU1
#define ENABLE_SYSTEM_TIMER
#define EE_AS_RPC__
#define EE_AS_USER_SPINLOCKS__
#define EE_AS_OSAPPLICATIONS__
#define __EE_MEMORY_PROTECTION__
#define __OO_BCC1__
#define __OO_EXTENDED_STATUS__
#define __OO_HAS_STARTUPHOOK__
#define __OO_HAS_SHUTDOWNHOOK__
#define __MULTI__
#define EE_SERVICE_PROTECTION__
#define __OO_HAS_USERESSCHEDULER__
#define __OO_ISR2_RESOURCES__
#define __OO_AUTOSTART_ALARM__
#define __ALLOW_NESTED_IRQ__
#define EE_AS_HAS_PROTECTIONHOOK__
#define EE_STACK_MONITORING__
#endif
/***************************************************************************
*
* Remote tasks
*
**************************************************************************/
#define TaskBalancing ((EE_TID)2U + (EE_TID)EE_REMOTE_TID)
#define TaskChargeHeating ((EE_TID)3U + (EE_TID)EE_REMOTE_TID)
#define TaskCharging ((EE_TID)4U + (EE_TID)EE_REMOTE_TID)
#define TaskFlyHeating ((EE_TID)5U + (EE_TID)EE_REMOTE_TID)
/***************************************************************************
*
* Remote alarms
*
**************************************************************************/
/***************************************************************************
*
* Remote counters
*
**************************************************************************/
/***************************************************************************
*
* Remote OsApplication
*
**************************************************************************/
#define App_ERM ((EE_TID)2U + (EE_TID)EE_REMOTE_TID)
#define App_Shared_Data_Access_Layer_CPU1 ((EE_TID)3U + (EE_TID)EE_REMOTE_TID)
/***************************************************************************
*
* Remote Schedule Tables
*
**************************************************************************/
/***************************************************************************
*
* Spin lock IDs
*
**************************************************************************/
#define EE_MAX_SPINLOCK_USER 2
#define EE_SPINLOCK_CORE0 3U /* master */
#define EE_SPINLOCK_CORE1 2U /* slave1 */
#define spinlock_test_assert 0U
#define spinlock_1 1U
#define EE_MAX_SPINLOCK 4
#define EE_MAX_SPINLOCK_OS 4
/* System stack size */
#define EE_SYS_STACK_SIZE 8192
/***************************************************************************
*
* ISR definition
*
**************************************************************************/
#define EE_TC_10_ISR ISR_CAN_Rcv_FIFO_Full_Handler0
#define EE_TC_10_ISR_PRI EE_ISR_PRI_10
#define EE_TC_10_ISR_CAT 2
#define EE_ISR2_ID_ISR_CAN_Rcv_FIFO_Full_Handler0 10
#define EE_TC_11_ISR ISR_CAN_Rcv_FIFO_Full_Handler1
#define EE_TC_11_ISR_PRI EE_ISR_PRI_11
#define EE_TC_11_ISR_CAT 2
#define EE_ISR2_ID_ISR_CAN_Rcv_FIFO_Full_Handler1 11
/***************************************************************************
*
* HW counter definition
*
**************************************************************************/
#define EE_MAX_COUNTER_HW 1
#define EE_SYSTEM_TIMER SystemTimer
#define EE_SYSTEM_TIMER_DEVICE EE_TC_STM_SR0
#define EE_TC_2_ISR EE_tc_system_timer_handler
#define EE_TC_2_ISR_PRI EE_ISR_PRI_2
#define EE_TC_2_ISR_CAT 2
#define EE_ISR2_ID_EE_tc_system_timer_handler 2
/* Max ISR priority */
#define EE_TC_MAX_ISR_ID EE_ISR_PRI_11
/***************************************************************************
*
* OS APPLICATIONS definition
*
**************************************************************************/
#define EE_MAX_APP 3U
#define App_ERS 1U
#define App_CAN 2U
/***************************************************************************
*
* ISR definition
*
**************************************************************************/
#define EE_MAX_NESTING_LEVEL 5
/* ISR to Application mapping */
#define ISR2_APP_Internally defined 0
#define ISR2_APP_SystemTimer 0
#define ISR2_APP_ISR_CAN_Rcv_FIFO_Full_Handler0 2
#define ISR2_APP_ISR_CAN_Rcv_FIFO_Full_Handler1 2
/***************************************************************************
*
* System Calls
*
**************************************************************************/
#define EE_ID_EnableAllInterrupts 0
#define EE_ID_DisableAllInterrupts 1
#define EE_ID_ResumeAllInterrupts 2
#define EE_ID_SuspendAllInterrupts 3
#define EE_ID_ResumeOSInterrupts 4
#define EE_ID_SuspendOSInterrupts 5
#define EE_ID_ActivateTask 6
#define EE_ID_TerminateTask 7
#define EE_ID_ChainTask 8
#define EE_ID_Schedule 9
#define EE_ID_ForceSchedule 10
#define EE_ID_GetTaskID 11
#define EE_ID_GetTaskState 12
#define EE_ID_GetActiveApplicationMode 13
#define EE_ID_StartOS 14
#define EE_ID_ShutdownOS 15
#define EE_ID_thread_not_terminated 16
#define EE_ID_TerminateISR2 17
#define EE_ID_GetResource 18
#define EE_ID_ReleaseResource 19
#define EE_ID_GetAlarmBase 20
#define EE_ID_GetAlarm 21
#define EE_ID_SetRelAlarm 22
#define EE_ID_SetAbsAlarm 23
#define EE_ID_CancelAlarm 24
#define EE_ID_IncrementCounter 25
#define EE_ID_TerminateApplication 26
#define EE_ID_AllowAccess 27
#define EE_ID_GetSpinlock 28
#define EE_ID_ReleaseSpinlock 29
#define EE_ID_TryToGetSpinlock 30
#define EE_ID_rpc 31
#define EE_ID_ShutdownAllCores 32
#define EE_ID_CallTrustedFunction 33
#define EE_ID_TRUSTED_CAN_SendNode2 34
#define EE_ID_TRUSTED_CAN_Read 35
#define EE_ID_TRUSTED_test_assert_CPU0 36
#define EE_ID_interrupts_last 5
#define EE_MAX_SYS_SERVICEID 34
#define EE_SYSCALL_NR 37
/***************************************************************************
*
* Counter defines
*
**************************************************************************/
#define OSMAXALLOWEDVALUE_SystemTimer 2147483647U
#define OSTICKSPERBASE_SystemTimer 1U
#define OSMINCYCLE_SystemTimer 1U
#define OSMAXALLOWEDVALUE 2147483647U
#define OSTICKSPERBASE 1U
#define OSMINCYCLE 1U
#define OSTICKDURATION 1000000U
/***************************************************************************
*
* Vector size defines
*
**************************************************************************/
#define EE_ACTION_ROM_SIZE 2
#define EE_ALARM_ROM_SIZE 2
#define EE_AS_RPC_ALARMS_SIZE 2
#define EE_AS_RPC_COUNTERS_SIZE 1
#define EE_AS_RPC_OSAPPLS_SIZE 4
#define EE_AS_RPC_REMOTE_ACCESS_RULES_SIZE 18
#define EE_AS_RPC_SERVICES_TABLE_SIZE 5
#define EE_AS_RPC_TASKS_SIZE 6
#define EE_COUNTER_HW_ROM_SIZE 1
#define EE_COUNTER_OBJECTS_ROM_SIZE 2
#define EE_COUNTER_ROM_SIZE 1
#define EE_OO_AUTOSTART_ALARM_MODE_OSDEFAULTAPPMODE_SIZE 2
#define EE_TC_SYSTEM_BOS_SIZE 7
#define EE_TC_SYSTEM_TOS_SIZE 7
#endif
Alex