Внутрисхемные отладчики компании Lauterbach: технологическое лидерство, функциональность и производительность
Продукция 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 и многих других.
Основные продуктовые
линейки 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 Мбайт/с.
Основные возможности 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.
Отладка мультипроцессорных
и многоядерных систем
TRACE32-ICD PowerDebug поддерживает
возможность отладки многопроцессорных
и многоядерных конфигураций. К хост-платформе для конфигурирования мультипроцессорной среды разработки может быть присоединено до четырех отладчиков (на рис. 4
показан пример отладки трехпроцессорной
системы). Для задания конфигурации многопроцессорной системы в TRACE32 используется файл конфигурации.
Термин «отладка многоядерных систем»
применяется к тестированию систем с несколькими ядрами на чипе. Если есть несколько ядер, объединенных на чипе, и у каждого
ядра есть свой собственный интерфейс отладки, могут использоваться те же самые
аппаратные средства и конфигурация программного обеспечения, как и для отладки
мультипроцессорных систем. Возникает
другая ситуация, если для экономии ресурсов все ядра управляются через один и тот
же интерфейс отладки. Это возможно, например, в конфигурации из нескольких каскадируемых ядер, которые работают через
единственный порт отладки. Такой подход — популярное решение в настоящее
время для чипов с ядрами ARM, так как эту
конфигурацию очень легко осуществить
с помощью интерфейса JTAG. В этом случае отладчик требует возможности работать
с определенным ядром в цепи и гарантировать, что через последовательности контроля проходят другие ядра. В случае, когда разработчик хочет работать с конкретным ядром, положение ядра в цепи может быть
установлено средствами программного
обеспечения. В случае если одновременно
должно быть проверено более чем одно ядро,
необходимы несколько модулей отладки,
как и при отладке мультипроцессорной системы.
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 является возможность детализированного показа в реальном времени данных о периферии отлаживаемой микросхемы.
Заключение
Аппаратно-программные средства компании Lauterbach имеют
много уникальных возможностей, делающих процесс отладки встраиваемых систем комфортным, эффективным, всесторонним и прогнозируемым. Продуктовая матрица Lauterbach охватывает практически любые комбинации «целевая процессорная архитектура + компилятор + целевая операционная система», что в последнее время
находит все больший интерес среди разработчиков встраиваемых систем в России. Именно сейчас, в условиях быстро меняющейся рыночной конъюнктуры, возрастает важность своевременного выбора
наиболее адекватного инструментария для минимизации временных
и финансовых затрат при разработке новой или модернизации существующей встраиваемой системы.