DASM (29.06.2005 00:50, просмотров: 1) ответил Pat на А где можно посмотреть что же это такое j-link.
Ответ: Для отладки, тестирования и программирования внутренней памяти микроконтроллеров на базе ядра ARM7 и ARM9 существуют несколько типов адаптеров, подключаемых к персональному компьютеру. Из использующих LPT порт наиболее известен Wiggler, который отличает крайняя простота и доступность повторения (по сути всего один буферный элемент), но в тоже время это - самое медленное устройство, к тому же очень часто сбоящее при работе. Альтернативой Wiggler служит Raven, также подключаемый к LPT порту. Благодаря наличию на его борту программируемой логической матрицы, для преобразования параллельного кода с LPT в последовательный для JTAG, скорость его работы выше, приблизительно в 4-5 раз. Но он не обладает достаточной гибкостью в установке рабочей частоты, поэтому, к примеру, новые микроконтроллеры фирмы Atmel (AT91SAM7xxx серия) с его помощью отладить весьма проблематично, т.к. после сброса им требуется низкая рабочая частота. Высокая цена, использование LPT и плохая поддержка производителей ПО привели к очень слабому распространению Raven в России. Другим классом JTAG адаптеров для ARM являются устройства , подключаемые по шине USB. Наиболее известны на данный момент ULINK от Keil Software и J-Link от Segger. ULINK является достаточно простым конвертером пакетов с шины USB в сигналы JTAG интерфейса. Преобразование происходит при помощи микросхемы фирмы FTDI FT2232 напрямую, никаких продуманных действий эта микросхема не выполняет. Это и обуславливает более низкую скорость работы по сравнению с J-Link. Но наиболее существенный недостаток – программная поддержка ведется только Keil Software, что вынуждает потребителя использовать продукты именно этой фирмы. Поэтому в дальнейшем речь пойдет о JTAG интерфейсе Segger J-Link, как наиболее быстром, распространенном и надежном средстве отладки. Итак, вкратце, J-Link – устройство в небольшом корпусе, с одной стороны которого расположен USB разъем для подключения к ПК, а с другой – 20-ти штырьковый коннектор, с рекомендуемым компанией ARM расположением выводов. Кроме элементов, осуществляющих электрическое согласование, J-Link содержит микроконтроллер со встроенным USB портом. Наличие процессора позволяет достигнуть высокой скорости работы и удобств, отсутствующих в устройствах аналогичного назначения. Питание J-Link осуществляется от шины USB. Перечислю основные аппаратные возможности J-Link:
1. Интерфейс USB (USB 2.0, full speed)
2. Напряжение питания подключаемого процессора 1.8..3.3 вольта
3. Поддержка ядер ARM7 и ARM9, включая THUMB режим
4. Возможность отладки сразу нескольких ARM контроллеров, включенных в цепочку
5. Скорость загрузки до 35-40 кБайт в секунду (проверял на LPC21xx и LPC22xx сериях от Philips, AT91SAM7S64 (Atmel), TMS470(Texas Instruments)
6. Автоматическое определение скорости работы (часто необходимо при работе с медленными ядрами до включения цепей ФАПЧ)
7. Возможность мониторинга и изменения всех цепей JTAG , а также напряжения питания отлаживаемого изделия
8. Полная совместимость со стандартом plug and play
9. Бесплатный TCP/IP сервер, возможность удаленной отладки (перепрошивки)
10. Поддерживаемые системы Windows 2000/XP
Из средств программной разработки, поддерживающих J-Link выделю <b>IAR Embedded Workbench</b> и <b>CrossWorks</b>, имеющих встроенную поддержку J-Link. Кроме того, существует программный «мост» между J-Link и разработанным компанией ARM отладочным интерфейсом RDI. Последнее даёт уникальную возможность использовать такие известные средства разработки как <b>ADS </b> (c отладчиком AXD), <b>RealView</b> (активно рекомендуется самой ARM), </b>Multi от Green Hills. Такой широкий спектр поддерживаемого программного обеспечения недоступен остальным JTAG адаптерам.
Также существует программы из комплекта поддержки J-Link, дающие интересную и очень полезную возможность – ставить точки останова (breakpoints) во Flash памяти конечного устройства. Напомню, ядро ARM7 поддерживает только две аппаратных точки останова, что сильно затрудняет отладку во Flash памяти. Принцип работы весьма простой – программа перепрошивает нужный сектор памяти устройства «на лету», оставляя в нем необходимые отладочные точки. По окончания работы сектор, естественно, возвращается в исходное состояние. Все это происходит весьма быстро и прозрачно для пользователя.
Заслуживает также внимание и утилита J-Flash, пользуюсь которой можно «прошить» не только встроенную в микроконтроллер flash память, но и внешнюю, подключенную по внешней шине.