Чем полезен core5277

Обсуждение проекта на ассемблере(avra) операционной системы реального времени для Atmega
w5277c
Сообщения: 18
Зарегистрирован: 16 мар 2022, 11:18

Чем полезен core5277

Непрочитанное сообщение w5277c »

core5277 - это не просто процедуры операционной системы реального времени, это гораздо больше.
Вот основные фичи моего продукта:
  • Все заголовочные файлы устройств(микроконтроллеров) приведены к единому виду - т.е. Вы используете одинаковые регистры периферии что на ATMega16, что на Atmega328 и прочих.
  • Всем используемым регистрам даны человеческие названия говорящие о их принадлежности - таким образом значительно легче запоминать какие параметры используют процедуры.
  • Решен вопрос различий в коде для 8КБ flash(и менее) и более 8КБ flash - отсутствие JMP и CALL.
  • Решен вопрос различий таблиц прерываний - используется дополнительная таблица переходов, что позволяет программно настраивать точки входа в прерывания.
  • Введены программные таймеры - по большему счету вопрос использования большого количества таймеров решен.
  • Подгрузка библиотек(процедур) выполняется только по необходимости и только единожды - весь код операционки достаточно большой и вряд ли поместится весь во flash
  • Универсальные процедуры работы с портами - можно использовать однобайтное значение вида PB1,PC7 для всех операций или стандартный вариант с описанием порта как минимум 2-мя байтами но с быстрым исполнением(используется в некоторых драйверах).
  • В ядре много драйверов для работы с различными интерфейсами(в том числе и программными) и микросхемами-драйверами и этот список постепенно увеличивается - Теперь нет особых проблем с использованием нескольких UART или PWM на пине где нет аппаратного PWM(конечно нужно не забывать об ограниченных возможностях МК)
  • Реализованы многие дополнительные процедуры работы с памятью, математика и прочее - эти процедуры полезны и применимы даже без ядра.
*и это не весь список, может быть позже я его дополню.

Вот один из примеров:
Мне потребовалось создать прошивку, в которой были бы объединен функционал старых прошивок.
А именно, я должен был объединить вместе датчик температуры и влажности, датчик открытия двери, приемник и передатчик IR, программный ШИМ для управления яркостью светодиода, обработчик кнопки с отслеживанием 4-х последовательных нажатий(длинных и коротких), реализацию бипера, ну и наконец полноценную работу моей шины bus5277 с полным функционалом на базе аппаратного UART.
Данная прошивка, как и предыдущие, должна позволять управлять всеми компонентами и незамедлительно сообщать мастеру обновленные показания и события. Ну и конечно выполнять независимый опрос компонент - к примеру, датчик двери должен опрашиваться 100мс, при этом датчик DS18B20 требует около 800мс при старте опроса. При этом все PWM, UART и IR должны успевать отрабатывать за короткие тайминги иначе попросту не будут работать. Ну и в добавок, конечно, бутлоадер, который позволяет по шине bus5277 обновлять свою прошивку.

Легкая задача для Си на ATMega168 c RTOS и без нее?

Я потратил на разработку данной прошивки не более часа. Ну еще где-то час потрачу на отладку.
Ответить