Внутрисхемные отладчики компании Lauterbach:
технологическое лидерство, функциональность и производительность
Алексей ИСАЕВ
Не секрет, что среди основных факторов, влияющих на успешность разработки собственной конкурентоспособной встраиваемой системы, в кризисных условиях сегодняшнего времени такой немаловажный фактор, как наличие в руках разработчика надежного, эффективного, удобного и функционального инструментария, занимает одно из первых мест. Именно поэтому данная статья посвящена анализу возможностей аппаратных и программных средств компании Lauterbach Datentechnik GmbH [1] — мирового лидера в области инструментов отладки, трассировки, эмуляции и анализа встраиваемых систем.
Продукция Lauterbach обеспечивает поддержку более 50 процессорных архитектур (включая многопроцессорные и многоядерные конфигурации), интерфейс ко всем компиляторам, настройку на универсальные операционные системы и ОС реального времени, имеет собственную интегрированную среду отладки PowerView. Аппаратно-программные средства компании Lauterbach имеют много уникальных возможностей, делающих процесс отладки встраиваемых систем комфортным, эффективным и всесторонним.
О компании Lauterbach
Lauterbach Datentechnik GmbH была основана в 1979 году Лотаром Лаутербахом (Lothar Lauterbach) и за прошедшие годы приобрела огромный опыт в области разработки инструментальных средств для отладки, трассировки, эмуляции и анализа встраиваемых систем. В настоящее время компания Lauterbach превратилась в безусловного технологического лидера на этом глобальном рынке.
Компания Lauterbach придерживается современной и хорошо продуманной концепции при разработке всех своих изделий. Вкратце остановимся на основных принципах этой концепции.
• Все необходимое из одного источника: все, что требуется для эмуляции, отладки, трассировки в реальном времени и анализа логики во встраиваемых системах должно поставляться самой компанией Lauterbach. Отсюда вытекает, что все аппаратные мо-
дули и программное обеспечение разрабатывается самостоятельно специалистами Lauterbach, и это гарантирует оптимальную интеграцию между отдельными компонентами.
• Открытая система: продукты Lauterbach имеют открытые интерфейсы для других продуктов в цепочке инструментальных средств, требуемых для решения задач в течение жизненного цикла разработки встраиваемых систем.
• Открытые интерфейсы пользователя: все продукты Lauterbach поставляются с одним
и тем же пользовательским интерфейсом в среде программного продукта Ро'^'егУіе'^ Заказчику требуется лишь один раз освоить этот продукт, и далее он может легко переключиться на его использование при разработке других встраиваемых систем. PowerView включает настройки ко всем используемым компиляторам, универсальным операционным системам (УОС) и ОС реального времени. Для примера и в качестве подтверждения этого тезиса в таблицах 1-4 приведена более подробная информация о поддержке компиляторов средст-
Рис. 1. Динамика роста продаж Lauterbach, млн USD
вами Lauterbach для трех наиболее важных процессорных архитектур в области встраиваемых систем специального назначения.
• Поддержка широкого диапазона процессорных архитектур: за небольшим исключением, TRACE32 поддерживает все известные процессорные архитектуры, начиная от 8-битовых и заканчивая 64-битовыми. На данный момент поддерживается более 1000 различных микроконтроллеров. Технологическое лидерство 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, ulTRON, 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,
Таблица 1. Список компиляторов
для разработки изделий с системой команд ARM,
поддерживаемых Lauterbach
Язык Компилятор Компания Опции
C ARMCC ARM AIF, ELF/DWARF
C REALVIEW MDK ARM/Keil ELF/DWARF2
C GCCARM FSF COFF/STABS, ELF/DWARF2
C GREENHILLS C 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
Таблица 3. Список компиляторов
для разработки изделий с системой команд MIPS,
поддерживаемых Lauterbach
Язык Компилятор Компания Опции
C TCC TASKING IEEE
C++ SDE Algorithmics ELF/STABS
C++ GCC FSF ELF/DWARF
C++ GREEN HILLS C++ Greenhills ELF/DWARF
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 — масштабируемый стандарт, допускающий
Таблица 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 Microware 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
Таблица 4. Список компиляторов
для разработки изделий с системой команд x386,
поддерживаемых Lauterbach
Язык Компилятор Компания Опции
C GNU-C FSF DBX
C GNU-C FSF ELF/DWARF2
C GCC386 Greenhills COFF
C IC386 Intel OMF-386
C IC286 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/SSI OMF-386/CV
C SCO-UNIX-CC SCO COFF
C++ BORLANDC Borland EXE/BC5
C++ ORGANON CADUL OMF386++
C++ GNU-C++ FSF DBX
C++ HIGH-C++ Metaware ELF/DWARF
C++ HC386 Metaware/SSI OMF/SPF
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);
Модуль
Power
Debug
Г
Отладочный кабель
падочі^и №
Отладочный коннектор Целевая система
• настройка на операционную систему, в том числе ОС реального времени;
• интерфейс с множеством хост-платформ, доступных за последние 30 лет (упомянем лишь некоторые современные и часто используемые хост-платформы: Windows XP, Linux, SOLARIS, ULTRIX, HP-UX, AIX, NOVELL-UNIXWARE, SUNOS, VMS/VAX);
• быстрая загрузка;
• показ внутренней и внешней периферии на логическом уровне;
• программирование флэш-памяти;
• контрольные точки аппаратных средств и триггеры (если поддерживается встроенным интерфейсом микросхемы);
• отладка мультипроцессорных и многоядерных конфигураций;
• трассировка на уровне программного обеспечения;
• виртуальный анализатор;
• программное обеспечение PowerView, совместимое со всеми инструментами TRACE32.
TRACE32-ICD PowerTrace Это универсальное средство поддержки трассировки программ и потока данных, которое имеет следующие характеристики: повышенная производительность системы, очень большая память трассировки, 16 Мбайт фреймов памяти трассировки, 96 каналов, максимальная скорость для каждого CPU, 32-битовые временные отметки с разрешением 20 нс, анализ времени исполнения и производительности, покрытие кода. TRACE32-ICD PowerTrace играет важную роль при про-
Отладочный Коннектор
коннектор трассировки
Целевая система
верке качества программного обеспечения. На рис. 3 показана схема работы TRACE32-ICD PowerTrace.
Отладка мультипроцессорных и многоядерных систем
TRACE32-ICD PowerDebug поддерживает возможность отладки многопроцессорных и многоядерных конфигураций. К хост-платформе для конфигурирования мультипроцессорной среды разработки может быть присоединено до четырех отладчиков (на рис. 4 показан пример отладки трехпроцессорной системы). Для задания конфигурации многопроцессорной системы в TRACE32 используется файл конфигурации.
Термин «отладка многоядерных систем» применяется к тестированию систем с несколькими ядрами на чипе. Если есть несколько ядер, объединенных на чипе, и у каждого ядра есть свой собственный интерфейс отладки, могут использоваться те же самые аппаратные средства и конфигурация программного обеспечения, как и для отладки мультипроцессорных систем. Возникает другая ситуация, если для экономии ресурсов все ядра управляются через один и тот же интерфейс отладки. Это возможно, например, в конфигурации из нескольких каскадируемых ядер, которые работают через единственный порт отладки. Такой подход — популярное решение в настоящее время для чипов с ядрами ARM, так как эту конфигурацию очень легко осуществить с помощью интерфейса JTAG. В этом случае отладчик требует возможности работать с определенным ядром в цепи и гарантировать, что через последовательности контроля проходят другие ядра. В случае, когда разработчик хочет работать с конкретным ядром, положение ядра в цепи может быть установлено средствами программного обеспечения. В случае если одновременно должно быть проверено более чем одно ядро, необходимы несколько модулей отладки, как и при отладке мультипроцессорной системы.
3 г
Рис. 2. Схема работы TRACE32-ICD PowerDebug
Рис. 3. Схема работы TRACE32-ICD PowerTrace
Рис. 4. Схема отладки многопроцессорных систем
Рис. 5. Пример интерфейса пользователя в среде PowerView
Рис. 6. Пример показа системной информации операционной системы
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 охватывает практически любые комбинации «целевая процессорная архитектура + компилятор + целевая операционная система», что в последнее время находит все больший интерес среди разработчиков встраиваемых систем в России. Именно сейчас, в условиях быстро меняющейся рыночной конъюнктуры, возрастает важность своевременного выбора наиболее адекватного инструментария для минимизации временных и финансовых затрат при разработке новой или модернизации существующей встраиваемой системы. ■
Литература
1. www.lauterbach.com
2. www.nexus5001.org/index.html