Hook function to initialize tick timer?

jdabbs003 wrote on Monday, June 22, 2009:

We are porting to the Epson S1C33 architecture.  One thing that would be nice (for us) is to define a port-specific hook/callback to actually setup the FreeRTOS tick timer.  The reason is that there are so many timers with so many options, it’s cumbersome to use #if/#elif/#elif to cover all possibilities in the port.c code.

However, it seems like this is not done with other ports.  Is using a port-specific hook function to initialize the tick timer a problem with FreeRTOS? If so, is there a better way to deal with this situation?


rtel wrote on Monday, June 22, 2009:

There is no reason why not to use a callback or hook function - there is at least one port that does this by default already (I think its one of the ColdFire V2 ports where the vector table changes depending on the exact part being used).

Another common technique is to #define prvSetupTimerInterrupt to another function in FreeRTOSConfig.h, then you can define the ‘other’ function to setup whichever time you want, although some ports also require an asm file modification if the handler has an asm wrapper.