Ок.
Предлагаю не заниматься построением мифических
"универсальных бесконечно расширяемых" систем.
Предлагаю определиться с требованиями
набор железных компонентов:
- простой контроллер
- цифровые битовые датчики (бампер, фото, проксимити)
- аналоговые датчики (штуки четыре выше крыши для школьных опытов)
- исполнители с битовым управлением (ШИМ для серв)
- прозрачные USART-модули связи (провод в ком-порт, провод в USB, блютус).
набор программных компонентов (фирмварь)
- готовая операционная среда (бутлоадер, обработчики прерываний, настройка железа, обмен и т.д.)
- готовые функции типа "серву 1 в позицию 2", "проверить датчик 4", сказать в uart строку,
подождать 1000 миллисекунд итп.
Набор софта для разработки:
взять ГЦЦ, слабать "стандартное окружение" (мэйкфайл, библиотеки, хедеры)
и скрыть его нафиг от пользователя.
- в хедерах описать "команды языка" типа "MOVE_FORWARD(500)" "PAUSE(200)"
(сделать такой, типа, скриптовый язычок)
- пользователь всегда пишет только один файл с вот этими самыми командами,
который препроцессором преобразуется в си, который компиляется с окружением.
- чтобы не ломалось, можно написать простенький парсер, чтобы в этом файле пользователь
не использовал всякие сишные конструкции (чтобы сидел в песочнице и не дергался).
- Для любителей красоты можно прикрутить к этому хозяйству какой-нибудь программерс-ноутпад или эклипс.
Для отладки нужно сделать простенький симулятор вот этого скриптового языка.
И нафиг не надо симулировать проц или железо.Базовый контроллер должен быть коробкой с простым МК (мега какая-нибудь),
с заранее определенным стандартным кварцем, с аккумуляторным отсеком, зарядкой,
светодиодами, пищалкой, парой кнопок и включателем питания.
То есть он должен быть законченным ящиком,
в который надо просто воткнуть серву или датчик, чтобы оно заработало.
И упаси бог делать какие-то конфигурации, джамперы, настройки Разъем к датчикам и исполнителям - срисовать с распространенных дешевых серв.
Сделать простенькую защиту входов/выходов (да хоть резюк влепить).
На самом деле это все просто, если действительно нужно.
Это, конечно, все мое личное виденье...