WindPower ICE — средства отладки программного обеспечения систем на кристалле
Современные цифровые системы на кристалле (SoC) все более усложняются. Производители стали включать в состав таких устройств процессорное ядро. В качестве примера можно привести ПЛИС FPGA Xilinx Virtex-II Pro, содержащую процессорное ядро с архитектурой PowerPC, или Altera Excalibur, содержащую процессорное ядро ARM. Для отладки программного обеспечения таких устройств можно применять те же средства разработки, что и для микропроцессоров этих архитектур, но есть некоторые нюансы, требующие внимания.
Одним из наиболее распространенных стандартных отладочных интерфейсов является JTAG (Joint Test Action Group) — стандарт IEEE 1149.1. Для отладки программного обеспечения встраиваемых микропроцессоров обычно применяют JTAG-эмуляторы, которые подключаются котладочному JTAG-порту микропроцессора. Через эмулятор отладчик получает доступ к внутренним устройствам микропроцессора, расположенным на кристалле, и внешним устройствам, расположенным на плате. В качестве примера можно привести JTAG-эмулятор visionICE производства компании Wind River, схема включения которого приведена на рис. 1.
Обычно JTAG-эмуляторы являются приборами «monocore», что означает доступ только к одному JTAG-устройству. Если на плате расположено несколько устройств, к которым необходимо иметь доступ по JTAG-порту, то их порты должны быть выведены отдельно и к каждому из них должен быть подключен отдельный эмулятор (рис. 2).
А как быть в случае системы-на-кристалле? Ведь в них все JTAG-устройства соединены последовательно в цепочку сканирования, и цепочка выведена на единственный JTAG-порт. В этом случае применяют эмуляторы «multicore», которые позволяют средствам разработки иметь доступ к любому устройству, включенному в цепочку сканирования, и вести программирование и отладку нескольких JTAG-устройств одновременно (рис. 3).
Multicore JTAG-эмулятор WindPower ICE производства компании Wind River (www.embedded32.ru) предназначен для разработки ПО систем-на-кристалле имультипроцессорных плат. Он позволяет вести одновременную отладку до 8 устройств, соединенных одной цепочкой сканирования JTAG. Это могут быть разные устройства: CPU различной архитектуры, DSP или FPGA; они могут находиться как на плате, так и в системе-на-кристалле. Через WindPower ICE можно загружать FPGA, программировать CPLD и управлять любым устройством, включенным в цепочку сканирования. WindPower ICE подключается к локальной сети и может использоваться группой разработчиков.
WindPower ICE предназначен для применения совместно с интегрированной средой разработки WindPower IDE (рис. 4).
В состав WindPower IDE входят:
- C/C++ компилятор Diab;
- отладчик уровня исходного языка;
- симулятор системы команд (ISS — Instruction Set Simulator);
- текстовый редактор;
- графический браузер таблицы символов;
- менеджер проекта.
Multicore JTAG-эмулятор WindPower ICE иинтегрированная среда разработки WindPower IDE поддерживают микропроцессорные архитектуры PowerPC, ARM и MIPS, наиболее часто иcпользуемые в качестве процессорного ядра программируемых систем-на-кристалле.