TOIC
платформа разработки прикладного ПО
встраиваемых (embedded) систем
TOIC - инструмент для
-1-
Гибких устройств
Предоставляет вашим пользователям возможность изменять
(в заданных вами пределах) логику работы вашего устройства без риска его сломать.
-2-
Обучающих проектов
Предоставить юным программистам "песочницу", и не переживать, что они своими действиями испортят контроллер или создать необходимый уровень абстракции.
-3-
Команд разработчиков
Сильно ускоряет прототипирование и разработку новых проектов, что позволяет небольшим командам конкурировать с крупными производителями.
Платформа для разработчиков устройств
на базе микроконтроллеров
Основные преимущества платформы проявляются при разработке IoT устройств, но TOIC подходит для любых контроллеров, где актуальны следующие задачи:
  • 1
    Маленький размер
    TOIC изначально рассчитан на очень маленькие МК, поэтому размер VM менее 6КБ.
  • 2
    Быстрая интеграция
    TOIC распространяется в виде библиотеки, которую очень легко встроить в свой проект.
  • 3
    Лёгкое изменение кода устройства
    TOIC предоставляет упрощённый интерфейс программирования, который подходит для быстрой модификации поведения устройства. Конечный пользователь или интегратор может "подогнать" логику под конкретную задачу.
  • 4
    Безопасное "приложение" внутри контроллера
    Если прошивка контроллера - это "операционная система", то TOIC - его "приложение". Разработчик может создать "песочницу", которая позволит пользователем программировать устройство без риска его "положить".
  • 5
    Независимость кода от архитектуры устройства
    Платформа предоставляет универсальный интерфейс общения с аппаратным обеспечением устройства, поэтому можно создавать универсальные программы под разные архитектуры.
  • 6
    Независимость от источника программы
    Платформе неважно, где хранится код программы: она может загружаться из статического массива, flash, eeprom или даже подгружаться "на лету" по какому-либо интерфейсу, например WiFi.
  • 7
    На сообщениях
    Платформа разработана специально для работы IoT устройств, поэтому язык работает с "сообщениями". Вся работа с периферией, другими устройствами и своим ядром унифицирована приёмом и передачей сообщений.
  • 8
    Исходные коды прямо в устройстве
    Сохранение исходного кода вместе с прошивкой для лёгкого изменения/исправления. Вам не нужно искать текущую версию проекта устройства устройства, которое было запрограммировано много лет назад.
  • 9
    Встроенный отладчик и симулятор
    Среда ToicIDE имеет инструменты отладки (компилятор/дизассемблер/отладчик), встроенный симулятор и возможность реализовывать собственные устройства-симуляторы для ещё более быстрой отладки.
TOIC - это
-1-
Язык программирования
Лаконичный и лёгкий, может работать в "песочнице" МК.

Унифицированный подход к работе со всей периферией.
-2-
Компилятор и IDE
Кроссплатформенная бесплатная среда со встроенным компилятором, отладчиком и эмулятором.
-3-
Среда исполнения
Небольшая библиотека, которую легко встроить в ваш проект.

Является "отдельной задачей" и не влияет на остальной код.
Как работает TOIC
Платформа TOIC аппаратно-независима и не опирается на работу с конкретным железом.

Системный программист создаёт доступ к необходимой периферии через слой HAL
Пользовательская программа TOIC (App)
Пользователь/программист пишет программу в среде ToicIDE на языке программирования TOIC, отлаживает на симуляторе и загружает в устройство.
Среда исполнения TOIC VM (Runtime)
Виртуальная машина TOIC исполняет пользовательскую программу, обеспечивая взаимодействие с HAL.
Прошивка устройства
Системный программист на своём обычном языке программирования разрабатывает прошивку МК.
Для включения в своей проект платформы TOIC, ему необходимо подключить библиотеку libtoic.a и реализовать работу с доступной платформе TOIC периферией.
  • Действительно маленький
    Си-подобный
    Лаконичный

    Требования runtime:
    6 КБ ROM, 1 КБ RAM
  • Очень гибкий
    Распространяется в виде библиотеки, легко встраивается в существующее ПО.
  • Разработан специально для IoT
    Основан на обмене сообщениями. Обмен информацией с периферией и другими устройствами одинаково прост.
TOIC в "продакшене"
Чем применение платформы TOIC помогает оптимизировать работу в реальных проектах
  • Разделение кода
    TOIC реализует логику работы и не имеет доступа к системному коду, поэтому легко разделить работу системных и прикладных программистов, работающих с одним и тем же проектом.
  • Скорость обучения
    Язык лаконичен, а платформа позволяет защитить пользователя от "выстрела в ногу". Это сильно упрощает процесс интеграции и пуско-наладки на местах, а также снижает требования к квалификации интеграторов.
  • Для маленьких МК
    Другие подобные платформы, как правило, требуют гораздо более мощных и дорогих контроллеров. TOIC позволяет работать с очень дешёвыми решениями.
  • Модификация пользователем
    Инструмент можно использовать, как расширенный конфигуратор для пользователей, которым нужно изменять алгоритм работы в широких пределах.
Как начать
  • 1
    Посмотрите документацию
    Посмотрите инструкцию
    "Быстрый старт", а также
    подробную документацию по языку.
  • 2
    Скачайте и начинайте
    Скачайте среду и вы сразу сможете разрабатывать в симуляторе TOIC.

    Скачайте библиотеку для встраивания в свой проект или готовый образ для одного из процессоров, чтобы сразу начать работать в "железе".

    Если у вас нет МК, можно преобрести один из отладочных комплектов.
  • 3
    Посмотрите примеры
    Большое количество примеров работы с кодом в TOIC и примеры интеграции в проекты МК.