Цитата(haker_fox @ Jan 15 2013, 20:03)

Что-то не так... Сейчас снова одни нули вместо плавучки выводятся. Причем если вернуть определение стека так, как я первоначально сделал - то работает. Как Вы предложили - нет

Очень странно. Вообще-то эти варианты эквивалентны.
Только что увидел, что не до конца исправил:
Исправьте в конце TBaseProcess::init_stack_frame():
Код
#if scmRTOS_DEBUG_ENABLE == 1
for (stack_item_t* pDst = StackBegin; pDst < StackPointer; pDst++)
*pDst = STACK_DEFAULT_PATTERN;
#endif // scmRTOS_DEBUG_ENABLE
Цитата(haker_fox @ Jan 15 2013, 20:03)

AHTOXA, а почему не стоит делать правку в кернел.h?
Потому что kernel.h - один на все порты. Чтобы внести правку в него, нужно вносить изменения во все порты (какие-то макросы придумывать, дефайны, или что-то типа того). Ну и вообще, не дело решать проблемы одного порта правками в коде оси, если есть иное решение.
А если вы ведёте речь о локальной правке, у себя, то такую правку делать можно

(Только если вдруг, через полгода-год, давным-давно забыв об этой истории, обновите ось, и что-то перестанет работать, то не говорите, что я вас не предупреждал

)
Если бы я знал, что такое электричество...