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

 
 
> MT-Link. Первый опыт использования.
zltigo
сообщение Dec 21 2005, 20:20
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Первое, что следует отметить - MT-Link работоспособен (в определенных условиях) и адекватен своей цене. В переписке с автором на вопрос "может я хочу вернуть товар" я ответил "нет". Cдесь повторю
свой отказ еще раз :-).
Все нижеописанное изложено с целью:
1. Оградить только-только начинающих пользователей от неyжных стрессов и чрезмерных надежд.
2. самому получить совет от более опытных (в любой форме, например, дурак - поставь галочку и
больше никогда не жми эту кнопку).

Условия эксперимента:
- MT-Link с фирмварью 1.5
- Платы от Olimex LPC-E2294 и LPC-E2124
- IAR EWARM-3.40
- RDI от Seggler 2.74A
- Скорость Auto (Adaptive по информации автора на данный момент не поддерживается, что
правда не мешает штатным утилитам (только им!) от Seggler работать и при задании такого режима)
- DCC отключен (не поддерживается, хотя выбор вроде ни к чему плохому не приводит).

В процессе экспериментов произведена замена фирмвари с 1.4 (исчезли с непрогнозируемые вылеты)
и опробован рекомендованный автором откат на RDI 2.62С (сколь-нибудь заметных отличий не обнаружено, остался на 2.74A)

На автомате выбиралась скорость 1000kHz. Не было проблем и при ручном задании 1333kHz,
но при 1600kHz уже неработоспособен.

Теперь о менее приятном:

1. Со встроенной в IAR поддержкой J-Link, MT-Link можно считать неработоспособен :-(
Загрузка Flash идет нормально, можно после запуска пошагово походить, но при попытке
дойти до поставленного брейпойнта гарантированная потеря/блокировка прерываний и
как следствие зацикливание на вечном ожидании.

2. C Seggler-овским RDI картина стала нормальной - грузится, шьтеся (и встроенными в IAR и Seggler),
шагает, отрабатывает брейкпойнты. Все это, правда, при одном условии - используются софтовые брейпойнты. C железными есть проблема - не может при пошаговом исполнении отловить выход по
двум веткам. Ругается на невозможность поставить брейкпойнт (второй). При этом при работе со
штатной поддержкой IAR такие места трассируются без всяких проблем.

3. При выключении питания объекта изредка наблюдается зависание MT-Link требующее
и его выключения / включения (автор обещал помудрить с Watchdog).

4. MT-Link не работает (выкинуть стабилизатор 3.3V была не хорошая идея) на длинных USB кабелях и через пассивные хабы. Уже при дополнительном удлиннителе в 3m появляется сообщение о повышенном до 3.6V уровне питанияи опорное для ADC тоже прямо от 3.3) обьекта, а при более длинном начинаются сбои.

5.Может я чего не понимаю, и все "так и должно быть", но при нажатии "reset" на объекте не происходит отлавливание сего факта (catch exceptions reset активирован), зато для начала
вызывает вопль "Bad JTAG communications" после чего следует еще масса messagebox
WinRDI read {r0..r14} failed. Искусственно созданный факт data exception тоже отловить не удалось.


Вроде пока все.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
9 страниц V  < 1 2 3 4 5 > »   
Start new topic
Ответов (30 - 44)
DASM
сообщение Dec 26 2005, 12:46
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Цитата(zltigo @ Dec 26 2005, 13:21) *
Цитата(Velund @ Dec 26 2005, 11:19) *

Вот у меня полный снос всего иаровского, очистка реестра от всех следов, переустановка ev 4.30A, доставка на него апдейта компилятора от полного, вылизывание всего что можно - не вылечили эту беду.

Дело похоже не в железе, а в самом отладчике. Но на него апдейтов пока не видать...

Зато MISRA с радостью вывалила почти 55 тысяч ошибок на проект... w00t.gif

1. А с RDI все в порядке? У меня на самом деле вылечилось не до конца - таймер работает почти всегда, а вот уже UART - реже. Дальше - хуже...
Дело достаточно темное и комплексное - больше всего похоже на какие-нибудь временные
нестыковки в которых виноваты оба :-(. Я питаю надежды посмотреть на поведение с
адаптивной тактировкой.
Надо-бы попробовать на какой-нибудь машине типа P3-700, что-то мне моя интуиция подсказывает
попробовать. На днях поставалю. А Вы на какой пользуете?
Причем я очень сильно сомневаюсь, что с родным J-Link имеется такй-же эффект - уж больно вопиющий факт.
2. MISRA это... хотя 55тысяч наводят на размышления :-)
Я лично попробовал избавится от тысченки-другой, но довольно быстро дошел до рекомендации
не использовать функции с переменным числом аргуменотов и решил завязать с этим делом.
В любом языке диалекты придают особую прелесть языку......

C RDI тоже самое наблюдал , но вот что любопытно - прерывание таймера действительно иногда пропадает, а вот EINT - никогда. Вобщем вопрос еще нуждается в изучении.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2005, 13:43
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ Dec 26 2005, 14:46) *
C RDI тоже самое наблюдал , но вот что любопытно - прерывание таймера действительно иногда пропадает, а вот EINT - никогда. Вобщем вопрос еще нуждается в изучении.

Ага, вот и DASM заговорил :-) по данному вопросу. Главное не забрасывать вопрос!
Еще правильно будет попробовать с адаптивной тактировкой поработать.
С EINT недели через три будет на чем пробовать в полный рост на реальной железке - все четыре задействованы будут, в том числе (при наличии внешней синхронизации) и вместо таймерного.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DASM
сообщение Dec 26 2005, 14:30
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



а я завтра получу jlink и все сравню
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2005, 14:39
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ Dec 26 2005, 16:30) *
а я завтра получу jlink и все сравню

Ну и надеюсь на объективное и публичное сравнение :-)
А что, раньше не был доступен? По складу MT-Link вроде когда-то существовал
в наличии... А где доставали? А то у всех известных мне дилеров в наличии только в составе китов
из борды и компилятора, что является некоторым "перебором".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DASM
сообщение Dec 26 2005, 15:02
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Безусловно все отличия отмечу и исправлю в новом апдейте. Где что и как доставал - написал в private
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 27 2005, 14:11
Сообщение #36


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



Цитата(zltigo @ Dec 26 2005, 13:21) *
Цитата(Velund @ Dec 26 2005, 11:19) *

Вот у меня полный снос всего иаровского, очистка реестра от всех следов, переустановка ev 4.30A, доставка на него апдейта компилятора от полного, вылизывание всего что можно - не вылечили эту беду.

Дело похоже не в железе, а в самом отладчике. Но на него апдейтов пока не видать...

Зато MISRA с радостью вывалила почти 55 тысяч ошибок на проект... w00t.gif

1. А с RDI все в порядке? У меня на самом деле вылечилось не до конца - таймер работает почти всегда, а вот уже UART - реже. Дальше - хуже...


RDI лучше и шустрее грузит и верифицирует, но траблы те же.

Цитата
Дело достаточно темное и комплексное - больше всего похоже на какие-нибудь временные
нестыковки в которых виноваты оба :-(. Я питаю надежды посмотреть на поведение с
адаптивной тактировкой.


Ну этого пока нет, бм надеяться что появится когда нибудь.

Цитата
Надо-бы попробовать на какой-нибудь машине типа P3-700, что-то мне моя интуиция подсказывает
попробовать. На днях поставалю. А Вы на какой пользуете?


Два Xeon (3.06 GHz, 533 MHz FSB) на матери Asus PCH-DL, гиг оперативки.

Цитата
Причем я очень сильно сомневаюсь, что с родным J-Link имеется такй-же эффект - уж больно вопиющий факт.
2. MISRA это... хотя 55тысяч наводят на размышления :-)
Я лично попробовал избавится от тысченки-другой, но довольно быстро дошел до рекомендации
не использовать функции с переменным числом аргуменотов и решил завязать с этим делом.
В любом языке диалекты придают особую прелесть языку......


Ну там 70% на один макрос ввода-вывода ругается. Оно работает, но не нравится ей отсутствие скобок. Может позже поразбираюсь чего оно хочет...
Go to the top of the page
 
+Quote Post
vm1
сообщение Dec 27 2005, 15:13
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 978



Цитата(d__ @ Dec 26 2005, 14:17) *
Проблема RM9200 & JTAG во многом зависит от правильной настройки системы тактирования процессора, которая невнятно описана, да и глючная в настройке. Если не принимать никаких специальных мер, то отлаживаться через JTAG весьма проблематично. Тактика примерно такова: не давать управления внутреннему загрузчику, включить как мастер клок второй кварцевый генератор (10-20мгц)(вот эта часть делается весьма витиеватым способом), потом из cstartup-а вызвать low_lewel_init а в нем вызвать AT91F_init_clock c нужными значениями PLLAR & PLLBR а потом уже отдаваться в руки ИАРу. Вот при такой последовательности действий никаких проблем с зависаниями по JTAGу я не ощущаю. При этом способе действий спокойно проходит как холодный так и горячий рестарт системы...


У меня нет паралельной памяти, я работаю с загрузкой из IIC или SPI.
Что получается я не смогу JTAG использовать?

Какой JTAG Вы используете и в какой среде разработки?
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Dec 27 2005, 17:19
Сообщение #38


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Цитата
Проблема RM9200 & JTAG во многом зависит от правильной настройки системы тактирования процессора, которая невнятно описана, да и глючная в настройке. Если не принимать никаких специальных мер, то отлаживаться через JTAG весьма проблематично.

В CrossWorks + Wiggler нет никаких проблем даже без специальных мер. В скрипте сброса установил регистры клока в нужные значения и работаешь... Клок при этом настраивается любой, без ущерба для JTAG-отладки.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2005, 20:25
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Velund @ Dec 27 2005, 16:11) *
Два Xeon (3.06 GHz, 533 MHz FSB) на матери Asus PCH-DL, гиг оперативки.

Укрепили в желании попробовать на чем-нибудь стареньком.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
d__
сообщение Dec 28 2005, 10:36
Сообщение #40


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

Группа: Свой
Сообщений: 197
Регистрация: 26-08-04
Пользователь №: 548



Цитата(vm1 @ Dec 27 2005, 19:13) *
Цитата(d__ @ Dec 26 2005, 14:17) *

Проблема RM9200 & JTAG во многом зависит от правильной настройки системы тактирования процессора, которая невнятно описана, да и глючная в настройке. Если не принимать никаких специальных мер, то отлаживаться через JTAG весьма проблематично. Тактика примерно такова: не давать управления внутреннему загрузчику, включить как мастер клок второй кварцевый генератор (10-20мгц)(вот эта часть делается весьма витиеватым способом), потом из cstartup-а вызвать low_lewel_init а в нем вызвать AT91F_init_clock c нужными значениями PLLAR & PLLBR а потом уже отдаваться в руки ИАРу. Вот при такой последовательности действий никаких проблем с зависаниями по JTAGу я не ощущаю. При этом способе действий спокойно проходит как холодный так и горячий рестарт системы...


У меня нет паралельной памяти, я работаю с загрузкой из IIC или SPI.
Что получается я не смогу JTAG использовать?

Какой JTAG Вы используете и в какой среде разработки?

Я пользуюсь МТ-Линк-ом и вигглером через XJTAG.
Дело в том, что когда запускается внутренний загрузчик, он включает систему прерываний и когда происходит попытка захвата управления через JTAG, система прерываний не глушится и при первом же прерывании JTAG теряет уравление и оно снова оказывается в руках у загрузчика с самыми разнообразными полетами впоть до такого зависания, когда помогает только отключение питания...
Работаю в основнои в ИАРе и ADS12. Ну у меня как раз и этот случай, у меня из ЕЕПРОМа стартует небольшая программка, инициализирует необходимую периферию(SMC,SDRAM и проч.) и попадает в бесконечный цикл, ожидая команду, при это система прерываний заглушена. Вот тут как раз и начинаются операции с JTAGом..
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 28 2005, 10:50
Сообщение #41


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



Цитата(zltigo @ Dec 27 2005, 23:25) *
Укрепили в желании попробовать на чем-нибудь стареньком.


Потратил несколько часов, порылся в хламовнике, нашел материнку SuperMicro P6SBA, проц под нее P3-450, памяти 256 мегов, какое то видео... Собрал машинку, воткнул 2000-е винды, 4.30А со всеми апдейтами... Ситуация один в один.



Цитата(d__ @ Dec 28 2005, 13:36) *
.... Ну у меня как раз и этот случай...


А можно чуть поподробнее?
Go to the top of the page
 
+Quote Post
d__
сообщение Dec 28 2005, 12:44
Сообщение #42


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

Группа: Свой
Сообщений: 197
Регистрация: 26-08-04
Пользователь №: 548



Ну что конкретно хотите поподробнее?
Go to the top of the page
 
+Quote Post
vm1
сообщение Dec 28 2005, 12:58
Сообщение #43


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 978



Цитата(d__ @ Dec 28 2005, 13:36) *
Работаю в основнои в ИАРе и ADS12. Ну у меня как раз и этот случай, у меня из ЕЕПРОМа стартует небольшая программка, инициализирует необходимую периферию(SMC,SDRAM и проч.) и попадает в бесконечный цикл, ожидая команду, при это система прерываний заглушена. Вот тут как раз и начинаются операции с JTAGом..


Тоесть Вы всетаки позволяете работать внутреннему загрузчику?
В MT или в Wglr. пришлось что нибудь дорабатывать?
Go to the top of the page
 
+Quote Post
d__
сообщение Dec 28 2005, 13:13
Сообщение #44


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

Группа: Свой
Сообщений: 197
Регистрация: 26-08-04
Пользователь №: 548



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

Сообщение отредактировал d__ - Dec 28 2005, 13:16
Go to the top of the page
 
+Quote Post
DASM
сообщение Dec 28 2005, 15:50
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Вобщем проверил на оригинальном. Таже бодяга. Поскольку симпотмы у вас немного разные - опишу простейший, наиболее легко повторяемый. Драйвер родной - Jlink. Ставим hardware breakpoint в какой нибудь функции прерывания (например timer, перенаправленный через VIC). Грузим прогу - прерывания эти срабатывают. Жмем кнопку reset в отладчике (большая такая стрелка влево) и все - прерывание таймера не наступает. От галочек hardware reset и прочее это не зависит. J-Link оригинальный. Чип LPC248 - максимальная скорость на RDI - 1333, выше не хочет. Adaptive clocking на этих версиях их железа работать не будет по определению - "This pin is not connected in J-Link." (про RTCK , это кажется только в v5 изменилось)
Go to the top of the page
 
+Quote Post

9 страниц V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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