ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
16 июля
554259 Топик полностью
Adept (19.10.2014 20:50 - 20:53, просмотров: 98) ответил symbions на А зачем вообще нужны в микроконтроллерах эти ОС?
смысл "ОС" в МК одном - легкая адаптация под поставленные задачи. В отличие от ОС на настоящих компьютерах, где ОС являлась в основном "прослойкой" между пользователем и аппаратурой, позволяющая человеку относительно легко оперировать данными и управлять аппаратной частью. писать и исполнять программы с необходимым ему, человеку, на данный момент функционалом. В конечном счёте, функции ОС на ПК - свелись к организации стандартизованной работой с аппаратурой (драйвера, работа со стандартными аппаратными интерфейсами и типовой "периферией") и обеспечению средств доступа к данным их хранению и перемещению (это не только дисковые подсистемы, но и различные сети с протоколами, а так же внешние носители данных). Всё это здорово и красиво, когда имеем многоцелевой компьютер, не заточенный под конкретную задачу, а работающий как универсальный инструмент на все случаи жизни. в МК же , как правило задача одна (глобальная, конечно) - управление какой-нить хреновиной, сбор, обработка и передача данных, и оперирование нехитрыми аппаратными интерфейсами. В этой связи, действительно ОС зачастую только обуза, если речь идёт о реализацию аппаратуры и ПО под конкретную задачу, но вот если под ОС создано значительное количество стандартизированных библиотек, функций и аппаратуры с программной поддержкой , - тогда совсем другое дело, появляется очень широкий выбор в реализации аппаратуры и ПО под любую конкретную задачу, причём быстро и из готовых кубиков, с небольшими вероятностями глюков и ошибок. пример подобного явления - всем известный "Ардуино". Я же вообще предпочитаю "расшифровывать" аббревиатуру ОС для МК как "операционная среда". У меня, к примеру есть несколько таких ОС для разных МК от тайни до иксмеги, в т.ч. и с поддержкой многозадачности. Естественно всё самопальное, годами проверенное и почти вылизанное (но как известно - нет пределу совершенства и нет программ без ошибок) :)). так вот эти мои ОС кочуют из поекта в проект как ядро, которое я настраиваю легко и быстро под решение конкретных задач. В этом есть смысл, и поверьте немалый! Исключая какие-то экзотические потребности в ТЗ (примерно 5-10%), я пользуюсь этими ОС как шаблонами для построения новых программ, и в общем, скажем готов реализовать многие задачи "общего назначения", ну где-то в пределах несколььких дней 9и это заметьте, на ассемблере!) По большому счёту мои ОС имет такой функционал: - системный таймер, RTC, интерпретатор командного буфера, парсер команд, "драйвера" на внешние интерфейсы (I2C, SPI, UART), драйвера на внешнюю периферию (клавиатуры, кнопки, индикаторы и т.п.), главный цикл с планировщиком (очередь отложенных задач), в многозадачной ОС планировщик по таймеру "распараллелен" на 8 потоков. Этого в 90% случаев достаточно для решения любой задачи. И в этом я, как уже сказал вижу смысл, - всё делается быстро, из отлаженных "кубиков". В Других же случаях рассматриваю попытки реализации всяких ОС на МК чисто как конкурентную борьбу эволюционный процесс - выживет сильнейший. так что всему есть своё место под солнцем :)
...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)