Архив метки: RTOS

Пример виртуальной машины

Как то раз я описывал концепцию создания языка программирования для устройства. Который бы позволил запихать сложнейший алгоритм или последовательность действий в виде компактного скрипта. Простой пример для чего это нужно — фрезерный станок с ЧПУ. И надо на нем выточить … Читать далее

Рубрика: AVR. Учебный курс, Робототехника | Метки: , , | Комментарии (47)

AVR. Учебный Курс. Архитектура Программ. Часть 4

Вытесняющий диспетчер Давным-давно, когда я учился в школе, мне не давал покоя вопрос. Как работают параллельные операционки? Как тот же самый Windows умудряется переключать процессы, не терять регистры (да, я тогда уже начинал учить асму), как он определяет момент переключения, … Читать далее

Рубрика: AVR. Учебный курс | Метки: , | Комментарии (46)

AVR. Учебный курс. Архитектура Программ. Часть 3

Приоритетный диспетчер. Одной из проблем простого диспетчера является то, что все задачи имеют равный приоритет. С одной стороны, это просто и удобно. С другой — какое-либо важное событие можно прошляпить, пока там конвейер перещёлкает все задачи… Проблему решает введение приоритетов. … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (61)

AVR. Учебный Курс. Архитектура Программ Часть 2

Диспетчер Данная организация программы требует чуть большего количества кода чем флаговый автомат (Хотя это еще как посмотреть. С увеличением числа задач служебный код динамического диспетчра не увеличивается, а вот флаговый автомат разрастается за счет большего числа флагов и проверок этих … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (74)

М. Дамке «Операционные системы микроЭВМ»

Автор: М. Дамке Название: Операционные системы микроЭВМ Издательство: Финансы и статистика Старожил сайта и один из самых активных и толковых комментаторов, камрад SWG сделал замечательную вещь— отсканировал и пожал в DejaVu книгу по написанию операционных систем под микро-ЭВМ. Я пока … Читать далее

Рубрика: Книги | Метки: , , | Комментарии (23)

AVR. Учебный Курс. Управляемый вектор прерывания

Бывает такая ситуация, когда надо на один периферийный девайс повесить много разных задач, а он всего один и что то надо с этим делать. Простой пример — таймер и его прерывание по переполнению. Мы можем задавать выдержку и по прерыванию … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (39)

AVR. Учебный Курс. Оценка загрузки контроллера.

Как оценить загруженность микроконтроллера? С памятью все понятно — размеры занимаемого кода и оперативной памяти показывает компилятор, а что делать с процессорным временем? Конечно, в линейной программе можно взять и посчитать время выполнения каждой процедуры и станет ясно успеет микроконтроллер … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (11)

AVR. Учебный курс. Операционная система. Пример.

Отлично, с теорией работы ОС ознакомил. Устанавливать научил, осталось научить использовать весь этот конвеерно таймерный шухер. Чем я сейчас и займусь. Сразу берем быка за рога и формулируем учебно-боевую программу. Тестовое задание: Пусть у нас будет ATMega8, с несколькими кнопками. … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (95)

AVR. Учебный курс. Операционная система. Установка

Ядро у нас есть, теперь осталось это все хозяйство запихать на МК. Для этого всего лишь надо рассовать нужные части кода в исходник. Показывать буду на примере ATmega8. Для других МК разница минимальная. Может быть с таймером что нибудь помудрить … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (9)

AVR. Учебный курс. Операционная система. Таймерная служба

Третья часть марлезонского балета описалова самопальной операционной системы для AVR. Итак, у нас есть очередь задач и общая логика работы системы. Но одной очереди задач с диспетчером мало. Нужно распределять задачи по времени, задавать интервалы, запускать отложенные задачи. Всем этим … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (15)

AVR. Учебный курс. Операционная система. Диспетчер задач.

В прошлой части возник вопрос организации программы по задачам. Чтобы можно было разбить программу на кучу независимых частей и не заморачиваться на тот счет, что где то у нас будет затык. Затык, конечно может быть, это все же не вытесняющая … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (56)

AVR. Учебный курс. Операционная система. Введение.

Рано или поздно наступает момент когда сложность алгоритма становится такой, что дальнейшее развитие и усложнение программы превращается в нетривиальную задачу. Очень легко запутаться и тяжело отлаживать эту портянку. Многие бегут от этих сложностей в языки высокого уровня, впрочем это не … Читать далее

Рубрика: AVR. Учебный курс | Метки: , | Комментарии (26)