STWorkbench – среда разработки для цифровых приставок на базе процессоров ST
Антон Тонкович, ведущий специалист
Компания STMicroelectronics является одним из мировых лидеров по производству процессоров для приставок цифрового телевидения. STMicroelectronics предоставляет необходимый набор компонентов разработчикам ПО. Это, в первую очередь, встраиваемые операционные системы (OC)OS21 и STLinux.
OS21 – операционная система реального времени (RTOS), обладающая всеми необходимыми функциями и позволяющая создавать компактные приложения c минимальными требованиями к ресурсам аппаратного обеспечения.
STLinux построена на базе широко используемой операционной системы Linux и, как следствие, обладает всеми достоинствами, присущими этой ОС.
Еще одним важным компонентом поддержи разрабатываемого ПО, предоставляемым компанией STMicroelectronics, является наличие среды разработки программного обеспечения (IDE) STWorkbench. IDE позволяет работать с приложениями для операционных систем OS21 и STLinux. Основные принципы использования одинаковые, отличие заключается в наличии инструментов для отладки ядра и модулей ядра STLinux и в сложности настройки инструментов для компиляции и отладки.
Текущая версия STWorkbench является улучшенной версией Eclipse 3.4 ("Ganymede") IDE и включает в себя CDT 5.0 C/C++ плагины. Дополнительно она обеспечивает специфическую для STLinux и OS21 функциональность:
управление компиляцией и отладкой приложений и библиотек;
встроенные функции конфигурирования и компиляции ядра STLinux;
отладка ядра, используя KGDB или ST40 JTAG Kernel Debugger;
возможность запускать отладочные сессии с командной строки;
навигация целевой (target) файловой системы;
host-target передача файлов;
отладка файла ядра (core file);
профайлинг пользовательских приложений;
системный профайлинг, используя OProfile;
системный трейсинг в графическом режиме при помощи KPTrace.
OProfile — инструмент мониторинга производительности системы, оказывающий минимальное влияние на её работу. Он состоит из драйвера ядра и демона для сбора данных и нескольких инструментов для обработки собранных данных. OProfile использует аппаратные возможности процессора для сбора различной полезной статистики, которая может быть использована для профайлинга. Обрабатывается весь код: аппаратные и программные обработчики прерываний, модули ядра, ядро, библиотеки и пользовательские приложения. Для конфигурации OProfile и графического представления данныхSTWorkbench использует VisualOProfile.
Рисунок 1. Окно результатов Oprofile
KPTrace — инструмент для динамической трассировки ядра STLinux. Он позволяет добавлять точки трассировки к ядру и обеспечивает простой интерфейс для конфигурации, сбора и обзора данных трассировки. Более трехсот полезных точек трассировки предопределены, включая прерывания, системные вызовы и многое другое. Новые точки трассировки могут быть добавлены к любому символу ядра без компиляции и перегрузки системы. Все точки трассировки могут быть активизированы и деактивизированы во время работы системы и, т.к. только активные точки трассировки действительно представлены в ядре, вмешательство в систему минимизировано.
Рисунок 2. Окно результатов Kptrace
Кроме того, дистрибутив включает в себя большое количество полезных плагинов от сторонних производителей, таких как:
Remote System Explorer (RSE) –набор инструментов, который позволяет соединяться и работать с различными удаленными системами. С предопределенными плагинами вы можете видеть удаленные файловые системы, пересылать файлы, выполнять удаленный поиск, выполнять команды и работать с процессами.
Mylyn – подсистема управления заданиями. Mylyn динамически подстраивает интерфейс Eclipse, оставляет только те элементы в дереве ресурсов, которые соответствуют в текущей задаче.
Subclipse – Subversion плагин для Eclipse.
добавляет дополнительную функциональность в контекстное меню редакторов, основанных на текстовом редакторе Eclipse, в главное меню Eclipse и панель быстрого запуска.
ColorEditor – редактор сподсветкой синтаксиса.
TimeDoctor – инструмент для визуализации выполнения трассировки задач, очередей, поведение кэша и т.д. Первоначально он был нацелен на встроенные медиапроцессоры для анализа аудио/видео потоковых приложений, но имеет и другие применения.
ECalc – плагин, позволяющий работать с математическими выражениями.
EHEP – плагин, позволяющий просматривать или редактировать любые файлы в hex режиме.
STWorkbench можно использовать с уже существующими программными проектами. IDE лишь добавляет небольшие служебные файлы в дерево проекта, а для компиляции используется исходный набор мэйкфалов (makefiles).
STWorkbench имеет интуитивно понятный интерфейс, позволяющий даже новичкам без труда освоить методы отладки, а возможность отладки одновременно ядра Linux и пользовательского приложения делает его незаменимым инструментом и для опытных программистов.