In RTOS1, e.g. in RTX4.xx, calls like osSignalWait() take a timeout which the caller passes in units of milliseconds. This millis value then undergoes a transformation to systicks in rt_ms2tick (rt_CMSIS.c). This routine truncates to U16, so the max value it can return is of course 65535. With an OS_TICK of 1ms (the suggested), the max millis timeout we can achieve is 65.535 seconds, just over a minute. In our apps, we'd routinely like timeout on the order of minutes, so the 65 second limit is a pain I'll have to work around.
Anyone know why RTX4 uses U16 to handle its delays? i would have thought U32 was much better.
Stu
FreeRTOS's "configUSE_16_BIT_TICKS" item allows exactly that.