|
|
  |
JTAG для RM9200, вопрос знатокам JTAGa |
|
|
|
Dec 26 2006, 10:01
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Собрал отладочную плату для RM9200, подключил Wiggler (который точно работал у меня с SAM7S64 в среде CrossWorks). А теперь CrossWorks не видит мой RM9200, пишет, что "Target not defined". Запустил программку для тестирования LPT Analyzer, пощелкал всеми выходами порта, посмотрел вход (нога 11 на LPT) - вся логика работает правильно, сигналы доходят до ножек процессора. Запускаю в CrossWorks - "Connect" - все выходы начинают мигать - и самое главное - процессор что-то отвечает по линии TDO, ибо в LPT Analyzer-e видно, что вход 11 "моргает". Ставил самый медленный режим обмена (Divider=255). И тем не менее - "Target not defined!". С чего начать отладку JTAG? Какую команду можно "заслать" в процессор по JTAG-у, что называется, вручную, щелкая портами на LPT, чтобы получить от него что-то вразумительное? Может, есть какая прога, чтобы посмотреть "сырой" обмен по JTAG ? Какие необходимые условия правильности сборки надо проверить (PLL, CLK ...) ?
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Dec 26 2006, 10:23
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Цитата(etoja @ Dec 26 2006, 10:13)  1. Сигнал TDO подтянуть к питанию процессора резистором 2к...10к Все сигналы JTAG подтянуты на 3.3 вольта резисторами 10к. Цитата(etoja @ Dec 26 2006, 10:13)  2. От сигнала TDO к земле поставить чип-конденсатор 100pF...300pF Попробую. Цитата(etoja @ Dec 26 2006, 10:13)  3. Убедиться, что оба сигнала сброса SRST и TRST поступают от Вигглера к процессору. Поступают. TRST от ноги 6 LPT, SRST от инвертированной ноги 2 LPT, через трехвольтовые буфера, естественно. SRST - это глобальный ресет процессора(нога 115). Всё верно ?
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Dec 26 2006, 10:42
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Demeny @ Dec 26 2006, 10:01)  С чего начать отладку JTAG? Какую команду можно "заслать" в процессор по JTAG-у, что называется, вручную, щелкая портами на LPT, чтобы получить от него что-то вразумительное? Может, есть какая прога, чтобы посмотреть "сырой" обмен по JTAG ? Какие необходимые условия правильности сборки надо проверить (PLL, CLK ...) ? Есть программа Universal Scan. Правда она работает с адаптерами Альтера-Ксайлинкс. Через эти адаптеры можно прочесть ID микросхемы. Если стоит софт Ксайлинкса, то там есть режим проверки JTAG, но он тоже требует своих адаптеров. У меня на сайте есть программка в разделе о JTAG. Там можно сделать настройку под аппаратный адаптер, но я еще с Вигглером ее не проверял. Тем не менее, можно ее запустить, установить любой тип адаптера и посмотреть Лог. Ну а потом хоть и вручную выдать такие же воздействия. Или если хотите, пришлите мне конкретное описание Вашего адаптера - что на каком бите порта сидит, а я отошлю Вам Лог. Присылать лучше в "Личку" или на iosifk@eltech.spb.ru И еще надо Вам посмотреть BSDL-файл на данный микроконтроллер, чтобы знать код команды чтения ID. И еще - сигналы сброса - STRST и TRST должны быть сняты. Я пробовал на BlackFin и до тех пор пока не поставил TRST в 1, те в неактивное состояние - ID не читалось. Удачи.
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Dec 26 2006, 10:48
|

Дух погибшего транзистора
   
Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288

|
Что-то у меня в cw1.6 например нет файла XXX_target.js для rm9200, да собственно в таргетах такой не обозначен. В этом файлике как раз и описывается скрипт инициализации CPU при коннекте по jtag. Может я не прав но наверно он не должен совпадать с таковым от процессора 7s64. Наверно вам придется написать собственный скриптик для инициализации. Данные для него наверно можно взять из файлов проектов для jflash. Нужные вам данные в секции CPU, под InitStepX_Value0 понимаются адреса прописываемых регистров, InitStepX_Value1 понимаются значения прописывающиеся в эти регистры. Если удастся запустить отладку обязательно поделитесь.
--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
|
|
|
|
|
Dec 27 2006, 15:26
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Цитата(SpiritDance @ Dec 26 2006, 10:48)  Что-то у меня в cw1.6 например нет файла XXX_target.js для rm9200, да собственно в таргетах такой не обозначен. Странно, у меня cw1.5 - и там в таргетах есть RM9200. Но суть уже не в этом. Продолжил запускать JTAG... Цитата(Dopler @ Dec 26 2006, 21:06)  Наверное, можно установить H-JTAG и попробовать определить чип им. Установил H-JTAG, он выдает сообщение "Unable to find target.....", однако интересная вещь - на картинке под надписью "Unknown" рисует число 0x008D5EB0, я так понимаю, что это ID Code процессора, верно ? Причем число считывается устойчиво от раза к разу, не меняясь (а то мало ли сбой...) Однако даташит вещает "ID Code value is 0x15b0203f" Удивился, ещё раз внимательно посмотрел, тот ли процессор запаял на плату  , тот -- AT91RM9200 QU-002. iosifkВашу программу тоже пробовал запустить, попытался настроить там все маски - неудачно, не считывается даже ID Code, наверное, я ещё мало понимаю в JTAG, буду пробовать разобраться и напишу Вам в личку, м. б. после Нового Года. Кстати, всех
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Dec 27 2006, 17:04
|
Местный
  
Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154

|
Embedded ICE mode is selected when JTAGSEL is low. It is not possible to switch directly between ICE and JTAG operations. A chip reset must be performed (NRST and NTRST) after JTAGSEL is changed. The test reset input to the embedded ICE (NTRST) is provided separately to facilitate debug of the boot program. http://electronix.ru/forum/index.php?showtopic=25279&hl=
|
|
|
|
|
Dec 28 2006, 09:09
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Цитата(Dainis @ Dec 27 2006, 17:04)  Embedded ICE mode is selected when JTAGSEL is low. It is not possible to switch directly between ICE and JTAG operations. A chip reset must be performed (NRST and NTRST) after JTAGSEL is changed. The test reset input to the embedded ICE (NTRST) is provided separately to facilitate debug of the boot program. http://electronix.ru/forum/index.php?showtopic=25279&hl=Спасибо, удалось правильно опознать AT91RM9200. Дело было именно в пине JTAGSEL, после перевода джампера в положение JTAGSEL=0 процессор стал правильно опознаваться и сервером H-JTAG, и средой CrossWorks 1.5 Читая даташит на RM9200, я не сомневался, что используя Wiggler, мы используем интерфейс JTAG, поэтому даже и подумать не мог, что требуется Embedded ICE. Однако вопрос знатокам JTAGa остался открытым. Ведь в даташите указаны ID для обоих положений JTAGSEL Цитата ID Code value is 0x15b0203f (JTAGSEL is HIGH) ID Code value is 0x05b0203f (JTAGSEL is LOW) Различие всего в 1 бите. Почему же при JTAGSEL=1 H-JTAG считывает совершенно другое значение ?
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|