gnICE Печать
Добавил(а) microsin   

gnICE это быстрый и недорогой внутрисхемный эмулятор JTAG, подключаемый через USB, для процессоров Blackfin компании Analog Devices. Он был разработан для надежной отладки через JTAG и программирования NOR Flash (с использованием CFI) через USB. Адаптер gnICE JTAG имеет открытую аппаратуру (Open Source Hardware), основанную на чипе FT2232 компании FTDI. См. также gnICE+ [2].

gnICE

Особенности адаптера:

• Интерфейс USB 2.0 Full Speed
• Тактовая частота JTAG (TCK) 6 МГц
• Светодиод, отображающий состояние соединения (Link Status LED)

Поддерживаемые операционные системы для хоста отладки:

• Linux (любой дистрибутив)
• Mac OS X
• Windows 2000 или более новая версия

Примечание: gnICE не поддерживает работу в VisualDSP компании Analog Devices.

Необходимое программное обеспечение, с которым работает эмулятор: Blackfin toolchain [3].

Здесь описывается установка только под Windows, описания установки под Linux и Mac OS X см. в [3].

Blackfin toolchain можно скачать с sourceforge.net, ключевые слова для поиска blackfin-toolchain-win32 Blackfin site:sourceforge.net. Также можно пройти по ссылке для загрузки, которую можно найти на страничке [3]. В списке папок пакетов выберите самую свежую (на дате 170216 это была папка 2014R1 -> 2014R1_45-RC2) файл для загрузки будет называться наподобие blackfin-toolchain-win32-(version).exe (я скачал blackfin-toolchain-win32-2014R1_45.exe).

Файлы, в имя которых входит .src., это пакеты исходного кода, которые включают весь исходный код, используемый для сборки двоичных пакетов. Windows GNU/Blackfin toolchain включает полный инструментарий для сборки встраиваемых приложений (bare metal applications, bfin-elf-) и полный комплект для сборки приложений Linux fdpic. Если Вы не понимаете разницу, то см. [4].

Инсталлятор Windows чрезвычайно простой, он запрашивает только место, куда записать корневую папку (по умолчанию это папка наподобие c:\Program Files\Analog Devices\GNU Toolchain\2014R1_45\), и куда поместить ярлыки. Инсталлятор добавит директорию инсталляции в пути поиска по умолчанию (переменная окружения PATH), чтобы можно было запускать утилиты тулчейна из любого каталога диска.

В установку входят только утилиты командной строки, т. е. графической оболочки IDE нету. Вопрос Вашего выбора, какую оболочку использовать (рассмотрите в качестве этого Eclipse [5]), или используйте то, что Вам больше нравится. Единственное требования к оболочке - она должна поддерживать запуск сторонних компиляторов.

Если у Вас еще не установлена Eclipse 4.2 (Juno), то здесь Вы найдете информацию, как это следать. Если же Eclipse уже установлен, но она более старой версии, то информация здесь также может пригодиться. Менеджер обновления Eclipse (update manager) работает только для добавляемых плагинов (add-on plug-ins), но не для всей основной системы IDE. Так что обновление от одной версии до другой обычно заключается в полной переустановке.

Чтобы работать в Eclipse над проектами для процессоров Blackfin, понадобится следующее:

• Среда запуска приложений Java (Java Runtime Environment, JRE) версии 1.6 или более новой версии.
• Eclipse IDDE (рекомендуется версия 4.2).
• Инструментарий разработки C/C++ (C/C++ Development Tools, CDT).
• Инструментарий для Blackfin (toolchain [3]).
• Плагины для Blackfin.

[Проверка версии Java (JRE)]

На большинстве Windows-систем JRE уже установлена. Обычно она находится в каталоге C:\Program Files\Java (на моей Windows XP она находится в папке c:\Program Files\Java\jdk8u5\jre\). Если у Вас нет установленной Java, то посетите страничку Eclipse JRE [9] для получения дополнительной информации о том, как получить Java (обычно последнюю версию JRE можно скачать с сайта Oracle [10]).

Как проверить установленную версию JRE:

C:\> java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)

[Eclipse IDDE]

Для установки Eclipse нет исполняемых инсталляторов (*.exe). Распространяемый пакет это просто zip-архив, который Вы можете распаковать в любое место на диске, какое захотите, после чего просто запустите программу eclipse.exe, которая находится в подкаталоге eclipse.

Чтобы получить инсталлятор, посетите страничку загрузки Eclipse [9].

Важно: если Вы хотите использовать плагины для Blackfin, то рекомендуется установить Eclipse версии Indigo (3.7) или более свежую (например Juno 4.2).

Для загрузки Вам будет предложено множество вариантов. Единственная разница между ними заключается в составе поставляемым вместе с ними по умолчанию набора плагинов. Поскольку Вы скорее всего хотите компилировать/отлаживать код для процессора Blackfin, то должны выбрать Eclipse IDE for C/C++ Developers. Другие варианты установки Eclipse также будут хорошо работать, но тогда Вам понадобится установить CDT вручную, самостоятельно. Для получения дополнительной информации по установке CDT посетите страничку CDT wiki. Ниже даны ссылки для загрузки Eclipse IDE for C/C++ Developers.

Как найти нужный пакет Eclipse: зайдите на главную страницу eclipse.org, нажмите на кнопку Download (находится справа вверху на странице), найдите неприметную ссылку Download Packages, кликните на неё. Откроется список сборок Eclipse, найдите в этом списке Eclipse IDE for C/C++ Developers, и выберите нужную версию пакета (Windows 32 bit или Windows 64 bit), см. скриншот.

Blackfin Eclipse select build package C Cpp Developers

[Плагины Blackfin]

Плагины для Blackfin требуют наличия как Eclipse 4.2, так и CDT. Дополнительно Вам нужно установить GDB Hardware Debugging CDT plug-in (обычно по умолчанию он не установлен). Для установки GDB Hardware Debugging plug-in нужно разрешить обновления для CDT (CDT update site). Для этого выполните следующее:

1. В меню Eclipse выберите Window -> Preferences.
2. Выберите Install/Update -> Available Software Sites и выберите сайт http://download.eclipse.org/tools/cdt/releases/juno.
3. Используйте кнопку Enable для разрешения сайта.

Blackfin Eclipse CDT enable

Примечание: в новых версиях Eclipse возможно CDT уже установлен. В этом случае достаточно на шаге 2 проверить, что в списке сайтов присутствует CDT (например для Eclipse Neon это сайт http://download.eclipse.org/tools/cdt/releases/9.2), и что этот сайт разрешен.

Установка GDB Hardware Debugging plug-in через Update Manager:

1. Выберите в меню Eclipse пункт Help -> Install New Software.
2. Выберите сайт http://download.eclipse.org/tools/cdt/releases/indigo в списке Work With.
3. Разрешите GDB Hardware Debugging plugin в настройках CDT Optional Features.

Blackfin Eclipse GDB Hardware Debugging

Плагины для Blackfin могут быть получены двумя способами:

• Из Toolchain project Eclipse Plugin:

1. Предварительно убедитесь, что у Вас установлен плагин Eclipse CDT jtag debugging.
2. Поместите файлы jar плагина в папку "eclipse/dropins/".
3. Найдите расширения Analog Device (ADI extensions) просмотром Help/About Eclipse/Installation Details/Plug-ins/.

• С сайта Eclipse с помощью Update Manager (устарело из-за миграции на sourceforge.net):

1. В меню Eclipse выберите Help -> Install New Software.
2. Кликните на кнопку Add.
3. Добавьте https://sourceforge.net/projects/adi-toolchain/files/eclipse/update_site/ в качестве нового сайта.

Blackfin Eclipse plug ins1

Затем выберите плагины для установки:

Blackfin Eclipse plug ins2

Плагин Blackfin Debug даст дополнительные выбираемые пункты в диалоге "Debug Configuration", в то время как плагин Tool chain позволяет выбирать нужный тулчейн из списка в диалоге New Project визарда.

[Другие плагины]

Zylin CDT. Eclipse C/C++ Development Tools (CDT) имеет отличную поддержку GDB. Однако есть несколько камней преткновения при попытке отладки встраиваемых приложений, для чего Zylin AS сделал некоторые модификации в Eclipse CDT для улучшения поддержки GDB embedded debugging.

Патч для update manager "Add Site": http://opensource.zylin.com/zylincdt

Subclipse (SVN). Хотя он не попал в релиз Eclipse, есть плагин Subversion, который называется Subclipse. Посетите его домашнюю страничку для получения кратких подсказок по установке. После того, как Subclipse установлен, у него окажется такой же интерфейс, как и у плагина CVS.

Target Management Terminal. Это ANSI-совместимый (vt102) терминал, включая плагины для соединений Serial, SSH и Telnet.

Blackfin Eclipse Target Management Terminal plug in

Его можно найти среди сайтов инсталляции по умолчанию. Просмотрите:

Mobile and Device Development
  Target Management Terminal
Target Management Terminal
  Target Management Terminal Serial Connector
  Target Management Terminal SSH Connector
  Target Management Terminal Telnet Connector
  Target Management Terminal View
  Target Management Terminal Widget

Target Management Terminal Serial Connector требует RXTX (http://rxtx.qbang.org/wiki/index.php/Main_Page).

Инсталляция как плагина Eclipse через Update Manager: в меню Eclipse, выберите Help -> Software Updates..., Add New Remote Site:

     Name = RXTX
     URL  = http://rxtx.qbang.org/eclipse/    

Завершите выбором подходящей версии, затем кликните Install All.

Библиотеки программирования основаны на ядре Blackfin/Linux [3].

[Схема]

gnICE1 0 sch

Для интерфейса используется чип FT2232L, но с таким же успехом подойдет и FT2232H. Схема подключения к JTAG простая, так что можно сделать gnICE самому на макетной плате FT2232H Board [8]. При разработке своего интерфейса JTAG см. рекомендации в документе EE-68 [6], который можно найти на сайте Analog Devices.

Сигнал JTAG Ножка чипа FT2232 Тип Описание
TDI ADBUS1 Выход Test Data Input, данные, передаваемые в процессор Blackfin.
TMS ADBUS3 Test Mode Select, выбор режима тестирования.
TCK ADBUS0 Test Clock, такты тестирования.
~TRST ACBUS1 Test Reset, сброс логики тестирования.
TDO ADBUS2 Вход Test Data Out, данные тестирования отлаживаемого устройства.
~EMU ADBUS5 Флаг входа в режим эмуляции (отладки).

Примечание: в столбце "Тип" таблицы показано направление работы выводов JTAG-адаптера gnICE. Соответственно у чипа, к которому будет подключен этот JTAG, направление одноименных выводов будет противоположным (вход адаптера подключается к выходу чипа, и наоборот).

[Словарик]

CFI Common Flash Memory Interface, открытый интерфейс подключения, разработанный совместно компаниями AMD, Intel, Sharp и Fujitsu. Он реализуем для всех вендоров памяти flash, и одобрен non-volatile-memory subcommittee of JEDEC. Достоинство стандарта - взаимозаменяемость устройств памяти flash, предоставленных разными производителями. Разработчик может использовать один драйвер для разных продуктов flash путем чтения идентифицирующей информации из чипа памяти flash.

Каждое устройство памяти flash содержит в себе следующую информацию: объем памяти, конфигурация байта и слова, конфигурация блока, данные напряжения и интервалов времени.

Стандарт предоставляет несколько удобных опций. Информация об устройствах памяти может отсутствовать, или она может быть очень малой, при этом она может храниться в таблицах системного программного обеспечения. Благодаря этому можно использовать недорогие устройства памяти flash, какие имеются в наличии, без необходимости переписывать системное программное обеспечение. Адаптация текущего программного обеспечения становится проще, и намного ускоряется по сравнению с тем, что было раньше. Поддержка CFI реализована в FreeBSD.

NAND flash, NOR flash технологии организации массивов энергонезависимой памяти FLASH (подробнее см. Википедию).

[Ссылки]

1. Blackfin gnICE site:uclinux.org.
2. Blackfin gnICE+ site:uclinux.org.
3. Installing the Blackfin Toolchain site:uclinux.org.
4. Blackfin Toolchain Targets site:uclinux.org.
5. Eclipse site:uclinux.org.
6. Техническое описание интерфейса эмуляции JTAG Analog Devices.
7. ADSP-BF538: внутрисхемное тестирование через JTAG.
8. FT2232H Board - макетная плата на высокоскоростном чипе моста USB фирмы FTDI.
9. Eclipse Desktop IDEs site:eclipse.org.
10. Java SE Runtime Environment Downloads site:oracle.com.