Перейти на старую версию сайта

 

Средства разработки



Аппаратные средства разработки

LAUTERBACH
LAUTERBACH 
Аппаратно-программные средства отладки компании LAUTERBACH

ПРОИЗВОДИТЕЛЬ: LAUTERBACH

ОПИСАНИЕ:

Аппаратно-программные средства отладки компании LAUTERBACH

ВНУТРИСХЕМНЫЙ ОТЛАДЧИК ICD

  • Легкая отладка на языке высокого уровня и на уровне ассемблера.
  • Интерфейс ко всем компиляторам.
  • Настройка на операционную систему реального времени.
  • Интерфейс со всеми хостами.
  • Быстрая загрузка.
  • Показ внутренней и внешней периферии на логическом уровне.
  • Программирование флеш-памяти.
  • Контрольные точки аппаратных средств и триггеры (если поддерживается встроенным интерфейсом микросхемы).
  • Отладка мультипроцессорных и многоядерных конфигураций.
  • Возможность расширения для трассировки и поддержки триггеров.
  • Трассировка на уровне программного обеспечения.
  • Виртуальный анализатор.
  • Программное обеспечение, совместимое со всеми инструментами TRACE32.

СЕМЕЙСТВО TRACE32-ICD

TRACE32-ICD

Успешный внутрисхемный отладчик с возможностью расширения для трассировки доступен с 1995 года. Он поддерживает больше 15 архитектур, включая такие популярные архитектуры, как ARM и PowerPC.

TRACE32-ICD – микропроцессорные средства разработки, основанные на отладке и логической трассировке (BDM, JTAG, ETM, OCDS, NEXUS), встроенные в микросхему. На этой основе TRACE32-ICD обеспечивает очень эффективный по стоимости отладчик плюс мощный трассировщик и инструмент анализа на этапе исполнения. TRACE32-ICD может быть связан с хостом через Ethernet, USB или параллельный интерфейс LPT.

TRACE32-POWERDEBUG/POWERTRACE

TRACE32-POWERDEBUG/POWERTRACETRACE32-PowerDebug/PowerTrace – дальнейшее развитие успешного продукта TRACE32-ICD, основывается на многолетнем опыте внутрисхемной отладки и разработке средств трассировки специалистами Lauterbach. TRACE32-PowerDebug обеспечивает повышенную производительность системы.

Главные особенности TRACE32-PowerTrace – повышенная производительность системы, очень большая память трассировки, расширенные возможности измерений во время выполнения и анализ производительности. Таким образом, TRACE32-ICD PowerTrace играет важную роль при проверке качества программного обеспечения.

КОНЦЕПЦИЯ АППАРАТНЫХ СРЕДСТВ

TRACE32-ICD Интерфейсы с хостом

  • LPT
  • Ethernet
  • USB

Power Debug Module

Универсальные аппаратные средства отладчика для всех архитектур.

Специфичный для CPU кабель отладки (Debug cable)(Дополнительный) модуль трассировки на базе RISC-архитектуры

Универсальные аппаратные средства трассировки для всех архитектур:

  • поддержка трассировки шины или программ/потока данных;
  • 64/128/256/512 K фреймов памяти трассировки;
  • 94 канала;
  • максимальная скорость для каждого CPU;
  • 36-битовые временные отметки с разрешением 25 нс.

Препроцессор, специфичный для CPU

Специфичный для CPU препроцессор для передачи данных трассировки от целевой платформы до модуля трассировки на базе RISC-архитектуры.

TRACE32-ICD POWERDEBUG

Power Debug Module

Универсальные аппаратные средства отладчика для всей архитектуры. Связь с хостом через Ethernet или USB.

Кабель отладки, специфичный для CPU (Debug cable)

TRACE32-ICD

TRACE32-ICD POWERTRACE PowerTrace

  • Универсальные аппаратные средства отладчика для всех архитектур.
  • Ethernet- или USB-интерфейсы.
  • Поддержка трассировки программ и потока данных.
  • 16M фреймов памяти трассировки.
  • 96 каналов.
  • Максимальная скорость для каждого CPU.
  • 32-битовые временные отметки с разрешением 20 нс.
  • Анализ времени исполнения и производительности.
  • Покрытие кода.

Кабель отладки, специфичный для CPU

Препроцессор, специфичный для CPU

Специфичный для CPU препроцессор для передачи данных трассировки от целевой платформы до памяти трассировки в устройстве PowerTrace.

МОНИТОР TRACE32-ICD

TRACE32-ICD

Монитор TRACE32-ICD основан на решении ROM Монитора. Программа монитора размером 8 Кбайт может быть расположена в любом месте адресного пространства. Монитор может быть прилинкован и загружен отдельно, или он может быть прилинкован и загружен вместе с пользовательской программой.

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

Взаимодействие между отладчиком на хосте и программой монитора на целевой платформе осуществляется с использованием симулятора стираемой программируемой постоянной памяти (EPROM) или через RS232.

Симулятор EPROM может поддерживать два 8-битовых или один 16-битовый EPROM.

Комбинация нескольких модулей позволяет 32- или 64-битовые конфигурации. Во время симуляции EPROM целевой системы может имитироваться программное обеспечение в симуляторе EPROM.

Интерфейсы с хостом:

  • LPT
  • Ethernet
  • USB

Симулятор EPROM

  • Универсальный симулятор EPROM
  • 8/16/64 Mбит симулятор ERPOM.
  • Время доступа 40 нс.
  • 5V и 3.3V.
  • Коннектор к DIL, PLCC, SO44 и универсальный коннектор ESICON.

TRACE32-ICD

ОТЛАДКА МУЛЬТИПРОЦЕССОРНЫХ СИСТЕМ

Максимум 4 отладчика может быть присоединено к хост-интерфейсу для конфигурирования мультипроцессорной среды разработки. Также можно использовать 2 отладчика и 2 модуля трассировки. Для задания конфигурации многопроцессорной системы в TRACE32 используется файл конфигурации.

СТАРТ/ОСТАНОВ СИНХРОНИЗАЦИИ

Если несколько процессоров должны быть включены и остановлены одновременно в максимально возможной степени, необходимо определить, какие функции являются ведущими (master) и какие подчиненными в полной конфигурации. Система может также быть установлена так, чтобы все процессоры рассматривались как ведущие и ведомые – так, что когда любой процессор запущен, все другие процессоры запускаются, и когда любой процессор остановлен, все другие останавливаются. Синхронное начало может быть выполнено в пределах приблизительно 10 микросекунд. Синхронная остановка, например, в контрольной точке может быть осуществлена точно. При этом основное требование: у интерфейса отладки используемого процессора должны быть триггерный вход и триггерный выход. Если дело обстоит не так, то асинхронная остановка должна быть осуществлена средствами программного обеспечения, которое, однако, требует большего времени.

TRACE32-ICD

ОТЛАДКА МНОГОЯДЕРНЫХ СИСТЕМ

Выражение «отладка многоядерных систем» применено к тестированию нескольких ядер на чипе. Если есть несколько ядер, объединенных на чипе, и у каждого ядра есть свой собственный интерфейс отладки, могут использоваться те же самые аппаратные средства и конфигурация программного обеспечения, что и для отладки мультипроцессорных систем. Возникает другая ситуация, когда все ядра управляются через один и тот же интерфейс отладки для экономии ресурсов. Это возможно, например, в конфигурации из нескольких каскадируемых ядер, которые работают через единственный порт отладки. Подобное решение является популярным в настоящее время для чипов с ядрами ARM, так как такую конфигурацию очень легко осуществить с помощью интерфейса JTAG.

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

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

КОНЦЕПЦИЯ ОТЛАДЧИКА НА УРОВНЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

СИМВОЛЬНАЯ ОТЛАДКА

Иерархическая база данных символов обеспечивает поддержку структурированной символьной отладки. Символьные имена могут иметь до 255 значащих символов типа long и могут использоваться для показа адреса программы, названия модуля и класса памяти. Дисассемблер может использовать символы для меток и/или операндов. Также могут использоваться имена для C++.

ОТЛАДКА НА УРОВНЕ ЯЗЫКА ВЫСОКОГО УРОВНЯ

TRACE32 может загрузить вывод всех стандартных компиляторов для C, C++, Java, Паскаль, Modula2, PEARL и АДА от большинства продавцов компиляторов. Показ программы и отладка могут быть сделаны на ассемблере, языке высокого уровня или в смеси обоих. Можно построить окна для ассемблера и окна для языка высокого уровня на экране одновременно. Могут быть показаны и изменены все типы переменных, определенных для языка высокого уровня. Адреса могут быть абсолютными, относительными или базироваться по номеру строки.

ОТЛАДКА

Отладчик использует следующую реализацию контрольной точки, чтобы остановить выполнение программы на определенной команде:

  • неограниченное число контрольных точек программного обеспечения для кода в RAM;
  • ограниченное число так называемых внутрисхемных контрольных точек для кода в ROM или флеш-памяти.

Могут также использоваться внутрисхемные контрольные точки, чтобы остановить выполнение программы после доступа чтения – записи к определенному адресу памяти.

Число доступных внутрисхемных контрольных точек зависит от ресурсов, которые обеспечивает используемый центральный процессор.

РАСШИРЕННЫЕ ВОЗМОЖНОСТИ КОНТРОЛЬНЫХ ТОЧЕК

TRACE32-ICD обеспечивает также простой путь для установки сложных условий останова:

  • установка контрольных точек при чтении и записи определенных значений данных;
  • соединение контрольной точки с условием;
  • соединение контрольной точки с командами, которые выполняются всякий раз, когда достигается контрольная точка.

Также возможна комбинация всех этих вариантов.

НАСТРОЙКА НА ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ (RTOS)

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

Могут быть показаны ресурсы системы, например задачи, объекты, разделы, очереди, области и семафоры.

ПЕРИФЕРИЯ

Показ периферии микросхемы.

  • Определяемый пользователем показ периферии микросхемы.
  • Выпадающее меню параметров настройки.
  • Дополнительное описание для каждого поля.

ПРОГРАММИРОВАНИЕ ФЛЕШ-ПАМЯТИ

TRACE32 поддерживает программирование внешней флеш-памяти так же, как программирование внутренней флеш-памяти микроконтроллеров. Программированием может управлять отладчик или процедура на целевой системе.

ТРАССИРОВКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

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

Типичное использование трассировки программного обеспечения – трассировка и анализ переключателей задачи. Трассировка процесса выполнения программы доступна для архитектуры, которая обеспечивает способность трассировки ветвлений, как все семейства PowerPC и SuperH SH4.

АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ

TRACE32-ICD предлагает долговременный анализ производительности. Например, чтобы определить, какие функции или модули используются больше всего в общем времени работы, текущий счетчик программы периодически регистрируется и статистически оценивается.

ВИРТУАЛЬНЫЙ АНАЛИЗАТОР

TRACE32-ICD обеспечивает возможность контроля изменения в отобранных данных в течение времени. Основное требование для этой возможности: интерфейс отладки используемого центрального процессора должен поддерживать чтение памяти целевой системы в то время, когда программа работает. Чтобы контролировать отобранные данные, виртуальный анализатор читает соответствующие ячейки памяти в фиксированном шаблоне времени во время работы программы и передает их содержимое в память виртуального трассировщика. Так как виртуальный трассировщик – это программное обеспечение, он может иметь любой размер.

МОЩНЫЙ ЯЗЫК СКРИПТОВ

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

НАСТРОЙКА GUI

Пользовательский интерфейс TRACE32 открыт и позволяет адаптировать меню, кнопки и диалоги к требованиям пользователя.

КОНЦЕПЦИЯ ТРАССИРОВКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

ТРАССИРОВКА ШИНЫ

Расширение трассировки TRACE32-ICD работает как трассировка шины на некоторых центральных процессорах. Поскольку шина прослеживает адрес и данные шины, определенные строки состояния записываются для каждого цикла шины. В результате доступна полная информация о программе и потоке данных.

ВЫБОРОЧНАЯ ТРАССИРОВКА

Расширение трассировки для TRACE32-ICD обеспечивает некоторые основные характеристики для выборочной трассировки.

ТРАССИРОВКА ЯЗЫКА ВЫСОКОГО УРОВНЯ (HLL)

Система трассировки контекста (CTS) позволяет показать также регистровые и стековые переменные при показе трассировки. Для каждого шага языка высокого уровня, считанного в буфер трассировки, разработчик получает:

  • текущие значения переменной;
  • результат шага программы;
  • точное время.

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

ТРАССИРОВКА ПРОЦЕССА ВЫПОЛНЕНИЯ ПРОГРАММЫ

Расширение трассировки TRACE32-ICD работает как трассировка процесса выполнения программы для большинства центральных процессоров. Из-за высоких скоростей большинство центральных процессоров не обеспечивает полную видимость внутренней программы и потока данных. Они оборудованы так называемым портом трассировки (специальные штырьки центрального процессора). Через этот порт поступает сокращенная информация о внутренней программе, которая выполняется.

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

АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ, ОСНОВАННЫЙ НА ТРАССИРОВКЕ

Измерение производительности, используемое в TRACE32-ICD, является статистическим процессом. Такое измерение не имеет абсолютно никакого влияния на поведение в реальном времени.

ОТЛАДЧИК ОТ LAUTERBACH ДЛЯ ОСРВ LYNXOS

Основные свойства:

  • Оперативный, дружелюбный показ ресурсов системы LynxOS.
  • Отладка ядра и/или приложений.
  • Специфичный именно для LynxOS показ распечатки трассировки.
  • Статистическая оценка и графический показ работы нити.
  • Оценка времен работы функций нити.
  • Статистическая оценка и графический показ состояния нити.
  • Показ содержимого стека нити.
  • Функции языка PRACTICE для данных LynxOS.
  • Специальное выпадающее меню для LynxOS.

Система TRACE32 включает конфигурируемый многозадачный отладчик, обеспечивающий символьную отладку в ОСРВ. TRACE32 содержит готовую к работе конфигурацию для ядра реального времени LynxOS от LynuxWorks. В результате сотрудничества с LynuxWorks Lauterbach построил очень удобный интерфейс для LynxOS, который обеспечивает самую эффективную отладку с помощью TRACE32 целевых платформ, работающих в среде LynxOS.

ИССЛЕДОВАНИЕ ОСРВ LYNXOS С ПОМОЩЬЮ TRACE32

ОПЕРАТИВНЫЙ, ДРУЖЕЛЮБНЫЙ ПОКАЗ РЕСУРСОВ СИСТЕМЫ LYNXOS

Отладчик ОСРВ TRACE32 для LynxOS обеспечивает функции, близкие к набору команд SKDB (Simple Kernel Debugger) LynxOS. Процессы и нити могут быть показаны и исследованы. Кроме того, при использовании двухпортовой памяти эмуляторов (если они доступны), показ всех этих областей может быть осуществлен в режиме реального времени.

Таблицы обновляются непрерывно, вообще не затрагивая приложение.

Окно списка процессов

Окно списка процессов

Окно списка нитей

Окно списка нитей

ОТЛАДКА ЯДРА И/ИЛИ ПРИЛОЖЕНИЯ

TRACE32 – это прежде всего инструмент отладки аппаратно-программных средств, поэтому вы в состоянии отладить очень многие вещи, включая код загрузки, фазу инициализации платы, процедуры прерываний, драйверы, ядро, и т. д. TRACE32 включает полную поддержку MMU, обеспечивая механизмы просмотра памяти на целевой платформе, используя виртуальные или физические адреса вместе с таблицами перекодировки одних в другие. Дополнительно у TRACE32 есть специальная поддержка MMU сразу нескольких адресных пространств, которая позволяет отлаживать одновременно несколько приложений LynxOS (процессов). Внутренняя логика предоставляет свободный проход по всем областям памяти всех процессов. Специальный механизм обнаружения процесса позволяет останавливать приложение точно в пункте входа в процесс, разрешая вам отладить ваш процесс прямо от main() функции.


Список контролируемых процессов

Список контролируемых процессов

КОНТРОЛЬНЫЕ ТОЧКИ, ОТНОСЯЩИЕСЯ К НИТИ

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


Список точек прерывания с привязкой к нитям

Список точек прерывания с привязкой к нитям

СОДЕРЖИМОЕ СТЕКА НИТИ

В режиме реального времени системы весьма важно знать, какой объем стека используется каждой нитью. С этой целью специальное окно показывает нить и максимальное использование объема стека каждой отдельной нитью.


Окно содержимого стека нити

Окно содержимого стека нити

ДИНАМИЧЕСКОЕ ИЗМЕРЕНИЕ РАБОТЫ НИТИ

Во время работы LynxOS TRACE32 способен к рекуррентной оценке каждой работающей нити и сбору результатов. Например, может показываться графически и постоянно обновляться процент процессорного времени, который тратится на каждую нить системы. Чем более длительное время осуществляется измерение, тем более точные результаты получаются. Эта особенность доступна даже без какого-либо аппаратного трассировщика.


Список измерения производительности

Список измерения производительности

ПОКАЗ РАСПЕЧАТКИ ТРАССИРОВКИ, СПЕЦИФИЧНЫЙ ДЛЯ LYNXOS

Данные, зарегистрированные в оперативном буфере трассировки (если он доступен), могут быть показаны и интерпретированы специальным образом применительно к операционной системе. Например, переключения нити могут показываться вместе c другой информацией.

СТАТИСТИЧЕСКАЯ ОЦЕНКА И ГРАФИЧЕСКИЙ ПОКАЗ РАБОТЫ НИТИ

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

ОЦЕНКА РАБОТЫ ФУНКЦИЙ, ПРИВЯЗАННАЯ К КОНКРЕТНОЙ НИТИ

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

СТАТИСТИЧЕСКАЯ ОЦЕНКА И ГРАФИЧЕСКИЙ ПОКАЗ СОСТОЯНИЙ НИТИ

При установке трассировки табличный и графический анализ работы нитей показывает различные состояния нити (то есть: работает, готова, ожидает, приостановлена и неопределенное состояние) и время, которое каждая нить была в каждом состоянии. Графическое представление данных может помочь обнаружить проблемы установления приоритетов, критические пути и т. д.

ФУНКЦИИ ЯЗЫКА PRACTICE ДЛЯ ДАННЫХ OS

Поддержка LynxOS включает расширенные функции языка PRACTICE для специальных данных LynxOS, которые используются в скриптах установки и тестирования. Например, функция task.proc.space (hello_ world) возвращает id области памяти MMU, которую использует этот процесс.

СПЕЦИАЛЬНОЕ ВЫПАДАЮЩЕЕ МЕНЮ ДЛЯ LYNXOS

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




Программные средства разработки

Luminosity
Luminosity 
Интегрированная среда на базе Eclipse для разработки встраиваемых приложений
SpyKer
SpyKer 
Инструмент отладки, диагностики и оптимизации быстродействия встроенной системы для LynxOS и Bl


Luminosity

Интегрированная среда на базе Eclipse для разработки встраиваемых приложений

ОПИСАНИЕ: 

ПРОИЗВОДИТЕЛЬ: LynuxWorks

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

Среда Luminosity основана на популярной платформе Eclipse и является полнофункциональной интегрированной средой разработки на базе Java для всех платформ кросс-разработки LynuxWorks с целевыми операционными системами, такими как BlueCat® Linux®, LynxOS®, LynxOS-178, LynxOS-SE и LynxSecure.

Ключевые особенности интегрированной среды (IDE) Luminosity:

  1. Построена на базе инструментальной среды Eclipse CDT (C и C++ Development Tools).
  2. Позволяет пользователю легко переключаться между различными возможностями:– построением кода на языке C/C++; 
    – отладкой; 
    – работой с целевой системой; 
    – анализом (представлением) процесса; 
    – профилированием; 
    – удаленным просмотром файлов.
  3. Имеет развитые средства отладки операционной системы: 
    – интегрированный отладчик позволяет работать как с процессами, так и с потоками, причем на каждый поток выделяется отдельное окно; 
    – встроенные интегрированные средства просмотра содержимого ядра: очередей, мьютексов и семафоров; 
    – отладка приложений с порожденными (fork) процессам (родительскими и дочерними).
  4. Поддерживает отладку как отдельных процессоров, так и разделов: 
    – позволяет присоединяться к нескольким целевым системам, причем индивидуально конфигурировать метод и параметры связи; 
    – позволяет присоединяться к различным разделам и отлаживать безопасные или секретные приложения.
  5. Включает средства анализа межпроцессной информации и инструмент трассировки SpyKer, что позволяет получать детальную информацию системного уровня.
  6. Имеет открытые коммуникационные интерфейсы с целевой системой.
  7. Имеет уникальную программу проверки дополнительных средств расширения.

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

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

Поддержка открытых стандартов в 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. Варианты построения могут предназначаться для индивидуальных файлов или всего проекта. Параметры настройки среды разработки служат, чтобы настроить компилятор и варианты компоновщика, а также целевую среду, которая будет построена.

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

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

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

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

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

Администрирование целевой системы в Luminosity

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

Расширенный отладчик, трассировщик событий и программные расширения Luminosity

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

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

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

Отладчик в Luminosity поддерживает отладку ядра и устройств на уровне исходного текста.

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

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

Доступ к исполнительной (runtime) системе

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

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

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

Расширенный анализ системы с помощью инструмента SpyKer

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

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

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

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

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

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

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

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

Программа проверки средств расширения Luminosity

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

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

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

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



SpyKer

Инструмент отладки, диагностики и оптимизации быстродействия встроенной системы для LynxOS и BlueCat Linux

ПРОИЗВОДИТЕЛЬ: LynuxWorks

ОПИСАНИЕ:

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

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

SpyKer способен отслеживать системные вызовы, прерывания, переключения контекста и многие другие события.