ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
1 июля
78096 Топик полностью
Gamma SPb (16.01.2007 11:02, просмотров: 1) ответил vsasha на А ведь пока нет ни одного ответа на поставленный вопрос ! Попробую кое что прояснить.
ИМХО добавлю FreeRTOS: - есть несколько схем выделения памяти под control blocks сервисов и задач. Одна из них - статическое выделение. Но тогда нельзя динамически удалять и создавать задачи - "Легко переносится на другую платформу" = угу, только с оговорками, типа, может не работать при некоторых условиях, мы до конца не разобрались почему =) Если про ARM, то там все в порядке - код убогий, абсолютно не читабельный - хорошая документация, много примеров TNKernel: - "размер ядра примерно 18кб (для ARM)" - У меня получилось около 26 кБ (Keil, RV) в максимальной конфигурации (а по другому, если использовать родной порт никак, потому что все исходники включаются в проект) - "На мой взгляд у этой ОС только одна отрицательная особенность, но очень весомая - все прерывания сваливаются в одну кучу" - на скорость особо не влияет, все равно, в противном случае у каждого вектора должен быть пролог (сохранение контекста) и эпилог (восставновление и, если надо, переключение контекста). Это занимает самую большую часть времени, поэтому поллинг флагов в одном векторе - фигня. - "код хорошо построен" +1 - примеры есть, относительно хорошая документация (не критичные ошибки находил) uCOS, embOS - похоже, один человек писал =) но в embOS задачи могут иметь одинаковый приоритет. - uCOS - код убогий, везде условная компиляция. Память выделяется в момент компиляции - самый дебильный вариант - я бы ее использовать не стал.