Суббота, 14 июня 2014 10:00
Планировщик для микроконтроллера
Вопреки расхожему мнению, применение планировщиков/диспетчеров позволяет значительно ускорить разработку приложений, затратив при этом совсем немного памяти. А, как известно, время разработчика дороже последней. Средний диспетчер занимает около 1 кБ flash. Это совсем немного, учитывая те возможности, которые он предоставляет.
Сделать свои программы более организованными мне, простому любителю, хотелось достаточно давно. Я опробовал на реальных устройствах несколько готовых простых планировщиков, но они меня не устроили. Поэтому я взял один из них за основу и переделал под свои нужды В этой статье я расскажу о том, что и почему я изменил, а также продемонстрирую несколько примеров его использования.
Published in
Эмбед программинг
Среда, 02 ноября 2011 14:05
Планировщик
Стандартный путь построения программ для микроконтроллеров основывается на применении так называемого суперлупа (superloop). Он представляет собой бесконечный цикл, в теле которого запускаются различные функции. Функции могут запускаться постоянно или в случае выполнения каких-то условий, например установки флагов.
Программы, построенные на таком принципе, обычно используются для простых приложений с небольшим количеством задач, и в которых нет требований к таймингам.
Другой способ организации микроконтроллерных программ основан на применении планировщиков. Такие программы лучше структурированы, их проще модифицировать и они позволяют задавать время запуска задач.
В этой статье мы рассмотрим один из вариантов реализации простого планировщика.
Published in
Программирование AVR
Вторник, 10 августа 2010 20:04
scmRTOS для AVR. "Установка". Вариант для IAR`a
Решил немного разобраться с операционными системами реального времени (ОСРВ, RTOS). Не то чтобы в этом была какая-то острая нужда, это скорее спортивный интерес. Опыта использования подобных систем не имею, а значит, буду учиться вместе с вами.
О том, что такое ОСРВ, зачем она нужна и где используется, я писать не буду. Есть несколько переведенных статей на эту тему, одну я уже выложил, остальные ждут своего часа.
Операционных систем для 8-ми разрядных микроконтроллеров существует довольно много, но, проведя маркетинговое исследование, я остановил свой выбор на scmRTOS. Это многозадачная вытесняющая ОСРВ, разработанная для микроконтроллеров с маленьким объемом ОЗУ. Она бесплатная, к ней есть документация на русском языке, а также порты под разные типы микроконтроллеров и компиляторов. Написана она на Си++ и частично на ассемблере, надеюсь, это вас не пугает.
Published in
Операционные системы реального времени