Рубрики
Наша продукция
Метки
C Dallas DC-DC Eagle EagleUp EEPROM Ehternet Ethernet FLASH FUSE GPIO GUI HD44780 HopeRF i-button I/O i2c IAR IDE IGBT IIC ISIS Proteus ISP JTAG Keil LabView LAN LCD Linux MC34063 MC34068 Microchip MOSFET MSC-51 MSP430 NE555 Palm Pascal PC PIC PinBoard PinBoard II PLC PLL PR PWM RC RIGOL RIGOL 1042CD RS232 RTC RTOS smd STM32 SWD TopoR TouchSreen TSOP TWI UART USART USB USI WG12864 ZIF ZigBee АРУ АЦП Авто Аккумуляторы Акселерометр Алгоритм Аналог БП БПФ Быстрый старт ВЧ Видео Выбор Газовый паяльник Генератор Гоню Дарлингтон Датчик Двигатели Демонтаж Демоплата Диод Друзья Жало Задачка Измерения Импульсные Индуктивность Инструмент Интерфейс Ионистор Клавиатура Коммерческая разработка Компаратор Компас Конденсатор Конкурс Конфигурация Корпус ЛУТ Логический анализатор Лужение МК Магнетизм Макровидео Макро язык Маленькие хитрости Манипулятор Мелочи Механика Микроволна Микроконтроллер Моддинг Модуль Монтаж Мультиметр Наводка Начинающим ОУ Обработка сигналов Операционная система Описание Оплетка Опорное напряжение Оптимизация Опторазвязка О сайте Основы Осциллограф От Автора Отверстия Отладка Пайка Память Партнерство Паяльная станция Паяльник Печатная плата Питание Порт Прерывания Прибор Прикол Проверено на себе Программатор Программирование Протокол Рабочее место Радиолюбительские Технологии Радиопередача Рацуха Реактив Регистр Резистор Робот Светодиоды Силовая электроника Симистор Сонар Сообщество Софт Схемотехника ТРИЗ Таблица переходов Таймеры Терминал Типы выходов Тиристор Транзистор Трансивер Трассировка Трюки Ультразвук Умный дом Фен Физика Фильтры Флаги Флюс Фотодиод Фототранзистор Халява ЦАП Цифра Часы ШИМ Шаговый двигатель Шасси Шунт Эксперимент Электропривод Энкодер Язык Си самопал
Архив метки: RTOS
Пример виртуальной машины
Как то раз я описывал концепцию создания языка программирования для устройства. Который бы позволил запихать сложнейший алгоритм или последовательность действий в виде компактного скрипта. Простой пример для чего это нужно — фрезерный станок с ЧПУ. И надо на нем выточить … Читать далее
AVR. Учебный Курс. Архитектура Программ. Часть 4
Вытесняющий диспетчер Давным-давно, когда я учился в школе, мне не давал покоя вопрос. Как работают параллельные операционки? Как тот же самый Windows умудряется переключать процессы, не терять регистры (да, я тогда уже начинал учить асму), как он определяет момент переключения, … Читать далее
AVR. Учебный курс. Архитектура Программ. Часть 3
Приоритетный диспетчер. Одной из проблем простого диспетчера является то, что все задачи имеют равный приоритет. С одной стороны, это просто и удобно. С другой — какое-либо важное событие можно прошляпить, пока там конвейер перещёлкает все задачи… Проблему решает введение приоритетов. … Читать далее
AVR. Учебный Курс. Архитектура Программ Часть 2
Диспетчер Данная организация программы требует чуть большего количества кода чем флаговый автомат (Хотя это еще как посмотреть. С увеличением числа задач служебный код динамического диспетчра не увеличивается, а вот флаговый автомат разрастается за счет большего числа флагов и проверок этих … Читать далее
М. Дамке «Операционные системы микроЭВМ»
Автор: М. Дамке Название: Операционные системы микроЭВМ Издательство: Финансы и статистика Старожил сайта и один из самых активных и толковых комментаторов, камрад SWG сделал замечательную вещь— отсканировал и пожал в DejaVu книгу по написанию операционных систем под микро-ЭВМ. Я пока … Читать далее
AVR. Учебный Курс. Управляемый вектор прерывания
Бывает такая ситуация, когда надо на один периферийный девайс повесить много разных задач, а он всего один и что то надо с этим делать. Простой пример — таймер и его прерывание по переполнению. Мы можем задавать выдержку и по прерыванию … Читать далее
AVR. Учебный Курс. Оценка загрузки контроллера.
Как оценить загруженность микроконтроллера? С памятью все понятно — размеры занимаемого кода и оперативной памяти показывает компилятор, а что делать с процессорным временем? Конечно, в линейной программе можно взять и посчитать время выполнения каждой процедуры и станет ясно успеет микроконтроллер … Читать далее
AVR. Учебный курс. Операционная система. Пример.
Отлично, с теорией работы ОС ознакомил. Устанавливать научил, осталось научить использовать весь этот конвеерно таймерный шухер. Чем я сейчас и займусь. Сразу берем быка за рога и формулируем учебно-боевую программу. Тестовое задание: Пусть у нас будет ATMega8, с несколькими кнопками. … Читать далее
AVR. Учебный курс. Операционная система. Установка
Ядро у нас есть, теперь осталось это все хозяйство запихать на МК. Для этого всего лишь надо рассовать нужные части кода в исходник. Показывать буду на примере ATmega8. Для других МК разница минимальная. Может быть с таймером что нибудь помудрить … Читать далее
AVR. Учебный курс. Операционная система. Таймерная служба
Третья часть марлезонского балета описалова самопальной операционной системы для AVR. Итак, у нас есть очередь задач и общая логика работы системы. Но одной очереди задач с диспетчером мало. Нужно распределять задачи по времени, задавать интервалы, запускать отложенные задачи. Всем этим … Читать далее
Рубрика: AVR. Учебный курс
Метки: Assembler, AVR, RTOS, Алгоритм, Операционная система
Комментарии (15)
AVR. Учебный курс. Операционная система. Диспетчер задач.
В прошлой части возник вопрос организации программы по задачам. Чтобы можно было разбить программу на кучу независимых частей и не заморачиваться на тот счет, что где то у нас будет затык. Затык, конечно может быть, это все же не вытесняющая … Читать далее
AVR. Учебный курс. Операционная система. Введение.
Рано или поздно наступает момент когда сложность алгоритма становится такой, что дальнейшее развитие и усложнение программы превращается в нетривиальную задачу. Очень легко запутаться и тяжело отлаживать эту портянку. Многие бегут от этих сложностей в языки высокого уровня, впрочем это не … Читать далее






