OpenTag
Разработчик | Джей Пи Норайр |
---|---|
Написано в | С |
Семейство ОС | Встроенная операционная система |
Рабочее состояние | Текущий |
Исходная модель | Открытый исходный код |
Первоначальный выпуск | 2011 год |
Последний выпуск | 0.4.0 / 8 ноября 2012 г |
Маркетинговая цель | Беспроводные сенсорные сети |
Доступно в | Английский |
Платформы | МСП430 , СТМ32 |
ядра Тип | Экзоядро |
Лицензия | Лицензия OpenTag |
Официальный сайт | OpenTag вики |
OpenTag — это DASH7 стек протоколов и минимальная операционная система реального времени (RTOS) , написанная на языке программирования C. Он предназначен для работы на микроконтроллерах или радиосистемах на кристалле (SoC) . OpenTag был спроектирован как очень компактный программный пакет. Однако при правильной настройке он также может работать в любой POSIX среде . OpenTag также может обеспечить все функции, необходимые для любого типа устройства DASH7 Mode 2, а не только для одноименного конечного устройства типа «тег».
Философия дизайна
[ редактировать ]![]() | Этот раздел может быть слишком техническим для понимания большинства читателей . ( сентябрь 2013 г. ) |
OpenTag реализует режим 2 DASH7, который определяет монолитную систему, охватывающую уровни OSI с первого по шестой, часть седьмого уровня, а также уровень приложений . OpenTag спроектирован так, чтобы быть легким и компактным, поскольку он предназначен для работы на микроконтроллерах с ограниченными ресурсами. Будучи монолитной системой, она не реализует различные уровни модели OSI таким образом, чтобы их можно было развертывать в системах, которые отличаются от типичной и почти универсальной архитектуры приемопередатчика MCU + RF , используемой узлами WSN и M2M . [1] Однако ОСРВ OpenTag использует экзоядерную архитектуру (начиная с версии 0.4), поэтому монолитное ядро не требуется. Приложения, разработанные для OpenTag, могут безопасно ссылаться на библиотеку или напрямую обращаться к оборудованию, как и подобает модели проектирования экзоядра.
Функции
[ редактировать ]- Он имеет облегченную вытесняющую многозадачную экзоядерную ОСРВ.
- Большинство ядер используют задачи с фиксированным приоритетом.
- Он содержит полный стек протоколов DASH7 Mode 2, включая
- Он использует выравниванием износа с на основе Flash облегченную файловую систему (Veelite).
- Он имеет внутренний API на основе C.
- Он имеет внешний API обмена сообщениями на основе NDEF для взаимодействия клиент-сервер .
Выполнение
[ редактировать ]OpenTag реализует многозадачное ядро реального времени, разработанное специально для реализации DASH7. Пользовательские задачи могут управляться ядром и могут вытеснять ядро, хотя они должны быть выделены во время компиляции. Частота планирования или разрешение ядра зависит от реализации, но она должна быть не менее 1024 Гц и должна быть целым числом, кратным 1024 Гц. [2]
События ядра используют обратные вызовы для вызова пользовательского кода приложения, который называется «апплетами». Расширенные шаблоны используются для обеспечения функций обратного вызова, эффективных для встроенных сред. Таким образом, обратные вызовы в OpenTag могут быть динамическими (назначаемыми во время выполнения) или статическими, что требует назначения во время компиляции, но снижает накладные расходы. Поскольку OpenTag реализует экзоядро, пользовательские задачи могут либо полностью управляться ядром, либо частично ядром и частично внешними событиями, либо полностью управляться внешними событиями. Связь между задачами и ядром осуществляется через API системных вызовов и интерфейс канала сообщений. [3]
Внешний API OpenTag использует упрощенную клиент-сервер. модель [4] и NDEF для упаковки данных. Оболочка NDEF особенно используется для проводной связи между клиентом и сервером, где клиентом обычно является устройство с человеческим интерфейсом, а сервером — OpenTag SoC. Внутренний API предоставляется в соотношении 1:1 с внешним API, что позволяет клиенту действовать подобно внешнему процессу ядра OpenTag.
Поддерживаемые устройства
[ редактировать ]На момент написания большая часть оборудования OpenTag реализована на устройствах Texas Instruments CC430 или MSP430 , которые одобрены для использования с OpenTag. [5] Однако текущие исходные деревья OpenTag поддерживают многие другие микроконтроллеры и радиочастотные трансиверы, такие как различные типы компонентов STM32, CC11xx и Semtech SX12xx. [6]
Ссылки
[ редактировать ]- ^ «Обзор возможностей OpenTag» . OpenTag Wiki . Indiresso.com. Архивировано из оригинала 6 декабря 2019 года . Проверено 9 июля 2012 года .
- ^ Норайр, JP (13 мая 2011 г.). «Создание приложений DASH7 с помощью OpenTag» . Проверено 9 июля 2012 года .
- ^ «API OpenTag» . OpenTag Wiki . Проверено 9 июля 2012 года .
- ^ «Клиент-серверная архитектура OpenTag» . OpenTag Wiki .
- ^ «Совершенно новый CC430 сочетает в себе передовой микроконтроллер MSP430 и радиочастотную технологию с низким энергопотреблением» . ti.com . Техасские инструменты . Проверено 9 июля 2012 года .
- ^ «Основной репозиторий OpenTag» . Гитхаб . Проверено 9 июля 2012 года .