Hello,
I use FreeRTOS source 7.1.0 with Frescale IDE codewarrior special Edition, so i dont have any operating system for this version. But i has opensource 7.1.0 that i add to my project. It s works correctly.
My device is MC9S12XEQ512
I have two timer one of them is used to generate tickcount for RTOS and the second is used to calculate CPU charge using vTaskGetRunTimeStats.
I set in FreeRtosConfig.h : #define configGENERATE_RUN_TIME_STATS 1 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() Timer_GetRunTime_OnInterrupt() #define portGET_RUN_TIME_COUNTER_VALUE () ulHighFrequencyTimerTicks
the Timer_GetRunTime_OnInterrupt is a Interrupt for my second timer :
Hello xz897f,
I use CodeWarrior V5.1 special Edition without any operatin system.
the erros are :
C2450: Expected IDENT char cont double enum float int long short sigend struct union unsigend void volatile
and some error
the cursor is set in the line itnt task.c
ulTotalRunTime = portGET_RUN_TIME_COUNTER_VALUE();
Hello,
as the error is for the macro portGET_RUN_TIME_COUNTER_VALUE(), which is using ulHighFrequencyTimerTicks:
can you make sure that task.c includes the header file which contains ulHighFrequencyTimerTicks?
I think that you are missing to include the declaration for ulHighFrequencyTimerTicks.
Hello,
I has include the header file which contains ulHighFrequencyTimerTicks, it s name is “Events.h” and ulHighFrequencyTimerTicks is decalared as extern.
Hello,
Finaly i have find the problem, it s came frome my macro i have written : #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS Timer_GetRunTime_OnInterrupt() #define portGET_RUN_TIME_COUNTER_VALUE ulHighFrequencyTimerTicks
and not #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() Timer_GetRunTime_OnInterrupt() #define portGET_RUN_TIME_COUNTER_VALUE () ulHighFrequencyTimerTicks
i checked the function it works corectly but i have a problem in my timing when i add the second counter my tasks are not accurate it is normal?