Внутрисхемные отладчики компании Lauterbach: технологическое лидерство, функциональность и производительность

№ 4’2009
PDF версия
Не секрет, что среди основных факторов, влияющих на успешность разработки собственной конкурентоспособной встраиваемой системы, в кризисных условиях сегодняшнего времени такой немаловажный фактор, как наличие в руках разработчика надежного, эффективного, удобного и функционального инструментария, занимает одно из первых мест. Именно поэтому данная статья посвящена анализу возможностей аппаратных и программных средств компании Lauterbach Datentechnik — мирового лидера в области инструментов отладки, трассировки, эмуляции и анализа встраиваемых систем.

Продукция Lauterbach обеспечивает
поддержку более 50 процессорных
архитектур (включая многопроцессорные и многоядерные конфигурации), интерфейс ко всем компиляторам, настройку
на универсальные операционные системы
и ОС реального времени, имеет собственную
интегрированную среду отладки PowerView.
Аппаратно-программные средства компании
Lauterbach имеют много уникальных возможностей, делающих процесс отладки встраиваемых систем комфортным, эффективным
и всесторонним.

О компании Lauterbach

Lauterbach Datentechnik GmbH была основана в 1979 году Лотаром Лаутербахом (Lothar
Lauterbach) и за прошедшие годы приобрела
огромный опыт в области разработки инструментальных средств для отладки, трассировки, эмуляции и анализа встраиваемых систем. В настоящее время компания Lauterbach
превратилась в безусловного технологического лидера на этом глобальном рынке.

Компания Lauterbach придерживается современной и хорошо продуманной концепции при разработке всех своих изделий.
Вкратце остановимся на основных принципах этой концепции.

  • Все необходимое из одного источника: все,
    что требуется для эмуляции, отладки, трассировки в реальном времени и анализа логики во встраиваемых системах должно поставляться самой компанией Lauterbach.
    Отсюда вытекает, что все аппаратные модули и программное обеспечение разрабатывается самостоятельно специалистами
    Lauterbach, и это гарантирует оптимальную интеграцию между отдельными компонентами.
  • Открытая система: продукты Lauterbach
    имеют открытые интерфейсы для других
    продуктов в цепочке инструментальных
    средств, требуемых для решения задач в течение жизненного цикла разработки встраиваемых систем.
  • Открытые интерфейсы пользователя: все
    продукты Lauterbach поставляются с одним
    и тем же пользовательским интерфейсом
    в среде программного продукта PowerView.
    Заказчику требуется лишь один раз освоить этот продукт, и далее он может легко
    переключиться на его использование при
    разработке других встраиваемых систем.
    PowerView включает настройки ко всем используемым компиляторам, универсальным операционным системам (УОС) и ОС
    реального времени. Для примера и в качестве подтверждения этого тезиса в таблицах 1–4 приведена более подробная информация о поддержке компиляторов средствами Lauterbach для трех наиболее важных
    процессорных архитектур в области встраиваемых систем специального назначения.
  • Поддержка широкого диапазона процессорных архитектур: за небольшим исключением, TRACE32 поддерживает все известные процессорные архитектуры, начиная
    от 8-битовых и заканчивая 64-битовыми.
    На данный момент поддерживается более
    1000 различных микроконтроллеров.

Таблица 1. Список компиляторов
для разработки изделий с системой команд ARM,
поддерживаемых Lauterbach

Язык Компилятор Компания Опции
C ARMCC ARM AIF, ELF/DWARF
C REALVIEW MDK ARM/Kei ELF/DWARF2
C GCCARM FSF COFF/STABS,
ELF/DWARF2
C GREENHILLS Greenhills ELF/DWARF2
C ICCARM IAR ELF/DWARF2
C ICCV7-ARM Imagecraft ELF/DWARF
C CARM Keil ELF/DWARF
C HIGH-C Metaware ELF/DWARF
C TI-C Texas Instruments COFF
C GNU-C Wind River Systems COFF
C++ ARM SDT 2.50 ARM ELF/DWARF2
C++ REALVIEW MDK ARM/Keil ELF/DWARF2
C++ GCCARM FSF COFF/STABS
C++ GNU FSF EXE/STABS
C++ GCCARM FSF ELF/DWARF2
C++ GREENHILLS C++ Greenhills ELF/DWARF2
C++ HIGH-C++ Metaware ELF/DWARF
C++ MSVC Microsoft EXE/CV5
C/C++ VX-ARM TASKING ELF/DWARF2

Таблица 2. Список компиляторов
для разработки изделий с системой команд PowerPC,
поддерживаемых Lauterbach

Язык Компилятор Компания Опции
C D-CC Diab-Data IEEE, COFF, ELF/DWARF
C CC Freescale XCOFF
C CODEWARRIOR Freescale ELF/DWARF
C XCC-V Gaio SAUF
C GREEN HILLS C Greenhills ELF/DWARF
C GCC HighTec ELF/DWARF
C MCCPPC Mentor Graphics ELF/DWARF
C HIGH-C Metaware ELF/DWARF
C ULTRA C Metaware ROF
C DCPPC TASKING ELF/DWARF
C++ D-C++ Diab-Data ELF/DWARF
C++ GCC FSF ELF/DWARF
C++ GREEN HILLS C++ Greenhills ELF/DWARF
C++ CCCPPC Mentor Graphics ELF/DWARF
C++ HIGH-C++ Metaware ELF/DWARF
C++ MSVC Microsoft EXE/CV5
C++ GCCPPC Wind River Systems ELF/STABS
GCC GCC FSF ELF/DWARF
JAVA FASTJ Diab-Data ELF/DWARF

Таблица 3. Список компиляторов
для разработки изделий с системой команд MIPS,
поддерживаемых Lauterbach

Язык Компилятор Компания Опции
C TCC TASKING IEEE
C++ SDE Algorithmics ELF/STABS
C++ GCC FSF ELF/DWARF
C++ GREEN HILLS C++ Greenhills ELF/DWARF

Таблица 4. Список компиляторов
для разработки изделий с системой команд x386,
поддерживаемых Lauterbach

Язык Компилятор Компания Опции
C GNU-C FSF DBX
C GNU-C FSF ELF/DWARF2
C GCC386 Greenhills COFF
C IC386 Intel OMF-386
C IC386 Intel OMF-286
C MCC386 Mentor Graphics EOMF-386
C HIGHC Metaware ELF/DWARF
C HC386 Metaware/SSI OMF386/SPF
C MSVC/CSI Microsoft/CSi EOMF-386
C MSVC-1.5 Microsoft/Pharlap EOMF-386
C MSVC Microsoft/Pharlap EXE/CV
C MSVC Microsoft/SS OMF-386/CV
C SCO-UNIX-CC SCO COFF
C++ BORLAND C Borland EXE/BC5
C++ ORGANON CADUL OMF386++
C++ GNU-C++ FSF DBX
C++ HIGH-C++ Metaware ELF/DWARF
C++ HC386 Metaware/SSI OMF/SPF

Технологичеcкое лидерство Lauterbach подтверждено стабильными и успешными результатами в бизнесе. За последние 5 лет ежегодный рост компании Lauterbach был в пределах от 20 до 50% (рис. 1), что позволило ей
стать компанией номер 1 в мире на рынке аппаратно-программных средств отладки встраиваемых систем. Lauterbach работает в очень
тесном контакте с производителями полупроводниковых компонентов и имеет заслуженную репутацию среди этих компаний, что
обеспечивает быстрый доступ к первым образцам изделий на этапе их проектирования
и гарантирует полную совместимость, а как
результат такого сотрудничества позволяет
компании Lauterbach первой выводить на рынок средства поддержки новых процессоров,
как это было, например, для процессоров
68HC08, 68060, H8/300H, 68HC12, NEXUS,
Super10 и многих других.

Рис. 1. Динамика роста продаж Lauterbach, млн USD

Основные продуктовые
линейки Lauterbach

Lauterbach обеспечивает интегрированный
набор аппаратных и программных средств для
отладки встраиваемых изделий. Аппаратная
часть интегрированного набора включает внутрисхемные отладчики PowerDebug (ICD),
трассировщики реального времени программ
и потоков данных PowerTrace, логические
анализаторы PowerIntegrator и PowerProbe,
модульные внутрисхемные эмуляторы ICE
и высокоскоростные RISC-эмуляторы FIRE.
Программная часть интегрированного набора — PowerView—является универсальным
интерфейсом с одним и тем же пользовательским интерфейсом для всех аппаратных инструментов. PowerView может быть настроена практически на все распространенные
универсальные операционные системы и ОС
реального времени, такие как Linux, NetBSD,
OSEK, uITRON, CMX, ECOS, OSE, ThreadX,
pSOS+, AMX, LynxOS, LynxOS-178, Nucleus
PLUS, VRTX32, uC/OS-II, SMX, Windows CE,
OS-9, MQX, QNX, RTXC Quadros, RTEMS,
ChorusOS, Symbian OS, PikeOS, VxWorks.

На сайте компании приведен список производителей, чьи процессоры поддержаны
средствами Lauterbach, с указанием разрядности поддерживаемых процессоров (8/16/
24/32/64). Среди поддержанных производителей такие ведущие мировые лидеры на
рынке производства микропроцессоров, как
Analog Devices, AMCC, AMD, ARM, ARC, ATI,
Atmel, Cirrus Logic, Freescale, IBM, Infineon,
Intel, Marvell, MIPS, Renesas, Texas Instruments,
Xilinx и многие другие. Аппаратные средства отладки Lauterbach поддерживают наиболее распространенные встроенные отладочные интерфейсы.

  • JTAG (Joint Test Action Group) — специализированный аппаратный интерфейс, разработанный для тестирования микропроцессоров. JTAG-интерфейс основан на методе
    периферийного сканирования (Boundary
    Scan), предложенном в 1985 году и реализованном в 1990 году в виде стандарта
    IEEE 1149.1: для того чтобы соответствовать
    стандарту, микросхема должна содержать
    4- или 5-проводный порт тестового доступа (TAP — Test Access Port), который имеет
    следующие выводы: TCK (вход синхросигналов), TMS (вход управляющего сигнала),
    TDI (вход тестовых команд и сигналов),
    TDO (выход тестовых данных), TRST (опциональный вход тестового сброса).
  • BDM (Background Debug Mode). В режиме
    BDM процессор выполняет команды, поступающие через специальный синхронный
    последовательный BDM-порт от внешней
    системы отладки (компьютера), c помощью
    которой производятся необходимые процедуры контроля и модификации содержимого регистров и ячеек памяти.
  • NEXUS (IEEE-ISTO 5001-2003 [2]). Ранее он
    был известен как GEPDIS (Global Embedded
    Processor Debug Interface). NEXUS — масштабируемый стандарт, допускающий
    4 класса соответствия, начиная от базового
    класса 1 (использующего только JTAG-интерфейс) до класса 4. Классы соответствия
    отличаются такими характеристиками, как
    наличие дополнительного (к JTAG) порта,
    возможностью захвата данных в памяти
    (data acquisition) и подстановкой данных
    в памяти (memory substitution). Lauterbach
    поддерживает классы от 1 до 3+.
  • ETM (Embedded Trace Macrocell), PTM
    (Program Trace Macrocell) и ETB (Embedded
    Trace Bus) порты, используемые для отладки изделий с ARM-процессорами.
  • OCDS (On-Chip-Debugging-Support) порт,
    используемый для отладки изделий с процессорами компании Infineon (C166, TriCore).

Семейство TRACE32 ICD-PowerTools

На сегодняшний день наиболее широко используемым является вариант аппаратных
средств Lauterbach (получивший название
TRACE32), ориентированный на работу с 16-
и 32-разрядными процессорными архитектурами. TRACE32 ICD — это микропроцессорные средства разработки, основанные
на встроенных в микросхему отлаживаемого
устройства средствах отладки и трассировки
(BDM, JTAG, ETM, OCDS, NEXUS), которые
присоединяются к хосту с помощью Ethernet
(включая 1 Гбит/c), USB 2.0 или LPT-интерфейса (последний сейчас уже не используется).
TRACE32-ICD включает следующий набор аппаратных средств: TRACE32-ICD PowerDebug
(или PowerDebug II), TRACE32-ICD PowerTrace
(или PowerTrace II), TRACE32-ICD PowerProbe,
PowerNexus.

TRACE32-ICD PowerDebug

Этот внутрисхемный отладчик с возможностью расширения для трассировки доступен с 1995 года. Он поддерживает более 50 архитектур, включая такие популярные архитектуры, как ARM и PowerPC. Конструктивно
TRACE32-ICD PowerDebug состоит из универсального микропроцессорного устройства и кабеля отладки, специфичного для конкретной процессорной архитектуры, как это
показано на рис. 2. Универсальный модуль
построен на базе микроконтроллера с процессором PPC440 GX c частотой 500 МГц
и обеспечивает высокоскоростной интерфейс
с целевой системой на скорости до 5 Мбайт/с.

Рис. 2. Схема работы TRACE32-ICD PowerDebug

Основные возможности TRACE32-ICD
PowerDebug:

  • легкая отладка на языке высокого уровня
    и на уровне ассемблера;
  • интерфейс ко всем компиляторам
    (табл. 1–4);
  • настройка на операционную систему, в том
    числе ОС реального времени;
  • интерфейс с множеством хост-платформ,
    доступных за последние 30 лет (упомянем
    лишь некоторые современные и часто используемые хост-платформы: Windows XP,
    Linux, SOLARIS, ULTRIX, HP-UX, AIX,
    NOVELL-UNIXWARE, SUNOS, VMS/VAX);
  • быстрая загрузка;
  • показ внутренней и внешней периферии
    на логическом уровне;
  • программирование флэш-памяти;
  • контрольные точки аппаратных средств
    и триггеры (если поддерживается встроенным интерфейсом микросхемы);
  • отладка мультипроцессорных и многоядерных конфигураций;
  • трассировка на уровне программного обеспечения;
  • виртуальный анализатор;
  • программное обеспечение PowerView, совместимое со всеми инструментами TRACE32.

TRACE32-ICD PowerTrace

Это универсальное средство поддержки
трассировки программ и потока данных, которое имеет следующие характеристики: повышенная производительность системы,
очень большая память трассировки, 16 Mбайт
фреймов памяти трассировки, 96 каналов,
максимальная скорость для каждого CPU,
32-битовые временные отметки с разрешением 20 нс, анализ времени исполнения и производительности, покрытие кода. TRACE32-ICD
PowerTrace играет важную роль при проверке качества программного обеспечения.
На рис. 3 показана схема работы TRACE32-ICD
PowerTrace.

Рис. 3. Схема работы TRACE32-ICD PowerTrace

Отладка мультипроцессорных
и многоядерных систем

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

Рис. 4. Схема отладки многопроцессорных систем

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

PowerView — уникальная интегрированная среда разработки
и отладки встраиваемых приложений

Рис. 5. Пример интерфейса пользователя в среде PowerView

PowerView является универсальным интегрированным интерфейсом с одним и тем же пользовательским интерфейсом для всех аппаратных инструментов Lauterbach и содержит полный набор инструментов, необходимых для создания встраиваемых приложений, их отладки, трассировки, профилирования, настройки на компилятор,
операционную систему и архитектуру микроконтроллера (рис. 5).
PowerView включает следующие компоненты (видимые пользователю как окна в среде PowerView): текстовый редактор, дисассемблер,
отладчик на уровне ассемблера и языка высокого уровня (C, C++,
Java, Паскаль, Modula2, PEARL и АДА), внутренний (опционально
внешний) симулятор системы команд целевого процессора, браузер
аппаратных средств отлаживаемой системы, встроенный язык скриптов PRACTICE, анализатор протоколов (CAN, USB, I2C, ASYNC, PCI,
DRAM), обозреватель («шпион», snooper) оперативной памяти, анализатор временных характеристик (таких как время выполнения
функций, состояний процессов и потоков, время прерываний и переключения контекста), средство анализа покрытия кода, флэш-программатор и некоторые другие. Назовем еще некоторые опциональные возможности PowerView: возможность отладки TPU-устройств
(Timing Processor Unit), которые присутствуют во многих устройствах компании Motorola, интеграция с продуктами третьих фирм (например, текстовыми редакторами, отладчиками, CASE-системами),
такими как Rhapsody, LabView, EasyCase, CodeWright, X-Tools, Windows
CE Platform Builder.

Уникальными являются возможности Power-View по настройке на
операционные системы реального времени (ОСРВ). Внутрисхемные
отладчики обеспечивают функции показа, отражающие практически полный набор команд «интегрированного» отладчика ОСРВ. Могут быть показаны ресурсы системы, например процессы, потоки,
объекты, разделы, очереди, области и семафоры. На рис. 6 приведен
пример отображения системной информации операционной системы. Еще одним очень удобным свойством PowerView является возможность детализированного показа в реальном времени данных о периферии отлаживаемой микросхемы.

Рис. 6. Пример показа системной информации операционной системы

Заключение

Аппаратно-программные средства компании Lauterbach имеют
много уникальных возможностей, делающих процесс отладки встраиваемых систем комфортным, эффективным, всесторонним и прогнозируемым. Продуктовая матрица Lauterbach охватывает практически любые комбинации «целевая процессорная архитектура + компилятор + целевая операционная система», что в последнее время
находит все больший интерес среди разработчиков встраиваемых систем в России. Именно сейчас, в условиях быстро меняющейся рыночной конъюнктуры, возрастает важность своевременного выбора
наиболее адекватного инструментария для минимизации временных
и финансовых затрат при разработке новой или модернизации существующей встраиваемой системы.

Литература

  1. www.lauterbach.com
  2. www.nexus5001.org/index.html

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *