#define TOPPERS_ISTKSZ DEFAULT_ISTKSZ #define TOPPERS_ISTK DEFAULT_ISTK #else /* DEAULT_ISTK */ static STK_T _kernel_istack[COUNT_STK_T(DEFAULT_ISTKSZ)]; #define TOPPERS_ISTKSZ ROUND_STK_T(DEFAULT_ISTKSZ) #define TOPPERS_ISTK _kernel_istack #endif /* DEAULT_ISTK */ const SIZE _kernel_istksz = TOPPERS_ISTKSZ; STK_T *const _kernel_istk = TOPPERS_ISTK; #ifdef TOPPERS_ISTKPT STK_T *const _kernel_istkpt = TOPPERS_ISTKPT(TOPPERS_ISTK, TOPPERS_ISTKSZ); #endif /* TOPPERS_ISTKPT */ /* * Time Event Management */ TMEVTN _kernel_tmevt_heap[TNUM_TSKID + TNUM_CYCID + TNUM_ALMID]; /* * Module Initialization Function */ void _kernel_initialize_object(void) {
#define TOPPERS_PRC2_ISTK _kernel_prc2_istack #endif /* DEAULT_PRC2_ISTK */ const SIZE _kernel_istksz_table[TNUM_PRCID] = { TOPPERS_PRC1_ISTKSZ, TOPPERS_PRC2_ISTKSZ }; STK_T *const _kernel_istk_table[TNUM_PRCID] = { TOPPERS_PRC1_ISTK, TOPPERS_PRC2_ISTK }; #ifdef TOPPERS_ISTKPT STK_T *const _kernel_istkpt_table[TNUM_PRCID] = { TOPPERS_ISTKPT(TOPPERS_PRC1_ISTK, TOPPERS_PRC1_ISTKSZ), TOPPERS_ISTKPT(TOPPERS_PRC2_ISTK, TOPPERS_PRC2_ISTKSZ) }; #endif /* TOPPERS_ISTKPT */ /* * Time Event Management */ TMEVTN _kernel_prc1_tmevt_heap[TNUM_TSKID + TNUM_CYCID + TNUM_ALMID] __attribute__((section(".bss._kernel_prc1s_tevt"),nocommon)); TMEVTN _kernel_prc2_tmevt_heap[TNUM_TSKID + TNUM_CYCID + TNUM_ALMID] __attribute__((section(".bss._kernel_prc2s_tevt"),nocommon)); TMEVTN* const _kernel_p_tmevt_heap_table[TNUM_PRCID] = { _kernel_prc1_tmevt_heap, _kernel_prc2_tmevt_heap };