measurement of whole OS efficiency, advice

//——————————————————————————————————————————- idleTask static u32_t cpu_free_time = 0; void vApplicationIdleHook( void ); void vApplicationIdleHook( void )            // for tests only, there must not be vTaskDelay    { #if DEVBRD        AT91C_BASE_PIOA->PIO_SODR = LED_BT; #endif     portENTER_CRITICAL();     cpu_free_time++;     portEXIT_CRITICAL(); } //———————————————————————————————- static void vUserTask( void *pvParameters ); static void vUserTask( void *pvParameters ) {     (void) pvParameters;     static char LEDblink = 0;     static u32_t cpu_time;     #define    ledblink(led)            if (LEDblink) ledon(led); else ledoff(led)     while (1) {         LEDblink ^= 1;                                                    // switch blinking                 //——————————————————————————————– OS control state LED                 ledblink(LED_WORK);                     vTaskDelay(( portTickType ) 500/*ms*/);                            // disable for debug vTaskUser stack…         //kprintf("usrSP: %dn", vGetSP());                                // debug                 // measure of cpu free time         portENTER_CRITICAL();         cpu_time = cpu_free_time;         cpu_free_time = 0;         portEXIT_CRITICAL();         kprintf("cpu free: %lun", cpu_time);     }    // while(1) } if cpu free = 0, you should correct your tasks, for example: while(1) vTaskDelay(50); instead of while(1); best regards Janusz

measurement of whole OS efficiency, advice

As an aside, what is the point of this: static void vUserTask( void *pvParameters ); static void vUserTask( void *pvParameters ) { … } Putting the function prototype right above the function itself?

measurement of whole OS efficiency, advice

I have this function in main.c file. Thus, I have not prototype in header file and I wanted to avoid compiler warning… Janusz