Система MCStudio представляет собой интегрированную среду (IDE) разработки и отладки программного обеспечения для изделий, построенных на базе сигнальных процессоров «Мультикор». MCStudio функционирует на персональном компьютере под операционной системой Windows XP.
Интегрированная среда проектирования включает:
средства разработки программ для CPU- и DSP-ядер;
средства отладки программ в исходных текстах, исполняемых на программном симуляторе;
отладчик для работы с платами отладочных модулей или целевым устройством через USB-JTAG эмулятор.
Средства разработки программ для CPU-ядра содержат:
компилятор с языка Си с препроцессором;
ассемблер с препроцессором;
дисассемблер;
линковщик;
библиотекарь;
утилиты подготовки исполняемого кода.
Средства разработки программ для DSP-ядра включают:
ассемблер с препроцессором;
дисассемблер;
линковщик;
библиотекарь;
утилиты подготовки исполняемого кода.
Среда MCStudio обеспечивает:
создание проекта программы;
ввод и редактирование текстов программы;
компиляцию файлов и компоновку программы;
диагностику и визуальную локализацию синтаксических ошибок;
подготовку образа памяти для загрузки в целевое устройство;
возможность доступа пользователю ко всем инструментам через один интерфейс;
загрузку программ в модель памяти симулятора ИМС серии «Мультикор»;
задание точек останова программы по адресу или по строке текста программы;
запуск программы;
исполнение программы до точки останова или по шагам;
получение сообщений об остановках и завершении программ;
чтение данных из памяти симулятора по адресу или символическому имени переменной при остановах программы;
чтение и запись данных из регистров ИМС серии «Мультикор»;
чтение/запись блоков данных в память ИМС серии «Мультикор».
На рисунке ниже изображен общий вид среды MCStudio 2, включая окна редактора кода программы, окно точек наблюдения, окно вывода видеоизображения и окно DSP-ядра.
Все модули и файлы проекта MCStudio отображаются в окне проекта в виде структурированного дерева.
В режиме отладки проекта в среде MCStudio существует возможность просмотра (и изменения) содержимого всех регистров и ячеек памяти ИМС «Мультикор». Кроме того, для просмотра доступны стек вызова функций, окно TLB и кэш команд ядра CPU.
Окно вывода видеоизображения, входящее в состав отладочных окон, позволяет отображать данные в трех режимах:
режим консоли осуществляет вывод на экран символов ASCI из указанного буфера (или порта ввода-вывода);
режим изображения осуществляет вывод на экран области памяти в виде растрового изображения с возможностью настройки разрядности цвета и разрешения экрана;
режим визуализации массива позволяет вывести на экран данные в виде графика.
Для оценки эффективности программного продукта в среде существует механизм профилирования. Этот механизм позволяет измерить время исполнения того или иного блока программы и производительность процессора на этом блоке.
При работе с проектом пользователь может настроить по своему усмотрению сегменты внешней памяти — их адреса, тип, размер и число тактов задержки.
Таблица адресов загрузки секций программы и данных проекта в симулятор также имеет гибкую систему настройки.
Для удобства отладки механизмов взаимодействия микросхем «Мультикор» с внешними устройствами, подключаемыми к портам ввода-вывода, в MCStudio предусмотрена возможность связи симулятора с динамической библиотекой (DLL) модели внешнего устройства. Подобная библиотека, разрабатываемая пользователем MCStudio, может включать в себя весь необходимый функционал целевого устройства и осуществлять полноценные обмены с портами ввода-вывода симулятора. Кроме того, есть возможность программной симуляции соединения портов в режиме «петли». Например, соединив, таким образом, порты LPort0 и LPort1, выходные данные одного порта станут входными для другого.
Также предусмотрена работа MCS в режиме эмулятора. В этом режиме ПО загружается и исполняется на отладочном модуле, подключенном к PC через порт LPT. Для отладки используется стандартный интерфейс JTAG.
При работе в режиме эмулятора пользователю доступны те же инструменты отображения и отладки, что и при работе с программным симулятором.
На данный момент успешно завершено портирование ядра Linux 2.6 на сигнальные процессоры «Мультикор», а также ядра ОС жесткого реального времени QNX 6.3 (Neutrino). Cоздаются специальные прикладные библиотеки, оптимизированные для ИМС серии «Мультикор».
В рамках демонстрационных проектов реализованы: базовый набор X-клиентов, включая клиентов, использующих OpenGL, демонстрирующий проведение вычислений на ИМС серии «Мультикор» с отображением результатов в сложной визуальной форме на другой вычислительной системе (по сути — демонстрация возможностей X-протокола), доступный через сеть. В данном случае это — РРР-туннель, надстроенный над асинхронным последовательным портом. Также реализован веб-сервер thttpd, обслуживавший статические запросы.
В рамках тестирования вычислительной производительности разработаны стандартные тесты для OpenSSL, а также тесты на производительность процедур сжатия и распаковки случайной информации стандартными алгоритмами, реализуемыми утилитами gzip и bzip2.