1.2 Обзор аналогов
Аналогами разрабатываемой инструментальной среды являются интегрированные среды разработки программ для микроконтроллеров наиболее популярных архитектур (AVR, PIC, MSP430, STM, ARM). Цены аналогов приведены в таблице А.1 приложения А.
1) AVR Studio
Бесплатная интегрированная среда разработки [12]. С 2011 года базируется на компонентах современной среды разработки Microsoft Visual Studio. Включает инструментарий для редактирования и отладки программ на языках С / C++ для микроконтроллеров AVR и SAM (ARM). В качестве компиляторов и компоновщиков используются инструменты из бесплатного пакета WinAVR [13]. В версии 6.0 системы интегрирован инструмент QTouch Composer, позволяющий выбрать готовые программные блоки для реализации работы микроконтроллера с сенсорными датчиками, а также содержащий готовые инструменты для отладки подобных решений в режиме исполнения на устройстве (передача данных по любому из выбранных интерфейсов: SPI, UART, TWI) с возможностью просмотра графиков данных на ЭВМ, передаваемых по этим интерфейсам во времени. Также при выборе библиотечных программных блоков имеется возможность просмотра оценки использования ресурсов контроллера.
2) CodeVisionAVR
Платная интегрированная среда разработки [14]. Существует бесплатная ознакомительная версия с ограничением ряда возможностей. Включает следующие компоненты: редакторы на языках С и assembler с подсветкой синтаксиса, компилятор с языков С и assembler, генератор начального кода CodeWizardAVR, генерирующий код инициализации на языке С на основании выбора пользователем настроек.
3) AtmanAVR
Платная интегрированная среда разработки [15], использующая компилятор gcc [16]. В отличие от инструментов пакета WinAVR имеет отладчик и генератор начального кода.
4) IAR Embedded Workbench
Дорогостоящая среда разработки [17]. Компилятор С/C++ IAR генерирует быстрый и компактный код. Основные компоненты: интегрированная среда разработки (IDE) с инструментами организации проектов и редакторами, оптимизирующие С и С++ компиляторы под контроллеры архитектур AVR, PIC, ARM, STM8, MSP430, 8051, архитектур фирмы Renesas; бибилиотеки кода, примеры программ. Имеется инструмент Visual StateChart для описания программы в виде расширенных конечных автоматов.
5) MicroC/Basic/Paskal PRO
Платная интегрированная среда разработки программ [18] на языке C / Basic / Paskal для контроллеров архитектур AVR, PIC, ARM, 8051. Современный редактор кода с автодополнением. Имеются удобные вспомогательные инструменты для отображения информации о ресурсах микроконтроллера.
6) ICC AVR
Платный инструментарий [19] для программирования AVR (компилятор). В качестве среды разработки предлагается использовать современную IDE – CodeBlocks [20]; поддержка контроллеров AT90S, ATMega, Tiny26, AT94K FPSLIC; поддержка отладки под AVR Studio; компиляторы командной строки, доступные из сторонних редакторов (платная опция); оптимизирующий ANSI-C компилятор; бибилиотеки на языке С; Application Builder как инструмент генерации кода инициализации периферии.
7) Algorithm Builder
Отечественная бесплатная графическая среда для разработки программного обеспечения для микроконтроллеров архитектуры AVR [21]. Характеристики Algorithm Builder: графическое представление ассемблера в виде блок-схем, встроенный компилятор, внутрисхемный отладчик.
В отличие от классического ассемблера программа вводится в виде алгоритма с древовидными ветвлениями и отображается на плоскости. Сеть условных и безусловных переходов отображается графически, в удобной векторной форме. Это к тому же освобождает программу от бесчисленных имен меток, которые в классическом ассемблере являются неизбежным балластом.
Система не поддерживается разработчиком с 2009 года.
8) Bascom-AVR
Платная интегрированная среда разработки для программирования AVR [22]. Из отличительных особенностей среды можно отметить встроенный инструментарий для разработки программ для AVR: редактор с подсветкой синтаксиса и компилятор Basic (поддержка всех AVR с внутренней памятью), программатор ISP, интегрированный симулятор, из особенных возможностей редактора имеется лишь подсветка синтаксиса языка Basic.
9) LDMicro
Программа LDMicro позволяет запрограммировать контроллер на языке релейной логики [23]. Графический редактор и принятая нотация не являются универсальными для описания большинства программ.
10) Code Somposer Studio
Платная интегрированная среда разработки программ для микроконтроллеров [24] фирмы Texas Instruments. Построена на базе платформы Eclipse [25]. Позволяет разрабатывать программы для микроконтроллеров на языке С. Включает графический инструмент Grace для получения инициализационного кода по настройке периферии микроконтроллера. Для контроллеров, специализированных для цифровой обработки (C6000 DSP) предлагается графический редактор С6EZFlo с возможностью на языке функциональных блоков составить программу (функцию) обработки входных данных.
11) MPLAB X IDE
Бесплатная интегрированная среда [26] разработки программ для микроконтроллеров фирмы Microchip, основанная на платформе NetBeans [27]. Среда позволяет интегрировать сторонние компиляторы. Имеется модуль для симулятора simulink и набор блоков, обозначающих цифровые контроллеры dsPIC, что позволяет разработать в MatLab [28] модель и получить сгенерированный код на языке С, реализующий описанную модель программы.
12) ST MCU Toolset
Бесплатный пакет для разработки программ для микроконтроллеров фирмы STMicroelectronics, включающий бесплатные компиляторы с языков С / C++, assembler, а также линковщик [29]. IDE поддерживает подсветку синтаксиса и автодополнение кода. Инструмент STM Studio позволяет просматривать на ПК графики данных в режиме реального времени работы микроконтроллера.
13) Atollic True Studio
Платная IDE для разработки программ на языках С/C++ для микроконтроллеров архитектур ARM, AVR UC3, Toshiba TX [30]. Полностью основана на IDE Eclipse, в которую добавлены инструменты для автоматизированного тестирования, анализа исходного кода и отладки. В качестве компиляторов предлагается использовать сторонние бесплатные компиляторы.
14) FlowCode
Платная IDE для разработки программ на графическом языке для микроконтроллеров AVR, PIC, ARM [31]. Графический язык основан на концепциях блок-схем, с которого автоматизированно генерируется программа на языке С. Недостатком данной графической нотации является громоздкость конструкций с ветвлениями и отсутствие средств для реализации паралеллизма. Отладка производится с использованием встроенного симулятора. В последних версиях FlowCode появился прототип редактора схемы оборудования для конфигурации симулятора с целью отладки взаимодействия по интерфейсам нескольких микроконтроллеров.
- Введение
- 1 Анализ предметной области
- 1.1 Постановка задачи
- 1.2 Обзор аналогов
- 2 Программная документация
- 2.1 Техническое задание на программное обеспечение
- 2.1.1 Назначение разработки
- 2.1.2 Терминология
- 2.1.3 Требования к функциональным характеристикам
- 2.1.4 Требования к надежности
- 2.1.5 Требования к составу и параметрам технических средств
- 2.1.6 Требования к информационной и программной совместимости
- 2.1.7 Требования к результатам работы
- 2.1.7.1 Требования к комплектации решения
- 2.1.7.2 Требования к документации
- 2.1.8 Перечень работ по этапам
- 2.2 Пояснительная записка
- 2.2.1 Назначение и область применения
- 2.2.2 Описание разработанной технологии создания программ для распределенных микроконтроллерных систем
- 2.2.2.1 Схема оборудования
- 2.2.2.2 Недостатки диаграммы Бара для проектирования микроконтроллерных программ управления
- 2.2.2.3 Концепции диаграммы задач
- 2.2.2.4 Семантика отображаемых на диаграмме задач связей
- 2.2.2.5 Синхронные и асинхронные вызовы функций задач
- 2.2.2.6 Синхронный вызов функции пакета
- 2.2.2.7 События и подписки
- 2.2.2.8 Текстовый язык
- 2.2.2 Технические характеристики
- 2.2.2.1 Описание структуры программной системы
- 2.2.2.1.1 Платформа разработки
- 2.2.2.1.2 Подсистема редактирования
- 2.2.2.1.3 Разработка графических редакторов
- 2.2.2.1.4 Разработка текстового редактора
- 2.2.2.1.5 Описание языка
- 2.2.2.1.6 Семантический анализ пользовательской программы
- 2.2.2.1.7 Генерация кода на целевом языке
- 2.2.2.1.8 Генерация кода редактора текстового языка
- 2.2.2.1.9 Проектирование отладчика
- 2.2.2.1.10 Регистрация конфигурации запуска
- 2.2.2.1.11 Модель отладки
- 2.2.2.1.12 Виртуальная машина
- 2.2.2.1.13 Моделирование
- 2.2.2.1.14 Концепция параметризированных сигналов
- 2.2.2.1.15 Функциональное моделирование блоков устройств
- 2.2.3 Ожидаемые технико-экономические показатели
- 2.3 Описание программы
- 2.3.1 Описание логической структуры
- 2.3.1.2 Типичный поток событий в графическом редакторе
- 2.3.2 Входные и выходные данные
- 2.3.3 Используемые технические средства
- 2.4 Программа и методика испытаний
- 2.4.1 Программа испытаний
- 2.4.2 Методика испытаний
- 3 Руководство пользователя
- 3.2 Условия выполнения программного комплекса
- 3.3 Установка программы
- 3.4 Текстовый редактор
- 3.5 Графический редактор
- 4 Акт испытаний программного продукта
- 5 Экономическая часть
- Заключение
- Список использованных источников