void sysHwInit0(void) { intLock(); #if PLL_EN == 0 /* Not use PLL 不使用PLL */ SysCtlClockSet(CCLK_DIV | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | EXT_CLK); #else /* Use PLL 使用PLL */ SysCtlClockSet(CCLK_DIV | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | EXT_CLK); #endif intLibInit(); //系统IO初始化 bsp_gpio_init(); //系统串口初始化 sysSerialHwInit(); intUnlock(); }
/******************************************************************************* * * sysHwInit - initialize the CPU board hardware * * This routine initializes various features of the hardware. * Normally, it is called from usrInit() in usrConfig.c. * * NOTE: This routine should not be called directly by the user. * * RETURNS: N/A * * ERRNO: N/A */ void sysHwInit (void) { dmesg_init(); /* install the IRQ/SVC interrupt stack splitting routine */ #ifndef _ARCH_SUPPORTS_PROTECT_INTERRUPT_STACK _func_armIntStackSplit = sysIntStackSplit; #endif /* !_ARCH_SUPPORTS_PROTECT_INTERRUPT_STACK */ #if defined(INCLUDE_TTY_DEV) || defined(INCLUDE_SIO_POLL) sysSerialHwInit (); #endif #ifdef FORCE_DEFAULT_BOOT_LINE strncpy(sysBootLine, DEFAULT_BOOT_LINE, strlen(DEFAULT_BOOT_LINE)+1); #endif /* FORCE_DEFAULT_BOOT_LINE */ }
void sysHwInit2( void ) { /* Connect system timer interrupt handler */ intConnectDefault(0x20, sysClockInt, NULL); #ifdef INCLUDE_PC_CONSOLE intConnectDefault(0x21, kbdIntr, (void *) 0); #endif /* INCLUDE_PC_CONSOLE */ sysSerialHwInit(); sysSerialHwInit2(); #ifdef INCLUDE_PC_MOUSE /* TODO */ #endif /* INCLUDE_PC_MOUSE */ }
/** ****************************************************************************** * @brief 硬件初始化 * @param[in] None * @param[out] None * @retval None * * @details * * @note ****************************************************************************** */ void sysHwInit0(void) { intLock(); SystemInit(); intLibInit(); //使能外设 sysRccInit(); //系统IO初始化 bsp_gpio_init(); //系统串口初始化 sysSerialHwInit(); intUnlock(); }