|
MT-Link. Первый опыт использования. |
|
|
|
Dec 21 2005, 20:20
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
 |
Ответов
(30 - 44)
|
Dec 26 2005, 12:46
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Цитата(zltigo @ Dec 26 2005, 13:21)  Цитата(Velund @ Dec 26 2005, 11:19)  Вот у меня полный снос всего иаровского, очистка реестра от всех следов, переустановка ev 4.30A, доставка на него апдейта компилятора от полного, вылизывание всего что можно - не вылечили эту беду. Дело похоже не в железе, а в самом отладчике. Но на него апдейтов пока не видать... Зато MISRA с радостью вывалила почти 55 тысяч ошибок на проект...  1. А с RDI все в порядке? У меня на самом деле вылечилось не до конца - таймер работает почти всегда, а вот уже UART - реже. Дальше - хуже... Дело достаточно темное и комплексное - больше всего похоже на какие-нибудь временные нестыковки в которых виноваты оба :-(. Я питаю надежды посмотреть на поведение с адаптивной тактировкой. Надо-бы попробовать на какой-нибудь машине типа P3-700, что-то мне моя интуиция подсказывает попробовать. На днях поставалю. А Вы на какой пользуете? Причем я очень сильно сомневаюсь, что с родным J-Link имеется такй-же эффект - уж больно вопиющий факт. 2. MISRA это... хотя 55тысяч наводят на размышления :-) Я лично попробовал избавится от тысченки-другой, но довольно быстро дошел до рекомендации не использовать функции с переменным числом аргуменотов и решил завязать с этим делом. В любом языке диалекты придают особую прелесть языку...... C RDI тоже самое наблюдал , но вот что любопытно - прерывание таймера действительно иногда пропадает, а вот EINT - никогда. Вобщем вопрос еще нуждается в изучении.
|
|
|
|
|
Dec 26 2005, 13:43
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Dec 26 2005, 14:39
|

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

|
Цитата(DASM @ Dec 26 2005, 16:30)  а я завтра получу jlink и все сравню Ну и надеюсь на объективное и публичное сравнение :-) А что, раньше не был доступен? По складу MT-Link вроде когда-то существовал в наличии... А где доставали? А то у всех известных мне дилеров в наличии только в составе китов из борды и компилятора, что является некоторым "перебором".
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 27 2005, 14:11
|
Знающий
   
Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177

|
Цитата(zltigo @ Dec 26 2005, 13:21)  Цитата(Velund @ Dec 26 2005, 11:19)  Вот у меня полный снос всего иаровского, очистка реестра от всех следов, переустановка ev 4.30A, доставка на него апдейта компилятора от полного, вылизывание всего что можно - не вылечили эту беду. Дело похоже не в железе, а в самом отладчике. Но на него апдейтов пока не видать... Зато MISRA с радостью вывалила почти 55 тысяч ошибок на проект...  1. А с RDI все в порядке? У меня на самом деле вылечилось не до конца - таймер работает почти всегда, а вот уже UART - реже. Дальше - хуже... RDI лучше и шустрее грузит и верифицирует, но траблы те же. Цитата Дело достаточно темное и комплексное - больше всего похоже на какие-нибудь временные нестыковки в которых виноваты оба :-(. Я питаю надежды посмотреть на поведение с адаптивной тактировкой. Ну этого пока нет, бм надеяться что появится когда нибудь. Цитата Надо-бы попробовать на какой-нибудь машине типа P3-700, что-то мне моя интуиция подсказывает попробовать. На днях поставалю. А Вы на какой пользуете? Два Xeon (3.06 GHz, 533 MHz FSB) на матери Asus PCH-DL, гиг оперативки. Цитата Причем я очень сильно сомневаюсь, что с родным J-Link имеется такй-же эффект - уж больно вопиющий факт. 2. MISRA это... хотя 55тысяч наводят на размышления :-) Я лично попробовал избавится от тысченки-другой, но довольно быстро дошел до рекомендации не использовать функции с переменным числом аргуменотов и решил завязать с этим делом. В любом языке диалекты придают особую прелесть языку...... Ну там 70% на один макрос ввода-вывода ругается. Оно работает, но не нравится ей отсутствие скобок. Может позже поразбираюсь чего оно хочет...
|
|
|
|
|
Dec 27 2005, 15:13
|
Знающий
   
Группа: Свой
Сообщений: 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 Вы используете и в какой среде разработки?
|
|
|
|
|
Dec 28 2005, 10:36
|
Частый гость
 
Группа: Свой
Сообщений: 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ом..
|
|
|
|
|
Dec 28 2005, 10:50
|
Знающий
   
Группа: Свой
Сообщений: 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)  .... Ну у меня как раз и этот случай... А можно чуть поподробнее?
|
|
|
|
|
Dec 28 2005, 12:58
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 978

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