int main (void) { OS_ERR err; #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_ERR cpu_err; #endif CPU_Init(); /* Initialize the CPU abstraction layer. */ Mem_Init(); /* Initialize the Memory Management Module. */ Math_Init(); /* Initialize the Mathematical Module. */ #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_NameSet((CPU_CHAR *)"MKL46Z256VLL4", (CPU_ERR *)&cpu_err); #endif BSP_IntDisAll(); /* Disable all interrupts. */ #if (defined(TRACE_CFG_EN) && (TRACE_CFG_EN > 0u)) TRACE_INIT(); /* Initialize the µC/Trace recorder. */ TRACE_START(); /* Start recording. */ #endif OSInit(&err); /* Initialize "uC/OS-III, The Real-Time Kernel". */ OSMutexCreate((OS_MUTEX *)&AppMutex, (CPU_CHAR *)"My App. Mutex", (OS_ERR *)&err); OSQCreate ((OS_Q *)&AppQ, (CPU_CHAR *)"My App Queue", (OS_MSG_QTY )10, (OS_ERR *)&err); OSTaskCreate((OS_TCB *)&App_TaskStartTCB, /* Create the startup task. */ (CPU_CHAR *)"Startup Task", (OS_TASK_PTR ) App_TaskStart, (void *) 0, (OS_PRIO ) APP_CFG_TASK_START_PRIO, (CPU_STK *)&App_TaskStartStk[0], (CPU_STK )(APP_CFG_TASK_START_STK_SIZE / 10u), (CPU_STK_SIZE) APP_CFG_TASK_START_STK_SIZE, (OS_MSG_QTY ) 0, (OS_TICK ) 0, (void *) 0, (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR), (OS_ERR *)&err); OSStart(&err); /* Start multitasking (i.e. give control to uC/OS-III). */ while(DEF_ON) { /* Should Never Get Here */ }; }
//--------------------------------------------------------------------------------------------------- // Main //--------------------------------------------------------------------------------------------------- int main (void) { OS_ERR aErr; SCB_SHPR2=(3<<30); #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_ERR aCpuErr; #endif // Initialize the CPU abstraction layer CPU_Init(); //Initialize the Memory Management Module Mem_Init(); // Initialize the Mathematical Module Math_Init(); #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_NameSet((CPU_CHAR *)"MKL46Z256VLL4",(CPU_ERR *)&aCpuErr); #endif // Disable all interrupts BSP_IntDisAll(); #if (defined(TRACE_CFG_EN) && (TRACE_CFG_EN > 0u)) TRACE_INIT(); // Initialize the µC/Trace recorder TRACE_START(); // Start recording #endif // Initialize "uC/OS-III, The Real-Time Kernel" OSInit(&aErr); // Création de la tâche de démarrage OSTaskCreate((OS_TCB *)&sAppTaskStartTCB, (CPU_CHAR *)"Startup Task", (OS_TASK_PTR ) AppTaskStart, (void *) 0, (OS_PRIO ) kStartTaskPr, (CPU_STK *)&sAppTaskStartStk[0], (CPU_STK )(kStackSize / 10u), (CPU_STK_SIZE) kStackSize, (OS_MSG_QTY ) 0, (OS_TICK ) 0, (void *) 0, (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR), (OS_ERR *)&aErr); // Démarrage du multitâche OSStart(&aErr); // On ne doit jamais se trouver ici... while(1); }
int main (void) { OS_ERR err; #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_ERR cpu_err; #endif hardware_init(); GPIO_DRV_Init(switchPins, ledPins); #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_NameSet((CPU_CHAR *)"MK64FN1M0VMD12", (CPU_ERR *)&cpu_err); #endif OSA_Init(); /* Init uC/OS-III. */ OSSemCreate(&MySem1, /* Create Semaphore 1 */ "sem 1", 0, &err); OSSemCreate(&MySem2, /* Create Semaphore 2 */ "sem 2", 0, &err); INT_SYS_InstallHandler(PORTC_IRQn, SW1_Intr_Handler); // associate ISR with sw1 intr source INT_SYS_InstallHandler(PORTA_IRQn, SW2_Intr_Handler); // associate ISR with sw2 intr source OSTaskCreate(&AppTaskStartTCB, /* Create the start task */ "App Task Start", AppTaskStart, 0u, APP_CFG_TASK_START_PRIO, &AppTaskStartStk[0u], (APP_CFG_TASK_START_STK_SIZE / 10u), APP_CFG_TASK_START_STK_SIZE, 0u, 0u, 0u, (OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR | OS_OPT_TASK_SAVE_FP), &err); OSA_Start(); /* Start multitasking (i.e. give control to uC/OS-III). */ while (DEF_ON) { /* Should Never Get Here */ ; } }
int main(void) { OS_ERR err; #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_ERR cpu_err; #endif HAL_Init(); /* See Note 1. */ Mem_Init(); /* Initialize Memory Managment Module */ Math_Init(); /* Initialize Mathematical Module */ #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_NameSet((CPU_CHAR *)"STM32F407VG", (CPU_ERR *)&cpu_err); #endif BSP_IntDisAll(); /* Disable all Interrupts. */ OSInit(&err); /* Init uC/OS-III. */ App_OS_SetAllHooks(); OSTaskCreate(&AppTaskStartTCB, /* Create the start task */ "App Task Start", AppTaskStart, 0u, APP_CFG_TASK_START_PRIO, &AppTaskStartStk[0u], AppTaskStartStk[APP_CFG_TASK_START_STK_SIZE / 10u], APP_CFG_TASK_START_STK_SIZE, 0u, 0u, 0u, (OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR), &err); OSStart(&err); /* Start multitasking (i.e. give control to uC/OS-III). */ while (DEF_ON) { /* Should Never Get Here. */ ; } }
int main (void) { OS_ERR err; #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_ERR cpu_err; #endif hardware_init(); GPIO_DRV_Init(switchPins, ledPins); #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_NameSet((CPU_CHAR *)"MK64FN1M0VMD12", (CPU_ERR *)&cpu_err); #endif OSA_Init(); /* Init uC/OS-III. */ OSTaskCreate(&AppTaskStartTCB, /* Create the start task */ "App Task Start", AppTaskStart, 0u, APP_CFG_TASK_START_PRIO, &AppTaskStartStk[0u], (APP_CFG_TASK_START_STK_SIZE / 10u), APP_CFG_TASK_START_STK_SIZE, 0u, 0u, 0u, (OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR | OS_OPT_TASK_SAVE_FP), &err); OSA_Start(); /* Start multitasking (i.e. give control to uC/OS-III). */ while (DEF_ON) { /* Should Never Get Here */ ; } }
int main (void) { OS_ERR os_err; #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_ERR cpu_err; #endif BSP_PreInit(); /* initialize basic board support routines */ #if (CPU_CFG_NAME_EN == DEF_ENABLED) CPU_NameSet((CPU_CHAR *)CSP_DEV_NAME, (CPU_ERR *)&cpu_err); #endif Mem_Init(); /* Initialize memory management module */ OSInit(&os_err); /* Init uC/OS-III */ // Debug_printf(Debug_Level_1, "Starting init"); #if 0 /* Enable Timer0 Interrupt.*/ CSP_IntVectReg((CSP_DEV_NBR )CSP_INT_CTRL_NBR_MAIN, (CSP_DEV_NBR )CSP_INT_SRC_NBR_TMR_00, (CPU_FNCT_PTR )App_TMR0_IntHandler, (void *)0); CSP_IntEn(CSP_INT_CTRL_NBR_MAIN, CSP_INT_SRC_NBR_TMR_00); /* Enable Timer1 Interrupt.*/ CSP_IntVectReg((CSP_DEV_NBR )CSP_INT_CTRL_NBR_MAIN, (CSP_DEV_NBR )CSP_INT_SRC_NBR_TMR_01, (CPU_FNCT_PTR )App_TMR1_IntHandler, (void *)0); CSP_IntEn(CSP_INT_CTRL_NBR_MAIN, CSP_INT_SRC_NBR_TMR_01); /* Enable Timer2 Interrupt.*/ CSP_IntVectReg((CSP_DEV_NBR )CSP_INT_CTRL_NBR_MAIN, (CSP_DEV_NBR )CSP_INT_SRC_NBR_TMR_02, (CPU_FNCT_PTR )App_TMR2_IntHandler, (void *)0); CSP_IntEn(CSP_INT_CTRL_NBR_MAIN, CSP_INT_SRC_NBR_TMR_02); CSP_TmrInit(); CSP_TmrCfg (CSP_TMR_NBR_00,TIMER_FREQ); CSP_TmrCfg (CSP_TMR_NBR_01,TIMER_FREQ); CSP_TmrCfg (CSP_TMR_NBR_02,TIMER_FREQ); #endif #if 0 // Init the Ethernet PHY EMAC_PinCfg(); emacConfigStruct.Mode = EMAC_MODE_100M_FULL; emacConfigStruct.pbEMAC_Addr = EthernetLinkLayer_macAddress(); OS_EMAC_Init(EthernetLinkLayer_rxSemaphore()); EMAC_Init(&emacConfigStruct); EMAC_SetFilterMode(EMAC_RFC_UCAST_EN, ENABLE); EMAC_SetFilterMode(EMAC_RFC_BCAST_EN, ENABLE); EMAC_SetFilterMode(EMAC_RFC_MCAST_EN, ENABLE); EMAC_SetFilterMode(EMAC_RFC_PERFECT_EN, ENABLE); EMAC_SetFilterMode(EMAC_RFC_MAGP_WOL_EN, DISABLE); EMAC_SetFilterMode(EMAC_RFC_PFILT_WOL_EN, DISABLE); // Init the Ethernt interrupt vecotrs CSP_IntVectReg((CSP_DEV_NBR )CSP_INT_CTRL_NBR_MAIN, (CSP_DEV_NBR )CSP_INT_SRC_NBR_ETHER_00, (CPU_FNCT_PTR )CSP_IntETH_Handler, (void *)0); CSP_IntEn(CSP_INT_CTRL_NBR_MAIN, CSP_INT_SRC_NBR_ETHER_00); EthernetLinkLayer_setMacAddress(macAddress); Ip_initialize(); Ip_setIPv4Address(ipv4Address); #endif #if 0 USBInit(); /* USB Initialization */ /* register descriptors */ USBRegisterDescriptors(abDescriptors); /* USB Descriptor Initialization */ /* register endpoint handlers */ USBHwRegisterEPIntHandler(BULK_IN_EP, BulkIn); /* register BulkIn Handler for EP */ USBHwRegisterEPIntHandler(BULK_OUT_EP, BulkOut); /* register BulkOut Handler for EP */ USBHwRegisterEPIntHandler(INT_IN_EP, NULL); USBHwEPConfig(BULK_IN_EP, MAX_PACKET_SIZE); /* Configure Packet Size for outgoing Transfer */ USBHwEPConfig(BULK_OUT_EP, MAX_PACKET_SIZE); /* Configure Packet Size for incoming Transfer */ /* enable bulk-in interrupts on NAKs */ USBHwNakIntEnable(INACK_BI); #endif //Cb_initialize(&cncQueueBuffer, CNC_QUEUE_BUFFER_SIZE, sizeof(QueueItem), (void*)&cncQueueBufferData); // Debug_printf(Debug_Level_1, "Init finished"); if(os_err != OS_ERR_NONE) for(;;); OSTaskCreate((OS_TCB *)&App_TaskStartTCB, /* Create the Start Task */ (CPU_CHAR *)"Start", (OS_TASK_PTR )App_TaskStart, (void *)0, (OS_PRIO )4, (CPU_STK *)App_TaskStartStk, (CPU_STK_SIZE )APP_CFG_TASK_START_STK_SIZE_LIMIT, (CPU_STK_SIZE )APP_CFG_TASK_START_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 *)&os_err); OSStart(&os_err); /* Start Multitasking */ if(os_err != OS_ERR_NONE) /* shall never get here */ for(;;); return (0); }