/*============================================================================= * Target dependant configuration structs */ #define OS_START_SEC_VAR_UNSPECIFIED #include "tpl_memmap.h" % let used_counters := @( ) foreach counter in HARDWARECOUNTERS do let used_counters[counter::SOURCE] := counter end foreach if exists used_counters["decrementer"] then %VAR(uint32, OS_VAR) tpl_dec_init_value = % !used_counters["decrementer"]::FREQUENCY %;% end if % #define OS_STOP_SEC_VAR_UNSPECIFIED #include "tpl_memmap.h" % if USEMEMORYPROTECTION then loop core from 0 to OS::NUMBER_OF_CORES - 1 before % /***** Memory Protection Unit base address table *****/ #include "tpl_registers_asm.h" #define OS_START_SEC_CONST_UNSPECIFIED #include "tpl_memmap.h" CONST(uint32, OS_CONST) tpl_mpu[% !OS::NUMBER_OF_CORES %] = { % do % (uint32)TPL_MPU% !core %_Base% between %, % after % }; #define OS_STOP_SEC_CONST_UNSPECIFIED #include "tpl_memmap.h" % end loop end if % % loop core from 0 to OS::NUMBER_OF_CORES - 1 before % /***** Interrupt Controller base address table *****/ #include "tpl_registers.h" #define OS_START_SEC_CONST_UNSPECIFIED #include "tpl_memmap.h" CONSTP2CONST(struct _tpl_intc, OS_CONST, OS_CONST) tpl_intc[% !OS::NUMBER_OF_CORES %] = { % do % (struct _tpl_intc*)TPL_INTC% !core %_Base% between %, % after % }; #define OS_STOP_SEC_CONST_UNSPECIFIED #include "tpl_memmap.h" % end loop % % if OS::NUMBER_OF_CORES > 1 then loop core from 0 to OS::NUMBER_OF_CORES - 1 before % /***** Semaphore base address table *****/ #include "tpl_registers.h" #define OS_START_SEC_CONST_UNSPECIFIED #include "tpl_memmap.h" CONSTP2CONST(struct _tpl_sema4, OS_CONST, OS_CONST) tpl_sem[% !OS::NUMBER_OF_CORES %] = { % do % (struct _tpl_sema4*)TPL_SEMA4% !core %_Base% between %, % after % }; #define OS_STOP_SEC_CONST_UNSPECIFIED #include "tpl_memmap.h" % end loop end if %