static void AppTaskStart (void *p_arg) { OS_ERR err; #if (APP_CFG_TCPIP_MODULE_EN > 0u) NET_ERR net_err; #endif (void)&p_arg; BSP_Init(); /* Initialize BSP functions */ CPU_Init(); /* Initialize the uC/CPU services */ OS_CPU_TickInit(); /* Init uC/OS periodic time src (SysTick). */ #if (OS_CFG_STAT_TASK_EN > 0u) OSStatTaskCPUUsageInit(&err); /* Compute CPU capacity with no task running */ #endif Mem_Init(); /* Initialize mem mgmt module, required for TCP-IP. */ #if (APP_CFG_PROBE_COM_MODULE_EN > 0u) AppProbe_Init(); /* Initialize uC/Probe modules */ #endif OSTaskCreate((OS_TCB *)&AppBlinkyTaskTCB, /* Create the start task */ (CPU_CHAR *)"Blinky Task", (OS_TASK_PTR ) AppBlinkyTask, (void *) 0, (OS_PRIO ) BLINKY_TASK_PRIO, (CPU_STK *)&AppBlinkyTaskStk[0], (CPU_STK_SIZE) BLINKY_TASK_STK_SIZE / 10u, (CPU_STK_SIZE) BLINKY_TASK_STK_SIZE, (OS_MSG_QTY ) 0u, (OS_TICK ) 0u, (void *) 0, (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR), (OS_ERR *)&err); BSP_GraphLCD_Init(); AppGraphLCD_Hdr(); #if (APP_CFG_TCPIP_MODULE_EN > 0u) AppTCPIP_Init(&net_err); /* Initialize uC/TCP-IP & associated applications. */ AppCloud_Init(0); #endif #ifdef CPU_CFG_INT_DIS_MEAS_EN CPU_IntDisMeasMaxCurReset(); #endif AppTCPIP_Cfg = DEF_TRUE; OSTaskDel(&AppTaskStartTCB, /* Delete task because its work is complete */ &err); while (DEF_ON) { ; /* Should not get here! */ } }
static void AppTaskStart (void *p_arg) { CPU_INT08U seq; OS_ERR err; #if (APP_CFG_TCPIP_MODULE_EN > 0u) NET_ERR net_err; #endif (void)&p_arg; BSP_Init(); /* Initialize BSP functions */ CPU_Init(); /* Initialize the uC/CPU services */ OS_CPU_TickInit(); /* Init uC/OS periodic time src (SysTick). */ BSP_Ser_Init(BSP_CFG_SER_BAUDRATE); #if (OS_CFG_STAT_TASK_EN > 0u) OSStatTaskCPUUsageInit(&err); /* Compute CPU capacity with no task running */ #endif Mem_Init(); /* Initialize mem mgmt module, required for TCP-IP. */ BSP_GraphLCD_Init(); AppGraphLCD_Hdr(); #if (APP_CFG_FS_EN > 0u) App_FS_Init(); #endif #if (APP_CFG_TCPIP_MODULE_EN > 0u) AppTCPIP_Init(&net_err); /* Initialize uC/TCP-IP & associated applications. */ if ((net_err == NET_ERR_NONE) || (net_err == NET_IF_ERR_LINK_DOWN)) { AppTCPIP_Cfg = DEF_TRUE; } #if (APP_CFG_TFTPs_MODULE_EN > 0u) TFTPs_Init(); #endif AppCloud_Init(1); #else AppTCPIP_Cfg = DEF_TRUE; #endif #if OS_CFG_SCHED_ROUND_ROBIN_EN > 0u OSSchedRoundRobinCfg(DEF_ENABLED, 5, &err); #endif #if (APP_CFG_AUDIO_EN > 0u) AppAudio_Init(); #endif #ifdef CPU_CFG_INT_DIS_MEAS_EN CPU_IntDisMeasMaxCurReset(); #endif seq = 0; LED_Off(0); /* turn all LEDs off */ while (DEF_ON) { /* Task body, always written as an infinite loop. */ if (AppTCPIP_Cfg == DEF_FALSE) { LED_Toggle(14); /* simple LED flash */ LED_Toggle( 5); LED_Toggle( 8); LED_Toggle(11); OSTimeDlyHMSM(0u, 0u, 0u, 100u, OS_OPT_TIME_HMSM_STRICT, &err); } else { switch (seq){ case 0: LEDDisplay_Seq0(); seq++; break; case 1: LEDDisplay_Seq1(); seq++; break; case 2: LEDDisplay_Seq2(); seq++; break; case 3: LEDDisplay_Seq3(); seq = 0; break; default: seq = 0; break; } } } }
static void AppTaskStart (void *p_arg) { OS_ERR err; #if (APP_CFG_TCPIP_MODULE_EN > 0u) NET_ERR net_err; #endif (void)&p_arg; BSP_Init(); /* Initialize BSP functions */ CPU_Init(); /* Initialize the uC/CPU services */ OS_CPU_TickInit(); /* Init uC/OS periodic time src (SysTick). */ #if (OS_CFG_STAT_TASK_EN > 0u) OSStatTaskCPUUsageInit(&err); /* Compute CPU capacity with no task running */ #endif Mem_Init(); /* Initialize mem mgmt module, required for TCP-IP. */ #if (APP_CFG_PROBE_COM_MODULE_EN > 0u) AppProbe_Init(); /* Initialize uC/Probe modules */ #endif OSTaskCreate((OS_TCB *)&AppAccelTaskTCB, /* Create the accelerometer task */ (CPU_CHAR *)"Accel Task", (OS_TASK_PTR ) AppAccelTask, (void *) 0, (OS_PRIO ) ACCEL_TASK_PRIO, (CPU_STK *)&AppAccelTaskStk[0], (CPU_STK_SIZE) ACCEL_TASK_STK_SIZE / 10u, (CPU_STK_SIZE) ACCEL_TASK_STK_SIZE, (OS_MSG_QTY ) 0u, (OS_TICK ) 0u, (void *) 0, (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR), (OS_ERR *)&err); OSTaskCreate((OS_TCB *)&AppTempTaskTCB, /* Create the temperature task */ (CPU_CHAR *)"Temp Task", (OS_TASK_PTR ) AppTempTask, (void *) 0, (OS_PRIO ) TEMPERATURE_TASK_PRIO, (CPU_STK *)&AppTempTaskStk[0], (CPU_STK_SIZE) TEMPERATURE_TASK_STK_SIZE / 10u, (CPU_STK_SIZE) TEMPERATURE_TASK_STK_SIZE, (OS_MSG_QTY ) 0u, (OS_TICK ) 0u, (void *) 0, (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR), (OS_ERR *)&err); BSP_GraphLCD_Init(); AppGraphLCD_Hdr(); #if (APP_CFG_TCPIP_MODULE_EN > 0u) AppTCPIP_Init(&net_err); /* Initialize uC/TCP-IP & associated applications. */ AppCloud_Init(0); #endif #ifdef CPU_CFG_INT_DIS_MEAS_EN CPU_IntDisMeasMaxCurReset(); #endif AppTCPIP_Cfg = DEF_TRUE; while (DEF_ON) { OSTimeDlyHMSM(0u, 0u, 0u, 100u, OS_OPT_TIME_HMSM_STRICT, &err); } }
void BSP_Init (void) { BSP_SysInit(); /* Initialize system services, clocks, etc. */ OS_BSP_TickInit(); /* Init uC/OS-xx periodic time source */ #if BSP_CFG_LED_EN > 0u BSP_LED_Init(); /* Initialize LEDs */ #endif #if BSP_CFG_GRAPH_LCD_EN > 0u BSP_GraphLCD_Init(); /* Initialize the on-board graphics LCD display */ #endif #if BSP_CFG_CAN_EN > 0u #endif #if BSP_CFG_CAN_OPEN_EN > 0u #endif #if BSP_CFG_FS_EN > 0u #endif #if BSP_CFG_GUI_EN > 0u #endif #if BSP_CFG_MBM_EN > 0u #endif #if BSP_CFG_MBS_EN > 0u #endif #if BSP_CFG_NET_EN > 0u #endif #if BSP_CFG_OS2_EN > 0u #endif #if BSP_CFG_OS3_EN > 0u #endif #if BSP_CFG_USBD_EN > 0u /* ---------------- USB PIN CONFIGURATION ------------- */ PORT2.PDR.BIT.B3 = 0; /* Clear USB0_DPUPE pin */ PORT2.PMR.BIT.B3 = 0; MPC.PWPR.BIT.B0WI = 0; /* En writing to PFS registers */ MPC.PWPR.BIT.PFSWE = 1; MPC.P23PFS.BYTE = 0x13; /* Select USB0_DPUPE as peripheral function */ MPC.PWPR.BIT.PFSWE = 0; /* Dis writing to PFS registers */ MPC.PWPR.BIT.B0WI = 1; PORT2.PMR.BIT.B3 = 1; /* Set pin as I/O port for peripheral function */ #endif #if BSP_CFG_USBH_EN > 0u #endif #if BSP_CFG_MISC_EN > 0u BSP_MiscInit(); /* Initialize miscellaneous services */ #endif }