sysinit.c
は次のようにvoid SystemInit(void)
だけしか書かれていない。
/* * @brief Common SystemInit function for LPC17xx/40xx chips * * @note * Copyright(C) NXP Semiconductors, 2013 * All rights reserved. * 略 */ #include "board.h" /***************************************************************************** * Private types/enumerations/variables ****************************************************************************/ /***************************************************************************** * Public types/enumerations/variables ****************************************************************************/ /***************************************************************************** * Private functions ****************************************************************************/ /***************************************************************************** * Public functions ****************************************************************************/ /* Set up and initialize hardware prior to call to main */ void SystemInit(void) { unsigned int *pSCB_VTOR = (unsigned int *) 0xE000ED08; #if defined(__IAR_SYSTEMS_ICC__) extern void *__vector_table; *pSCB_VTOR = (unsigned int) &__vector_table; #elif defined(__CODE_RED) extern void *g_pfnVectors; *pSCB_VTOR = (unsigned int) &g_pfnVectors; #elif defined(__ARMCC_VERSION) extern void *__Vectors; *pSCB_VTOR = (unsigned int) &__Vectors; #endif #if defined(__FPU_PRESENT) && __FPU_PRESENT == 1 fpuInit(); #endif #if defined(NO_BOARD_LIB) /* Chip specific SystemInit */ Chip_SystemInit(); #else /* Setup system clocking and muxing */ Board_SystemInit(); #endif }
ベクターテーブルを取ってきて、
Board_SystemInit();
をコールしているだけ。
void Board_SystemInit(void)
はlpc_board_nxp_lpcxpresso_1769
プロジェクトのboard_sysinit.c
で定義されている。