Во-первых, это встраиваемая ОС - т.е. после конфигурирования и компиляции получаем
библиотеку, несколько объектников и набор хидеров с API. Пишем свое приложение,
собираем с этой библиотекой и получаем образ для ПЗУ.
Среда разработки - gcc, и только он - поначалу было желание использовать более эффективный компилятор, но это слишком много работы - операционка большая.
Отладка происходит след. образом (у меня) - во флеш target-платформы зашит
отладочный монитор (RedBoot, входит в eCos), он может общатся с хостом через
послед. (или любой другой) порт или ethernet. А на хосте - gdb/insight.
Сравнительно неплохо, GDB - хороший отладчик, но модуль большой - загружается
даже на 115200 долго - секунд 80 - сейчас посчитал.
Портируется система довольно легко, драйвер свой написать тоже большого труда не составляет - есть примеры, есть раработанная идеология - весьма разумная, на мой взгляд.
Поддерживаемые платформы и устройства можно посмотреть тут:
http://ecos.sourceware.org/hardware.htmlОдно могу сказать - их очень много, и этот список на самом деле гораздо шире - не
все железо перечислено. Теперь относительно политики разработчиков/дистрибьюторов - поначалу (года 4) все было доступно полностью, сначало это был cygnus, затем RedHat,
а тепер eCosCentric - так вот, кое - что уже только за денюжки - или экспериментируй и
сам добивайся. Библиотеки у eCos все свои, так вод STL они не поддерживают, оно может
и правильно для встраиваемых систем, но не удобно. А в поставляемый eCosPro Developer's kit - входит расширенная библиотека, там эта поддержка есть.
Хотя eCos и заявлен как C++, но это весьма условно, чистый C, с возможностью использовать C++ (т.е. не нужно специально ничего доделывать).
Что касается жесткости реал-тайма, то в общих чертах - весьма жесткий, хотя с одной стороны - весьма настраиваемый (можно выбирать шедулер из трех, но я никогда
этим не занимался), можно и разрешить динамическое изменение приоритета при необходимости, а с другой - в критических участках можно просто запрещать шедулинг -
т. е. уже мягчеет. Да и для моих задач жесткий реал-тайм и не нужен, важнее скорость
переключения задач. Сам я измерениями не занимался, но знакомый рассказывал, что они сравнивали скорость реакции на прерывание - Linux, QNX, eCos - так у них быстрее всех
получился eCos, за ним QNX. Заранее готов предупредить вопрос - подробности мне неизвестны, хотя подозреваю, что люди, принимавшие участие в этом эксперименте посещают данный форум.