예제 #1
0
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!                                 */
    }
}
예제 #2
0
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;
            }
        }
    }
}
예제 #3
0
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
}