Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка программно-аппаратного комплекса для JTAG тестирования (магистерская диссертация) / Разработка программно-аппаратного комплекса для JTAG тестирования. Алексан П.А. А-13-08.doc
Скачиваний:
192
Добавлен:
28.06.2014
Размер:
2.86 Mб
Скачать

2.3 Программная часть комплекса jtag тестирования.

Приведем основные этапы на пути к разработке программной части комплекса.

  • Выбор программной базы;

  • Адаптация к аппаратной составляющей;

  • Тестирование;

  • Реализация окружения для возможности написание скриптов на языке более высокого уровня;

Первым этапом на пути реализации программной части комплекса является выбор метода доступа к JTAG адаптеру. Здесь существует несколько подходов. Первым из них можно рассмотреть создание полностью нового ПО, однако данный вариант достаточно трудоемок, если учитывать тот факт, что он будет включать в себя реализацию не только программной базы, но и библиотек, с помощью которых будет осуществляться связь между Rasberry Pi и JTAG адаптером. Вторым подходом является использование уже готовых библиотек и создание на их базе программного обеспечения. Данный вариант уже менее трудоемок, однако все равно не подходит по ряду объективных причин. В связи с этим третьим вариантом будет использование готового решения. То есть при выборе готового решения мы получим стабильную версию ПО. Главным требованием к готовому ПО является открытость исходного кода, что позволяет, при необходимости, осуществлять поддержку и исправлять ошибки в нем.

После выбора программной базы необходимо установить, насколько возможно адаптировать его к той или иной аппаратной конфигурации. То есть необходимо понимать, что при тестировании различных СБИС возможно использование различных отладочных адаптеров. Из этого следует требование к адаптируемости программной базы к различным отладочным адаптерам. Так же, помимо адаптеров, стоит учитывать и требование к кросс-платформенности ПО, поскольку разработанная система может использоваться не только в рамках разрабатываемого программно-аппаратного комплекса, но и просто в связке с обычным персональным компьютером (ПК), на котором может стоять совершенно другая ОС.

Тестирование. На данном этапе необходимо произвести тестирование базовых функций выбранной конфигурации ПО, начиная от распознавания отладочного адаптера и заканчивая тестированием одного или нескольких блоков на СБИС. Результатом данного этапа будет выявление особенностей ПО, степени его пригодности для дальнейшего расширения, пригодности для реализации различного рода тестов. Так же на этапе тестирования предполагается проверка свойства кросс-платформенности.

Последним этапом в рамках разработки программной части комплекса будет реализация программного окружения на языке Python, с помощью которого будет предоставлена возможность создания более совершенных тестов, чем с помощью встроенных возможностей выбранного программного обеспечения.

Далее приведем результаты исследования подходов к построению программно-аппаратного комплекса для JTAG тестирования.

Как было рассмотрено ранее, существует достаточное количество разнообразных программных и аппаратных решений, с помощью которых можно построить систему для обозначенных в диссертации целей. Опираясь на рассмотренные ранее предложения на современном рынке, можно сделать вывод, что на данный момент не существует одновременно дешевого и полноценного в плане предоставляемого функционала комплекса.

Ниже приведен список готовых программных решений для отладки СБИС через интерфейс JTAG.

  • UrJTAG

UrJTAG представляет из себя программный пакет, который позволяет работать со СБИС через адаптер JTAG.

Этот пакет имеет открытую модульную архитектуру, различными возможностями для программирования памяти и т.д. В то время как развитие openwince инструментов JTAG приостановились в 2005 году, UrJTAG начиная с 2008 года находится в стадии активного развития.

Данная система объединяет все существующие патчи для openwince инструментов, а также добавляет новые особенности (как SVF плеера и BSDL парсер) и поддержкой новых кабелей, даже на основе USB-кабеля.

  • OpenOCD

OpenOCD предоставляет инструментарий отладки (debugging), внутрисхемного программирования (in-system programming, ISP), внутрисхемного тестирования (boundary-scan testing) для встраиваемых систем (микроконтроллеров, FPGA и т. п.). OpenOCD предоставляет доступ к адаптеру для отладки (debug adapter) - маленькому аппаратному модулю, который помогает получить требуемые сигналы для отладки целевого устройства (обычно с одной стороны адаптер подключается к компьютеру через USB, а с другой стороны имеется интерфейс JTAG, через который подключено отлаживаемое устройство). Такой адаптер нужен, так как у хоста отладки (компьютер, на котором запущен OpenOCD) нет поддержки специальных сигналов и коннектора, необходимых для подключения к целевому устройству [6].

Сравнение приведенных систем приведено в таблице 3.

Таблица 3. Сравнение систем функционального JTAG тестирования СБИС

Система

Открытый исходный код

Поддержка стандартных языков программирования

Предоставление доступа к отладочному адаптеру

OpenOCD

+

+

+

UrJTAG

+

-

-

Из рассмотренных вариантов в качестве базовой системы для разрабатываемого комплекса была выбрана система OpenOCD по причине подробной документации, интернет сообщества по поддержке системы, открытости исходного кода и возможности запуска системы как на Unix-подобных системах, так и на ОС семейства Windows.

OpenOCD имеет встроенный интерпретатор языка TCL. Данный язык предлагается использовать для начального набора тестов логических блоков СБИС, а в последствии организовать программное окружение к базовой системе на языке Python, после чего перевести существующий набор тестов с языка TCL на Python. На рисунке 8 приведена графическая архитектура программной части комплекса.

Рис.8 Архитектура программной части комплекса