Т.е. еще уточнение. Сказанное относится к случаю если стеки задач определены статически как массивы.
Но если использовать для стеков динамическое выделение памяти, то нужно внимательно изучить менеджер динамической памяти.
Помочь может, например, менеджер блоков памяти фиксированной длины, который идет c uCOS.
Цитата(AlexandrY @ Feb 6 2007, 14:53)

Хе..Хе, это грабли библиотеки RealView.
Помогает только опция: --min_array_alignment=8
Иначе в библиотеки работы с float происходит непредусмотренное смещение стека, но не всегда, а только при определенном расположении стека.
Поэтому легкая перекомпоновка кода может приводить к разному поведению sprintf.
А операционка влияет на это тем образом, что стеки задач и соответственно переменные в них распологаются юзером не так как это сделал бы компилер знай он, что там будет распологаться float.