void HAL_Initialize() { HAL_CONTINUATION::InitializeList(); HAL_COMPLETION ::InitializeList(); Events_Initialize(); CPU_GPIO_Initialize(); CPU_SPI_Initialize(); HAL_Time_Initialize(); Time_Initialize(); ENABLE_INTERRUPTS(); BlockStorageList::Initialize(); BlockStorage_AddDevices(); BlockStorageList::InitializeDevices(); FS_Initialize(); FileSystemVolumeList::Initialize(); FS_AddVolumes(); FileSystemVolumeList::InitializeVolumes(); CPU_InitializeCommunication(); LCD_Initialize(); I2C_Initialize(); PalEvent_Initialize(); Gesture_Initialize(); Ink_Initialize(); TimeService_Initialize(); /* other drivers init */ }
int main(void) { #if PLATFORM_ARM_OS_PORT ClrThreadId = osThreadGetId(); #endif BootstrapCode_GPIO(); HAL_Time_Initialize(); HAL_Initialize(); #if !defined(BUILD_RTM) DEBUG_TRACE4( STREAM_LCD, ".NetMF v%d.%d.%d.%d\r\n", VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_REVISION); DEBUG_TRACE3(TRACE_ALWAYS, "%s, Build Date:\r\n\t%s %s\r\n", HalName, __DATE__, __TIME__); #if defined(__GNUC__) DEBUG_TRACE1(TRACE_ALWAYS, "GNU Compiler version %d\r\n", __GNUC__); #else DEBUG_TRACE1(TRACE_ALWAYS, "ARM Compiler version %d\r\n", __ARMCC_VERSION); #endif UINT8* BaseAddress; UINT32 SizeInBytes; HeapLocation( BaseAddress, SizeInBytes ); memset ( BaseAddress, 0, SizeInBytes ); debug_printf("\f"); debug_printf("%-15s\r\n", HalName); debug_printf("%-15s\r\n", "Build Date:"); debug_printf(" %-13s\r\n", __DATE__); debug_printf(" %-13s\r\n", __TIME__); #endif // !defined(BUILD_RTM) /***********************************************************************************/ { #if defined(FIQ_SAMPLING_PROFILER) FIQ_Profiler_Init(); #endif } // the runtime is by default using a watchdog Watchdog_GetSetTimeout ( WATCHDOG_TIMEOUT , TRUE ); Watchdog_GetSetBehavior( WATCHDOG_BEHAVIOR, TRUE ); Watchdog_GetSetEnabled ( WATCHDOG_ENABLE, TRUE ); // HAL initialization completed. Interrupts are enabled. Jump to the Application routine ApplicationEntryPoint(); debug_printf("main exited!!???. Halting CPU\r\n"); #if defined(BUILD_RTM) CPU_Reset(); #else CPU_Halt(); #endif return -1; }