I didn't find a clear delineation between what embOS APIs are safe to call in a timer callback and which are not. From the embOS_Generic.pdf, i see the following:
Are there APIs that are unsafe to call since we're not in a task context? Clearly it doesn't make sense to call something that might potentially block, but are there other considerations? Often RTOS documentation will explicitly indicate which APIs are unsafe to use in callbacks (and ISRs) - usually there's only a subset of APIs that are safe.
Timer routines are similar to interrupt routines; they have a priority higher than the priority of all tasks. For that reason they should be kept short just like interrupt routines.
Are there APIs that are unsafe to call since we're not in a task context? Clearly it doesn't make sense to call something that might potentially block, but are there other considerations? Often RTOS documentation will explicitly indicate which APIs are unsafe to use in callbacks (and ISRs) - usually there's only a subset of APIs that are safe.