Evgeny_CDАрхитектор (14.03.2012 12:04, просмотров: 125) ответил fk0 на Я понял идею. Для этого и uCOS не нужен, то же самое можно делать вручную с обычной C-программой. Нужно только иметь "архитектуру" вместо спагетти-кода, где бы системо-зависимое имело определённые интерфейсы и легко могло заменяться. Да, это
uCOS сам по себе не цель. Просто он выбран как RTOS целевого проекта, вот его и пускали под Win32. Работают все сервисы ОСи, есть несколько непортируемых тонкостей, но они обходятся. Прикладной код что в Win32, что в железе, одинаковый. Довольно долго думали, как делать унифицированные дрова.
Красивые структурированные решения немного больше жрут памяти. Экономные решение требуют раздельного кодинга на Win32 и в железе, что чревато.
Потом LPC немного подешевели, перешли на камни с 64к ОЗУ, и оверхеды структкрированного решения стали не важны.
Кайф состоит в том, что можно сделать полный эмулятор. На питоне делали морду а ля LCD "4x20 + 6 кнопок". Через винсокеты и реальный сервер эмулировали доступ устройства по сети к серверу.
Далее работа с имитатором была полностью эквивалентна реальному устройству.
На протокол поставили "обсиратель" - он нам столько ошибок выловил :)
Но один упертый юзер все же нашел ошибку в меню чуть ли не 9 уровня вложенности :) Туда тестеры не добрались.
Добавили простейший анализ code coverage во избежение :)