void SYS_Tasks ( void ) { SYS_FS_Tasks(); /* Call the SDCARD Task */ DRV_SDCARD_Tasks(appDrvObjects.drvSDCARDObject); _SYS_COMMAND_TASK(); SYS_USERIO_Tasks(); TCPIP_STACK_Task(); /* Call the application's tasks routine */ APP_Tasks ( ); }
/******************************************************************************* Function: void _SYS_Tasks ( void ) Summary: Maintains state machines of system modules. */ static void _SYS_Tasks ( void) { TIMEOUT_THREAD_0_START; while(1) { /* Maintain system services */ SYS_DEVCON_Tasks(sysObj.sysDevcon); /* Maintain the file system state machine. */ SYS_FS_Tasks(); SYS_CONSOLE_Tasks(sysObj.sysConsole0); /* SYS_COMMAND layer tasks routine */ SYS_CMD_Tasks(); /* SYS_TMR Device layer tasks routine */ SYS_TMR_Tasks(sysObj.sysTmr); /* Maintain Device Drivers */ DRV_SST25VF064C_Tasks(sysObj.drvSst25vf064c0); DRV_SDCARD_Tasks(sysObj.drvSDCard); /* Maintain Middleware */ NET_PRES_Tasks(sysObj.netPres); /* Maintain the TCP/IP Stack*/ wdt_arm_thread_0(); wdt_kick(); if(TIMEOUT_THREAD_0(10)) { TIMEOUT_THREAD_0_START; SYS_DEBUG(SYS_ERROR_INFO, "MON: SYS Stack size: %d\r\n",uxTaskGetStackHighWaterMark(NULL)); size_t libc_heap_usage_total = TrackHeap_TotalUsage(); size_t libc_heap_usage_max = TrackHeap_MaxUsage(); SYS_DEBUG(SYS_ERROR_INFO, "MON: heap usage: %dKB (%dKB), free: %dKB\r\n", libc_heap_usage_total / 1024, libc_heap_usage_max / 1024,xPortGetFreeHeapSize() / 1024); } /* Task Delay */ vTaskDelay(1 / portTICK_PERIOD_MS); } }