void ApplicationEntryPoint() { CLR_SETTINGS clrSettings; InitCRuntime(); CPU_Initialize(); Time_Initialize(); HAL_Initialize(); // CLR entry point memset(&clrSettings, 0, sizeof(CLR_SETTINGS)); clrSettings.MaxContextSwitches = 50; clrSettings.WaitForDebugger = false; clrSettings.EnterDebuggerLoopAfterExit = true; ClrStartup( clrSettings ); HAL_Uninitialize(); Time_Uninitialize(); #if !defined(BUILD_RTM) debug_printf( "Exiting.\r\n" ); CPU_Halt(); #else CPU_Reset(); #endif }
void main(void) { HAL_Initialize(); ApplicationEntryPoint(); }
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; }