void app_main(void *data) { EatEvent_st event; EatEntryPara_st *para; event_handler_func func = NULL; APP_InitRegions();//Init app RAM APP_init_clib(); para = (EatEntryPara_st*)data; memcpy(&app_para, para, sizeof(EatEntryPara_st)); eat_trace(" App Main ENTRY update:%d result:%d", app_para.is_update_app,app_para.update_app_result); if(app_para.is_update_app && app_para.update_app_result) { eat_update_app_ok(); } eat_trace(" app_main ENTRY"); //event_register_handler(EAT_EVENT_TIMER, timer_proc); //event_register_handler(EAT_EVENT_KEY, key_proc); event_register_handler(EAT_EVENT_MDM_READY_RD, (event_handler_func)mdm_rx_proc); //event_register_handler(EAT_EVENT_MDM_READY_WR, mdm_tx_proc); //event_register_handler(EAT_EVENT_INT, int_proc); //event_register_handler(EAT_EVENT_UART_READY_RD, uart_rx_proc); //event_register_handler(EAT_EVENT_UART_READY_WR, uart_tx_proc); //event_register_handler(EAT_EVENT_UART_SEND_COMPLETE, uart_send_complete_proc); //event_register_handler(EAT_EVENT_USER_MSG, user_msg_proc); event_register_handler(EAT_EVENT_ADC, (event_handler_func)adc_event_proc); while(EAT_TRUE) { eat_get_event(&event); eat_trace("%s-%d:msg %x", __FILE__, __LINE__,event.event); func = EventHandlerTable[event.event]; if(event.event < EAT_EVENT_NUM && func != NULL) { (*func)(&event); } } }
void app_main(void *data) { EatEvent_st event; eat_bool rc; EatEntryPara_st *para; APP_InitRegions();//Init app RAM APP_init_clib(); //C library initialize, second step para = (EatEntryPara_st*)data; if(para->is_update_app && para->update_app_result) { //APP update succeed LOG_DEBUG("app upgrade success"); eat_update_app_ok(); //clear update APP flag } LOG_INFO("booting: version:%s, build_time=%s %s. core(version:%s, buildno=%s, buildtime=%s)", VERSION_STR, __DATE__, __TIME__, eat_get_version(), eat_get_buildno(), eat_get_buildtime()); rc = eat_mem_init(s_memPool, EAT_MEM_MAX_SIZE); if (!rc) { LOG_ERROR("eat memory initial error:%d!", rc); return; } if (lzo_init() != LZO_E_OK) { return; } log_initial(); setting_restore(); fs_initial(); seek_initial(); startWatchdog(); while(EAT_TRUE) { unsigned int event_num = eat_get_event_num(); if (event_num != 0) { int i = 0; for (i = 0; i < event_num; i++) { eat_get_event(&event); event_proc(&event); } } //poll } }