1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/event-os-eventos

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

EventOS: продукт и его особенности

Email: event-os@outlook.com, WeChat: Event-OS, QQ: 667432915.

Братский проект: EventOS Basic (https://gitee.com/event-os/eventos-basic.git).

Что такое EventOS?

EventOS — это платформа для разработки встраиваемых систем, ориентированная на микроконтроллеры и основанная на событийном подходе. Её основные характеристики:

  1. Шина событий — гибкая и удобная, служит для синхронизации и обмена данными между потоками или состояниями. Также она является основным средством поддержки распределённых и кроссплатформенных возможностей EventOS. Шина событий поддерживает два режима работы: широковещательную рассылку и публикацию-подписку (можно выбрать только один из них).
  2. Глобальная очередь событий, которая заменяет отдельные очереди для каждого потока или состояния. Это позволяет значительно сократить использование оперативной памяти.
  3. Кооперативное ядро, которое не создаёт конкуренции за ресурсы и обеспечивает высокую надёжность.
  4. Лёгкий вес и простота интеграции — все функции EventOS (кроме шины событий) могут быть удалены, что позволяет уменьшить размер кода до минимума. В минимальной конфигурации EventOS занимает всего 172 байта оперативной памяти и 1,2 КБ флэш-памяти. Это делает его идеальным для встраивания в другие системы.
  5. Мощные таймеры с поддержкой событий для гибкого и эффективного управления временными интервалами.
  6. Простота API, соответствующая привычкам отечественных разработчиков встраиваемых систем.
  7. Удобство переноса: для использования EventOS достаточно реализовать несколько интерфейсов.
  8. Перспективы развития: Event Bridge (мост событий) будет интегрирован с EventOS для обеспечения распределённых функций.
  9. Сценарии применения: EventOS особенно подходит для проектов с ограниченными ресурсами, а также для встраиваемых систем с высокими требованиями к надёжности.

EventOS основан на предыдущем опыте автора, который позволил ему создавать надёжные программы с высокой эффективностью. Теперь автор стремится сделать EventOS более стандартизированным и открытым проектом. В будущем он планирует довести EventOS до уровня рекомендованного проекта на Gitee и даже до статуса GVP (Google Verified Project) на этой платформе.

Документация и блог

В документации можно найти информацию о переносе и начале работы с EventOS:

  • Быстрый старт (QuickStart).
  • Перенос на «голую» плату (PortMetal).
  • Настройка среды разработки (DevEnv).

Блог содержит статьи по теме событийного подхода:

  • Понимание событий.

Почему EventOS?

Название EventOS отражает две его ключевые особенности: событийный подход и лёгкость. Даже полная версия EventOS после компиляции MDK занимает всего около 200 байт оперативной памяти и примерно 3,5 КБ флэш-памяти при оптимизации -O3 или 4,5 КБ при -O0.

Проект назван EventOS, потому что его основной концепцией является событийный подход, а также потому, что он является упрощённой версией другого открытого проекта EventOS (в разработке), который представляет собой событийную, распределённую и кроссплатформенную платформу для встраиваемых систем на базе 32-битных микроконтроллеров и более мощных процессоров.

Основные идеи программирования в EventOS

Событийный подход и шина событий

Событийный подход и шина событий являются основой EventOS и определяют его суть. События можно рассматривать как сочетание темы и данных переменной длины. Они позволяют эффективно разделять модули и повышать тестируемость кода, а также обеспечивают возможность распределённой разработки и расширения.

Защитное программирование

EventOS активно использует утверждения для проверки процесса выполнения и использования системы. Рекомендуется тщательно разрабатывать и реализовывать интерфейсы утверждений, сохраняя их включёнными в реальном коде продукта. Это способствует быстрому достижению стабильного состояния системы.

Кроссплатформенная разработка

EventOS поддерживает разработку на удобных платформах, таких как Windows и Linux, где выполняется большая часть работы, включая программирование, отладку, выполнение и модульное тестирование. Затем происходит перенос, настройка и адаптация на целевой платформе. Преимущества кроссплатформенной разработки включают высокую эффективность разработки, расширение опыта разработчиков и повышение надёжности кода. EventOS разрабатывается преимущественно на платформах MinGW и Linux. Подробные инструкции по настройке среды разработки можно найти в документации. Хотя EventOS может быть разработан непосредственно на микроконтроллере с использованием MDK, это может снизить эффективность.

Уменьшение связанности

Будь то широковещательная рассылка или публикация-подписка, основная цель — уменьшить связанность между программными модулями.

Принципы поддержки EventOS

Делать добро, не задумываясь о будущем

Автор не задумывался о перспективах EventOS и был удивлён его растущей популярностью. Он стремится завершить работу над EventOS как можно скорее, чтобы создать профессиональный продукт для широкого круга встраиваемых разработчиков. Автор надеется, что EventOS будет признан и широко использован в индустрии, что сделает его усилия последних лет стоящими.

Сопровождение исходным кодом и документацией

Автор осознаёт важность качественной документации для открытых проектов. Поэтому он стремится обновлять документацию при каждом обновлении или исправлении ошибки, делая EventOS и его документацию профессиональными и систематизированными.

Приоритет модульного тестирования

Для встраиваемых проектов, особенно системных и инфраструктурных, как EventOS, надёжность имеет первостепенное значение. С момента создания EventOS был ориентирован на модульное тестирование, обеспечивая тщательное тестирование перед выпуском каждой версии.

Ориентация на пользователя и требования

Развитие EventOS определяется потребностями и запросами пользователей. Автор прислушивается к мнению сообщества и учитывает его при принятии решений о развитии проекта.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Встраиваемая среда разработки, событийно-управляемая, сверхлёгкая. Занимает минимум ROM — 1,5 КБ, RAM — 172 байта. Основная технология — шина событий, поддерживает два режима: Reactor и конечный автомат, кооперативная модель ядра, высокая надёжность. Возможно глубокое усечение, легко портировать. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники (7)

все

Недавние действия

Pushed a new V0.2.0-Alpha tag 5 месяцев ago
Pushed a new V0.1.4 tag 5 месяцев ago
Создана контрольная точка V0.2.0 5 месяцев назад
Создан репозиторий 5 месяцев назад
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/event-os-eventos.git
git@gitlife.ru:oschina-mirror/event-os-eventos.git
oschina-mirror
event-os-eventos
event-os-eventos
master