реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> JTAG для RM9200, вопрос знатокам JTAGa
Demeny
сообщение Dec 26 2006, 10:01
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 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 ...) ?


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
etoja
сообщение Dec 26 2006, 10:13
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



1. Сигнал TDO подтянуть к питанию процессора резистором 2к...10к
2. От сигнала TDO к земле поставить чип-конденсатор 100pF...300pF
3. Убедиться, что оба сигнала сброса SRST и TRST поступают от Вигглера к процессору.
Go to the top of the page
 
+Quote Post
Demeny
сообщение Dec 26 2006, 10:23
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 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). Всё верно ?


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 26 2006, 10:42
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 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
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Dec 26 2006, 10:48
Сообщение #5


Дух погибшего транзистора
****

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



Что-то у меня в cw1.6 например нет файла XXX_target.js для rm9200, да собственно в таргетах такой не обозначен. В этом файлике как раз и описывается скрипт инициализации CPU при коннекте по jtag. Может я не прав но наверно он не должен совпадать с таковым от процессора 7s64. Наверно вам придется написать собственный скриптик для инициализации. Данные для него наверно можно взять из файлов проектов для jflash. Нужные вам данные в секции CPU, под InitStepX_Value0 понимаются адреса прописываемых регистров, InitStepX_Value1 понимаются значения прописывающиеся в эти регистры.

Если удастся запустить отладку обязательно поделитесь.
Прикрепленные файлы
Прикрепленный файл  AT91RM9200_jflash.rar ( 2.33 килобайт ) Кол-во скачиваний: 46
 


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
Старый Бабай
сообщение Dec 26 2006, 11:01
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 104
Регистрация: 5-12-05
Из: Екатеринбург
Пользователь №: 11 823



может я и чущь говорю но посмотри
Target - Debug Interface Type
иногда значения слетают
должно быть ARM9TDI
Go to the top of the page
 
+Quote Post
etoja
сообщение Dec 26 2006, 11:49
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



SRST - сброс процессора активным низким уровнем.
Go to the top of the page
 
+Quote Post
Dopler
сообщение Dec 26 2006, 21:06
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Наверное, можно установить H-JTAG и попробовать определить чип им.
Go to the top of the page
 
+Quote Post
Demeny
сообщение Dec 27 2006, 15:26
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 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"
Удивился, ещё раз внимательно посмотрел, тот ли процессор запаял на плату blink.gif , тот -- AT91RM9200 QU-002.
iosifk
Вашу программу тоже пробовал запустить, попытался настроить там все маски - неудачно, не считывается даже ID Code, наверное, я ещё мало понимаю в JTAG, буду пробовать разобраться и напишу Вам в личку, м. б. после Нового Года.
Кстати, всех santa2.gif


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
Dainis
сообщение Dec 27 2006, 17:04
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 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=
Go to the top of the page
 
+Quote Post
Demeny
сообщение Dec 28 2006, 09:09
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 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 считывает совершенно другое значение ?


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 04:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01445 секунд с 7
ELECTRONIX ©2004-2016