Файл: Интегрированные среды разработки программ (Интегрированные среды разработки программ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 13.03.2024

Просмотров: 29

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Eclipse де-факто открытая платформа

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

2.2 Поддержка открытых стандартов в Luminosity

Среда Luminosity обеспечивает быстрый и легкий способ создания, редактирования, сборки, управления, отладки и профилирования встраиваемых приложений реального времени на языке C/C++, а также включает инструменты для эффективного построения и отладки загружаемых образов ядра конфигурируемых операционных систем LynuxWorks. Luminosity объединяет лучшее, что есть в инструментальных средствах в различных операционных системах LynuxWorks на базе открытых стандартов, и выводит эти средства на более удобный для пользователя интерактивный стиль общения.

В рамках платфомы Eclipse и объединенного вокруг нее сообщества разработчиков доступно много проектов с открытым кодом, которые расширяют среду разработки и поставляются в виде стандартов и примеров, которые можно включить в среду Eclipse и тем самым расширить возможности базовых инструментов. Эти проекты обеспечивают стандартный набор представлений и перспектив.

Представлением в Eclipse является некая рабочая панель. Все рабочее пространство Eclipse состоит из нескольких представлений. Примером может служить навигационное или схематическое представление (navigator или outline views). Набор таких представлений называется перспективой. Одна из наиболее распространённых перспектив – ресурсы (Resource) – представляет собой базовый набор представлений для управления проектами и просмотра, а также редактирования файлов проекта.

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


CDT является расширением (плагином) платформы Eclipse. Система плагинов, с помощью которых реализуется практически вся функциональность Eclipse, позволяет этой платформе быть крайне гибкой и масштабируемой. CDT является одним из популярнейших расширений Eclipse, причем не только среди разработчиков Linux, – более половины разработчиков используют CDT для разработок Windows-приложений.

В составе проекта CDT идут подкомпоненты, отвечающие за возможности пакета. Базовую функциональность обеспечивает компонент CDT. Компонент CDT Debug UI предоставляет пользовательский интерфейс для отладчика. CDT UI – возможности интерфейса пользователя, программы просмотра и редактирования, набор мастеров. Редакторы CDT имеют возможности по подсветке синтаксиса и помощника по коду (code assist, автоматическое дописывание кода в соответствии с шаблонами), которые могут настраиваться индивидуально под требования разработчика и делают проект CDT еще более популярным. И это далеко не полный перечень компонентов проекта CDT.

Перспективы Eclipse

Перспектива построения C/C++ объединяет открытый проект CDT, инструменты компиляции GNU и развитую среду разработки образов операционных систем LynuxWorks и встраиваемых приложений, которые будут работать в среде OC.

Luminosity упрощает руководство проектом на основе перспектив, доступных внутри представлений Eclipse. Варианты построения могут предназначаться для индивидуальных файлов или всего проекта. Параметры настройки среды разработки служат, чтобы настроить компилятор и варианты компоновщика, а также целевую среду, которая будет построена.

2.3 Управление проектом под руководством помощников

В Luminosity при создании проектов пользователю неоценимую помощь могут оказать легкие в использовании помощники (wizard).

Разработчик может использовать помощника нового проекта (New Project Wizard) для легкого и быстрого создания структуры кода нового проекта (C, C++), а затем использовать кросс-процессный viewer в перспективе сборки (Build Perspective), чтобы наблюдать за активностью всего процесса и за работой потоков на целевой системе.

В Luminosity опции проекта LynuxWorks C/C++ позволяют пользователям напрямую редактировать и управлять своими make-файлами. Luminosity будет управлять make-файлами автоматически, если выбрана опция Managed Make C/C++. Разработчики могут использовать помощника ядра (Kernel Wizard) в Luminosity для проектов C, которые собирают ядро LynxOS-SE, или помощника драйвера (Driver Wizard), чтобы создать скелет проекта драйвера, который будет служить отправной точкой при разработке драйвера устройства.


Рис. 1. Помощник создания проекта

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

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

Luminosity также добавляет дополнительные представления в перспективе отладки для операционных систем LynuxWorks. Эти расширенные представления отображают информацию о состоянии операционной системы и ее коммуникационных механизмов, таких как очереди сообщений, семафоры, условные переменные и мьютексы. Отладчик также обеспечивает представления для множества потоков и данные о динамически присоединенных к системе процессах. Для операционных систем с временным и пространственным изолированием разделов, таких как LynxOS-178, доступна дополнительная информация об этих разделах, которая облегчает отладку приложений, работающих в различных разделах.

Luminosity обеспечивает невероятно полезную возможность, tracepoints (точки трассировки), которая позволяет разработчику наблюдать поведение программы, не прерывая ее. Это помогает решить проблему, возникающую в некоторых приложениях, в которых задержки, введенные отладчиком, могут кардинально изменить поведение программы или привести к сбою, даже если сам код правильный. Отладчик в Luminosity поддерживает отладку ядра и устройств на уровне исходного текста. Для систем с несколькими процессорами или ядрами отладчик Luminosity поддерживает отдельно конфигурируемые соединения с каждой целевой системой.

Рис. 2. Архитектура Luminosity

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


Рис. 3. Перспектива построения C/C++ в Luminosity вместе с конфигурированием ядра

Рис. 4. Перспектива отладки Luminosity вместе с межпроцессным представлением

SpyKer использует возможности расширения платформы Eclipse и показывает подробную информацию о процессах, работающих на фактически загруженном (развернутом) ядре. SpyKer вносит чрезвычайно малые искажения при трассировке и минимизирует воздействие на целевую систему. Это обеспечивает объективность измерений и устраняет потенциальные проблемы при анализе временных характеристик, которые могли бы скрыть трудноуловимые ошибки.

Например:

  • Разработчики могут отслеживать обширный диапазон событий, включая запросы системы, прерывания, переключения контекста, исключения процессора и много других системных событий.
  • Точки трассировки могут быть вставлены статически и динамически в запросы к разделенным библиотекам, позволяя пользователям визуализировать процедуры работы библиотеки с помощью знакомых им названий.
  • SpyKer может также захватывать события «вручную» (для так называемых событий пользователя), что позволяет настраивать SpyKer для специфической задачи отладки. Cобытия пользователя могут быть добавлены и в ядре, и в разделяемых прикладных уровнях.

Рисунок 5

SpyKer позволяет ядрам и активным приложениям стать автоинструментованными во время выполнения, не прибегая к длинным циклам инструментирования и перезагрузкам. (Традиционные инструменты анализа работы требуют предварительного инструментирования приложения с помощью специальных запросов или управления этим в среде специально инструментированного ядра.)

SpyKer также собирает информацию об использовании центрального процессора и статистику использования памяти. Для быстрого анализа проблем, связанных со временем, доступен инструмент отображения гистограмм временных событий, который позволяет легко визуализировать время, затраченное системой в процедурах обслуживания прерываний (ISRs) или между любыми двумя событиями в системе. Гистограмма показывает интервал времени между событиями с помощью единственного щелчка мыши пользователя.

Luminosity предлагает разработчикам встраиваемых систем и партнерам LynuxWorks открытый коммуникационный интерфейс LOCI (Open Communications Interface), который дает возможность легко связать инструменты разработки на хосте с резидентными агентами отладки и анализа целевых систем. Открытый интерфейс, наряду с модулями расширения Eclipse, дает возможность новым инструментам быть интегрированными в Luminosity, что в результате позволяет им взаимодействовать, управлять, отлаживать или выполнять приложения и ядра на встраиваемой целевой системе.


Преимущества открытого коммуникационного интерфейса:

  • Полнофункциональные сервисы и сессии, легкодоступные для инструментов и приложений на хост-платформе.
  • Упрощенное портирование инструментов для хост-платформ с изоляцией различия операционных систем для целевого сервера и целевых агентов.
  • Абстракция операционной системы.
  • Собственные структуры данных операционной системы скрыты за коммуникационным интерфейсом.
  • Более легкое для партнеров портирование инструментов в семейство операционных систем LynuxWorks.
  • Абстрагирует коммуникационные каналы для поддержки соединений по TCP/IP, последовательному или JTAG-интерфейсу.

Luminosity использует стандартное немодифицированное окружение (framework) Eclipse, поэтому дополнительно требуемые инструменты, необходимые как часть жизненного цикла разработки программного обеспечения, могут быть легко включены в Luminosity с помощью стандартной нотации для программных расширений Eclipse. Кроме того, использование CDT учитывает дополнительную интеграцию с другими инструментами, которые используют в своих интересах точки расширения, предлагаемые CDT.

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

Программа проверки модулей расширений Luminosity была создана для проверки других инструментов как из мира open source, так и от коммерческих поставщиков на корректность работы в среде Luminosity. Инструменты: редакторы, компиляторы, средства проектирования высокого уровня, менеджеры исходного текста и инструменты тестирования и анализа – в общем случае доступны как программные расширения Eclipse.

Luminosity и Eclipse могут предоставить конкретной среде разработки стандартный пользовательский интерфейс для всех инструментов, необходимых в течение всего жизненного цикла разработки встраиваемого программного обеспечения.

Открытый подход к решению проблем разработки встраиваемого программного обеспечения соответствует концепции LynuxWorks и среды разработки Luminosity и существенно облегчает создание встраиваемых систем.