increasing configTICK_RATE_HZ problem

nobody wrote on Wednesday, December 13, 2006:

Hi everybody,

AT91SAM7XC256 EK, and freeRTOS with uIP.

I am trying to increase tick frequency in order to run some uIP tests, as i am aweare of limitations due to this change. There is only uIP task i left ro run.

Here are the changes i’ve made:

#define configTICK_RATE_HZ  ((portTickType)5000)  in FreeRTOSConfig.h
#define portTICK_RATE_MS ((portTickType)5000/configTICK_RATE_HZ)  in portmacro.h
#define portPIT_COUNTER_VALUE (((configCPU_CLOCK_HZ / portPIT_CLOCK_DIVISOR)/5000UL) * portTICK_RATE_MS )  in  port.c

So the tick period would be 200 us, and it appears that EMAC initialisation is significantly longer ( around 30 s )and some other strange things happens. When i set tick to be 100us uIP stops working.

I’am wondering if this is correct way to increase tick rate? Or if freeRTOS is designed to support higher tick than 1ms, at all? ( i guess not)

Thanks anyway.

nobody wrote on Wednesday, December 13, 2006:

You should have only altered configTICK_RATE_HZ, not portTICK_RATE_MS.  You have set portTICK_RATE_MS to 1, that is one tick every ms.

portTICK_RATE_MS should be ( 1000 / configTICK_RATE_HZ ) which will not provide a useful number if you are wanting a tick greater than 1000Hz.

portTICK_RATE_MS is not used by FreeRTOS itself, but is used by the demo apps.  Therefore the demo apps will not work at a tick rate greater than 1000Hz.