/** * @brief Start of application. */ int main(void) { /* Initialize hardware */ HAL_BOARD_INIT(); // Initialize board I/O InitBoard( OB_COLD ); /* Initialze the HAL driver */ HalDriverInit(); /* Initialize NV system */ osal_snv_init(); /* Initialize LL */ /* Initialize the operating system */ osal_init_system(); /* Enable interrupts */ HAL_ENABLE_INTERRUPTS(); // Final board initialization InitBoard( OB_READY ); osal_pwrmgr_device( PWRMGR_ALWAYS_ON ); HCI_EXT_ClkDivOnHaltCmd(HCI_EXT_DISABLE_CLK_DIVIDE_ON_HALT); /* Start OSAL */ osal_start_system(); // No Return from here return 0; }
/*--------------------------------------------------------------------------- * main *-------------------------------------------------------------------------*/ int main(void) { /* Initialize hardware */ HAL_BOARD_INIT(); // Initialize board I/O InitBoard( OB_COLD ); /* PCB specific initialization */ cbHW_init(); /* Initialze the HAL driver */ HalDriverInit(); /* Initialize NV system */ osal_snv_init(); /* Initialize the operating system */ osal_init_system(); /* Enable interrupts */ HAL_ENABLE_INTERRUPTS(); /* Final board initialization */ InitBoard( OB_READY ); #if defined ( POWER_SAVING ) osal_pwrmgr_device( PWRMGR_BATTERY ); #endif /* Start OSAL */ osal_start_system(); // No Return from here return 0; }
/************************************************************************************************** * @fn main * * @brief Start of application. * * @param none * * @return none ************************************************************************************************** */ int main(void) { /* Initialize hardware */ HAL_BOARD_INIT(); /* Initialze the HAL driver */ HalDriverInit(); /* Initialize NV system */ osal_snv_init(); /* Initialize the operating system */ osal_init_system(); /* Enable interrupts */ HAL_ENABLE_INTERRUPTS(); #if defined POWER_SAVING osal_pwrmgr_device( PWRMGR_BATTERY ); #endif /* Start OSAL */ osal_start_system(); // No Return from here return 0; }
/************************************************************************************************** * @fn main * * @brief Start of application. * * @param none * * @return none ************************************************************************************************** */ int main(void) { /* Initialize hardware */ HAL_BOARD_INIT(); /* Initialze the HAL driver */ HalDriverInit(); /* Initialize NV system */ osal_snv_init(); /* Initialize LL */ /* Initialize the operating system */ osal_init_system(); /* Enable interrupts */ HAL_ENABLE_INTERRUPTS(); /* Setup Keyboard callback */ HalKeyConfig(false, MSA_Main_KeyCallback); /* Blink LED on startup */ HalLedSet (HAL_LED_4, HAL_LED_MODE_ON); /* Start OSAL */ osal_start_system(); // No Return from here return 0; }
/************************************************************************************************** * @fn main * * @brief Start of application. * * @param none * * @return none ************************************************************************************************** */ int main(void) { /* Initialize hardware */ HAL_BOARD_INIT(); /* Initialze the HAL driver */ HalDriverInit(); /* Initialize MAC */ MAC_Init(); /* Initialize the operating system */ osal_init_system(); /* Enable interrupts */ HAL_ENABLE_INTERRUPTS(); /* Setup OSAL Timer */ HalTimerConfig ( OSAL_TIMER, // 16bit timer3 HAL_TIMER_MODE_CTC, // Clear Timer on Compare HAL_TIMER_CHANNEL_SINGLE, // Channel 1 - default HAL_TIMER_CH_MODE_OUTPUT_COMPARE, // Output Compare mode FALSE, // Use interrupt MSA_Main_TimerCallBack); // Channel Mode /* Setup Keyboard callback */ HalKeyConfig(MSA_KEY_INT_ENABLED, MSA_Main_KeyCallback); /* Initialize UART */ UartCnfg.baudRate = HAL_UART_BR_9600; UartCnfg.callBackFunc = HalUARTCBack; UartCnfg.flowControl = FALSE; UartCnfg.flowControlThreshold = 0; /* max Buffer Size in Byte*/ UartCnfg.idleTimeout = 200; /* * halUARTOpen provvederà tramite la funzione halUartAllocBuffers ad allocare e inizializzare * le strutture dati RxUART e TxUART. */ UartCnfg.rx = RxUART; UartCnfg.tx = TxUART; UartCnfg.rx.maxBufSize = UART_MAX_BUFFER_SIZE; UartCnfg.tx.maxBufSize = UART_MAX_BUFFER_SIZE; UartCnfg.intEnable = TRUE ; /* enable or disable the interrupts */ UartCnfg.configured = TRUE; uint8 status = HalUARTOpen(HAL_UART_PORT, &UartCnfg); /* passo l'indirizzo di memoria della struttura dati UartCnfg, Passaggio per riferimento!!!*/ /* Start OSAL */ osal_start_system(); // No Return from here return 0; }
/************************************************************************************************** * @fn main * * @brief Start of application. * * @param none * * @return none ************************************************************************************************** */ int main(void) { /* Initialize hardware */ HAL_BOARD_INIT(); // Initialize board I/O InitBoard( OB_COLD ); /* Initialze the HAL driver */ HalDriverInit(); /* Initialize NV system */ osal_snv_init(); /* Initialize LL */ /* Initialize the operating system */ osal_init_system(); /* Enable interrupts */ HAL_ENABLE_INTERRUPTS(); // Final board initialization InitBoard( OB_READY ); #if defined ( POWER_SAVING ) osal_pwrmgr_device( PWRMGR_BATTERY ); #endif #if 0 P0DIR |= 0x32; P0_1 = 0; P0_4 = 0; P0_5 = 0; #endif #if 0 P1DIR |= 0x08; P1_3 = 0; P2DIR |= 0x01; P2_0 = 1; #endif // E009_Init(); // E009_ActivatePwrKey(); //HalLedSet(HAL_LED1_G,HAL_LED_MODE_ON); /* Start OSAL */ osal_start_system(); // No Return from here return 0; }
//JFang, 任何8051单片机c程序, 都是由 main 函数开始的, // 我们拿到一份代码,首先需要找到main函数 int main(void) { /* Initialize hardware */ HAL_BOARD_INIT(); //JFang,初始化时钟稳定时钟等等 // Initialize board I/O //JFang, 冷启动,关闭了led灯与中断, 一边接下来的各种初始化不受干扰 InitBoard( OB_COLD ); /* Initialze the HAL driver */ HalDriverInit(); //JFang, 各种驱动的初始化、如按键、lcd、adc、usb、uart等 /* Initialize NV system */ //JFang, snv 内部用于保存配对数据或你的用户自定义数据的一段flash,4kB空间 osal_snv_init(); /* Initialize LL */ /* Initialize the operating system */ //JFang, oasl 操作系统初始化, 包含内存分配、消息队列、定时器、电源管理和任务等 osal_init_system(); /* Enable interrupts */ HAL_ENABLE_INTERRUPTS();//JFang, 开启全局中断 // Final board initialization InitBoard( OB_READY ); //JFang,设置标志标示系统初始化完毕 #if defined ( POWER_SAVING ) //JFang, 如果你使能了低功耗, 就启动低功耗模式, osal_pwrmgr_device( PWRMGR_BATTERY ); #endif /* 低功耗部分 1.如何总是在PM1 osal_pwrmgr_device( PWRMGR_ALWAYS_ON ); 2.如何进入PM2 osal_pwrmgr_device( PWRMGR_BATTERY );在空闲的时候就会进入到PM2模式 3.如何进入PM3 存在连接就断开连接,存在广播就停掉广播,并确认自己创建的所有定时任务都已关闭, 则系统应该就会进入PM3模式,只能进行外部中断唤醒 */ /* Start OSAL */ osal_start_system(); // No Return from here /* osal 操作系统启动,实际上是一个大循环,只是检查相对应的标志位, 就指定相对应的任务,看到这里,同学们应该往哪里看呢?其实,这已经是尽头了?那么我们的应用程序是在哪里写的呢 其实是在上面的 上面的函数 osal_init_system 里就初始化了,现在回过头去看看 osal_init_system 这个函数内部就知道了 */ return 0; }
int main(void) { hal_init(); print_version(version); osal_init_system(); if(gSystem_t->mdc_test){ osal_start_timerEx(gSTTID, MDC_TEST_POLL_MSG, 20000); } osal_start_reload_timer(gSTTID, SERIAL_POLL_MSG, 500); osal_start_reload_timer(gBT_TaskID, BT_POLL_MSG, 150); osal_start_reload_timer(gNADUartID, NAD_UART_POLL_MSG, 200); osal_start_timerEx(gSTTID, IR_IN_POLARITY_CHECK_MSG, 150); while(1) { osal_start_system(); } }
/************************************************************************************************** * @fn main * * @brief Start of application. * * @param none * * @return none ************************************************************************************************** */ int main(void) { /* Initialize hardware */ HAL_BOARD_INIT(); // Initialize board I/O InitBoard( OB_COLD ); /* Initialze the HAL driver */ HalDriverInit(); /* Initialize NV system */ osal_snv_init(); /* Initialize the operating system */ osal_init_system(); /* Enable interrupts */ HAL_ENABLE_INTERRUPTS(); // Final board initialization InitBoard( OB_READY ); #if defined ( POWER_SAVING ) osal_pwrmgr_device( PWRMGR_BATTERY ); #endif #if (ALLOW_SELF_TEST == ENABLE) #if !defined(FEATURE_OAD) /* Run power on self-test */ sensorTag_test(); #endif #endif /* Start OSAL */ osal_start_system(); // No Return from here return 0; }
/** * Main entry function for the stack image */ int stack_main( void *arg ) { /* User reconfiguration of BLE Controller and Host variables */ setBleUserConfig( (bleUserCfg_t *)arg ); /* Establish OSAL for a stack service that requires accompanying * messaging service */ if (ICall_enrollService(ICALL_SERVICE_CLASS_BLE_MSG, (ICall_ServiceFunc) osal_service_entry, &osal_entity, &osal_semaphore) != ICALL_ERRNO_SUCCESS) { /* abort */ ICall_abort(); } halIntState_t state; HAL_ENTER_CRITICAL_SECTION(state); // Turn off interrupts //osal_int_disable( INTS_ALL ); // Initialize NV System osal_snv_init( ); // Initialize the operating system osal_init_system(); // Allow interrupts //osal_int_enable( INTS_ALL ); HAL_EXIT_CRITICAL_SECTION(state); osal_start_system(); // No Return from here return 0; // Shouldn't get here. }
/******************************************* * @fun : main * @brief : Start of application. * * @param : none * * @return : none ******************************************/ int main(void) { HAL_BOARD_INIT(); //硬件初始化 InitBoard( OB_COLD ); //板级IO初始化 HalDriverInit(); //HAL驱动初始化 osal_snv_init(); //NV系统初始化 osal_init_system(); //OSAL初始化 HAL_ENABLE_INTERRUPTS(); //使能总中断 InitBoard( OB_READY ); //板级初始化 #if defined ( POWER_SAVING ) osal_pwrmgr_device( PWRMGR_BATTERY ); //低功耗管理 #endif osal_start_system(); // No Return from here 启动OSAL return 0; }
/********************************************************************* * @fn msaOSTask * * @brief This function invokes osal_start_system(The main event loop) * * @param task_parameter(Not being used in the present fucntion) * * @return none */ void msaOSTask(void *task_parameter) { osal_start_system(); }