Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы с mt-link
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
slabnoff
В общем несколько лет как-то даже не отслеживал ситуацию с софтом для разработки под ARM'ы. Все это время сидел в IAR 4.30a и проблем не знал... Однако возникла необходимость перейти на более свежую версию IAR. Скачал, поставил, переделал код (кто бы мне объяснил зачем iar-овцам понадобилось ассемблер переделывать, да и вообще от идеологии сегментов к идеологии секций переходить...), конфигурацию линкера, добился правильной сборки проекта... В общем пришел к внутриплатной отладке. И тут начались проблемы: в старом iar 4.30а абсолютно без проблем гружусь и отлаживаюсь, в то время как в новом ругается на отсутствие связи с устройством или, в зависимости от настроек j-link в проекте (стратегия сброса девайса), вообще все тупо зависает. MT-link один из самых первых (куплен где-то через пару недель, как он вообще появился). Чего делать-то? Купить новый mt-link/оригинальный j-link? Прошивку mt-link'а менять - как и на что? Плюнуть на все и остаться на iar 4.30a?

P.S. В свое время хотел перейти на iar 4.41, но также столкнулся с неработой mt-link'а и забил на это...
miv
Цитата(slabnoff @ Jun 3 2009, 10:27) *
В общем несколько лет как-то даже не отслеживал ситуацию с софтом для разработки под ARM'ы. Все это время сидел в IAR 4.30a и проблем не знал... Однако возникла необходимость перейти на более свежую версию IAR. Скачал, поставил, переделал код (кто бы мне объяснил зачем iar-овцам понадобилось ассемблер переделывать, да и вообще от идеологии сегментов к идеологии секций переходить...), конфигурацию линкера, добился правильной сборки проекта... В общем пришел к внутриплатной отладке. И тут начались проблемы: в старом iar 4.30а абсолютно без проблем гружусь и отлаживаюсь, в то время как в новом ругается на отсутствие связи с устройством или, в зависимости от настроек j-link в проекте (стратегия сброса девайса), вообще все тупо зависает. MT-link один из самых первых (куплен где-то через пару недель, как он вообще появился). Чего делать-то? Купить новый mt-link/оригинальный j-link? Прошивку mt-link'а менять - как и на что? Плюнуть на все и остаться на iar 4.30a?

P.S. В свое время хотел перейти на iar 4.41, но также столкнулся с неработой mt-link'а и забил на это...

Работал и на 5.3, сейчас работаю на 5.4 МТ-Link покупал в этом году. Отлаживаюсь через Segger J-Link никаких проблем !
Вы у DASM спросите он на telesys-ах в микроконтроллерной ветке иногда появляется. он и разработчик данного MT-Link.
slabnoff
Забыл написать: на плате надпись MT-Link v1.1.
Dog Pawlowa
Цитата(slabnoff @ Jun 3 2009, 09:27) *
Однако возникла необходимость перейти на более свежую версию IAR. ...

Какая?
Цитата
в то время как в новом ругается на отсутствие связи с устройством или, в зависимости от настроек j-link в проекте (стратегия сброса девайса), вообще все тупо зависает.


Вообще-то потеря связи отладчика с ядром наступает при ошибках в программе. Например, при обращении по несуществующему адресу.
Так что если изменения в программе (связанные с заменой версии или не связанные) содержат ошибки, то все так и будет.

С другой стороны, по моему наблюдению, какие-то необъяснимые явления происходят при усложнении проекта, при смене оборудования.
Но все-таки списывать свои ошибки на пятна на солнце было бы неправильно. Во всяком случае разницы между фирменным J-link и mt-link не обнаружено.
miv
У меня надпись на плате MT-Link v5.0

Цитата(Dog Pawlowa @ Jun 3 2009, 10:49) *
Вообще-то потеря связи отладчика с ядром наступает при ошибках в программе. Например, при обращении по несуществующему адресу.

Ну это врядли !!! По не существующему адресу проц выйдет на вектор прерывания скорее всего. А вот если PLL настроен не верно тогда точно связь пропадёт и перезалиться или даже стереть софт в контроллере можно только по USART. ( Для LPC )
slabnoff
Цитата(Dog Pawlowa @ Jun 3 2009, 10:49) *
Какая?

Да хотя бы нежелание тратить силы на портирование стартапов и асмового кода, который теперь в новом формате, для FreeRTOS при переходе на свежую версию. Хотя в итоге для 4.30a потратив пару часов подружил старый стартап с новой версией ОС. Так что в общем-то скорее тут просто желание попробовать более новую версию софта, ну и автокомплит в редакторе хочется иметь...

Цитата(Dog Pawlowa @ Jun 3 2009, 10:49) *
Вообще-то потеря связи отладчика с ядром наступает при ошибках в программе. Например, при обращении по несуществующему адресу.
Так что если изменения в программе (связанные с заменой версии или не связанные) содержат ошибки, то все так и будет.

С другой стороны, по моему наблюдению, какие-то необъяснимые явления происходят при усложнении проекта, при смене оборудования.
Но все-таки списывать свои ошибки на пятна на солнце было бы неправильно. Во всяком случае разницы между фирменным J-link и mt-link не обнаружено.


Если бы проблема была в том, что какие-то глюки после загрузки программы - я бы понял. Но проблема в том, что судя по логу и до загрузки не доходит. Выдает сообщение типа "Could not transfer JTAG data", что через драйвер jlink, что через rdi.

Сейчас пытаюсь играть через RDI перебирая стратегии сброса устройства.
Пока основная реакция - "Unable to halt ARM core".
Grape
Цитата(slabnoff @ Jun 3 2009, 11:38) *
Сейчас пытаюсь играть через RDI перебирая стратегии сброса устройства.
Пока основная реакция - "Unable to halt ARM core".


такое обычно происходит при ошибке в программе (уже залитой во флеш).

Можно при подаче питания принудительно запустить родной bootloader,
и потом уже JTAG работает. проверено.

работаю через j-link (не RDI), software reset, adaptive speed.

/Gr.
slabnoff
Цитата(Grape @ Jun 3 2009, 12:02) *
такое обычно происходит при ошибке в программе (уже залитой во флеш).

Можно при подаче питания принудительно запустить родной bootloader,
и потом уже JTAG работает. проверено.

работаю через j-link (не RDI), software reset, adaptive speed.

/Gr.


Ясно. Попробую перевести в режим бутлодыря... Хотя как не странно в 4.30 студии эта самая программа залитая во флеш никак не мешает ее повторной загрузке. Да и ошибок в программе вроде как нет.
vesago
Я пользую самый древний мтлинк + самый последний яр. Может быть проблема с рди. Я ставлю обычно 3.74 + накатываю дллины и некоторые эезешники из 3.48. Ну и действительно с программой - активировн внешний или внутренний вачдог, отключается пинселом жтаг, стек проседает или обращение по левым адресам. Плюс проблеммы с таргетом тоже не надо исключать. Для древнего мтлинка у меня последняя прошивка - 1.16.
slabnoff
Елки-палки. В бутлодырь таргет не перевести пока - разработчик в данном девайсе от него отказался - типа сменишь прошивку и через жтаг... Придется паяться.
Хотя в любом случае убивает именно зависимость от версии IAR - в 4.30а все шикарно, в любой более свежей - проблемы.

vesago
Не поделишься файлами и инструкцией, как и чего делал? slabnoff@mail.ru
vesago
Отправил на почту что имеется. Посмотрите, может поможет. Я портировал проект с кейла в последний яр. С мтлинком проблем не возникло. Наоборот работает намного стабильнеей чем в кейле. С новыми дровами сеггеровскими мой мтлинк не работает. Поэтому я ставлю сначала Setup_JLinkARM_V374i, а сверху накатываю содержимое 3_48b.rar. Ну и в настройках проекта указать корректно пути к вновь установленной RDI.dll. Если прошивка мтлинка древнее 116, то обновите и ее. Просто запускаете экзешник и все. Свежее вроде Дасм уже не делал. Потом пошли прямые клоны джэтлинка. По буту можно джетфлешем записать какую шнягу в начало, чтобы LRC векторов не сходилось или тоже не дает?
AlexandrY
С MT-Link тема уже давно прошла. Все делают свои J-Link-и.
Тут ниже в конфе не поленитесь и найдете и схему и прошивку.
Прошивка v8 отлично работает на IAR 5.30.

Цитата(slabnoff @ Jun 3 2009, 11:38) *
Елки-палки. В бутлодырь таргет не перевести пока - разработчик в данном девайсе от него отказался - типа сменишь прошивку и через жтаг... Придется паяться.
Хотя в любом случае убивает именно зависимость от версии IAR - в 4.30а все шикарно, в любой более свежей - проблемы.

vesago
Не поделишься файлами и инструкцией, как и чего делал? slabnoff@mail.ru
skripach
Цитата
"Unable to halt ARM core"

Попробуйте не использовать вывод RST JTAGа.
slabnoff
Цитата(vesago @ Jun 3 2009, 12:52) *
Отправил на почту что имеется. Посмотрите, может поможет. Я портировал проект с кейла в последний яр. С мтлинком проблем не возникло. Наоборот работает намного стабильнеей чем в кейле. С новыми дровами сеггеровскими мой мтлинк не работает. Поэтому я ставлю сначала Setup_JLinkARM_V374i, а сверху накатываю содержимое 3_48b.rar. Ну и в настройках проекта указать корректно пути к вновь установленной RDI.dll. Если прошивка мтлинка древнее 116, то обновите и ее. Просто запускаете экзешник и все. Свежее вроде Дасм уже не делал. Потом пошли прямые клоны джэтлинка. По буту можно джетфлешем записать какую шнягу в начало, чтобы LRC векторов не сходилось или тоже не дает?


Спасибо большое!
Прошивку я обновил на 5 минут раньше, чем вы выложили. С ней коммандер из версии 4.02 сеггеровских драйверов, идущих в комплекте с iar 5.3, увидел кристалл, хотя не rdi, не просто jlink-драйвер не задышали. Поставил ваши драйвера - все задышало, во всяком случае rdi пашет, jlink не проверял пока. Правда похоже V374i ставить не было смысла (ну разве что ради j-flash и обновления usb-драйвера) - иар 4.30 при установке увиделся, а 5.30 - нет; похоже дело именно в подмене файлов на 3.48 (до этого пробовал от 3.00d, как кто-то здесь писал - не помогло).

Цитата(AlexandrY @ Jun 3 2009, 13:16) *
С MT-Link тема уже давно прошла. Все делают свои J-Link-и.
Тут ниже в конфе не поленитесь и найдете и схему и прошивку.
Прошивка v8 отлично работает на IAR 5.30.


Давно уже нашел. Только как-то некогда этим заниматься...
slabnoff
Ну в общем через rdi все отлично пашет. А вот попытка через jlink/jtrace отлаживаться дает сообщение "...\armjlink.dll : Не найдена указанная процедура". Ну в общем-то и фиг с ним, rdi работать как-то даже больше понравилось.
AlexandrY
RDI требует лицензии, а J-Link нет.
Т.е. можно наделать кучу J-Link-ов и юзать совершенно официально и ничего не ломая.

Цитата(slabnoff @ Jun 3 2009, 19:13) *
Ну в общем через rdi все отлично пашет. А вот попытка через jlink/jtrace отлаживаться дает сообщение "...\armjlink.dll : Не найдена указанная процедура". Ну в общем-то и фиг с ним, rdi работать как-то даже больше понравилось.
Alechek
Цитата(AlexandrY @ Jun 3 2009, 22:49) *
Т.е. можно наделать кучу J-Link-ов и юзать совершенно официально и ничего не ломая.

Ну не совсем таки официально.... Как бы все таки нарушая п 3(e) лицензии rolleyes.gif
IgorMarx
Проблемы есть, факт. И изменения в проекте совсем ни при чем. У меня есть и родной J-link, и MT-Link. Можно часами работать на MT-link, но стоит только переложить провода, идущие к компу, и тут же начинается.

Сижу как-то вечером, уже отпахал часов 5, и тут у меня дохнут аккумуляторы в мышке. Полез, достал заряженный комплект из зарядника-радиоустройства, воткнутого в USB, вставил в мышь и привет. MT линк виснет в любой момент времени - при начальном коннекте, в момент прошивки FLASH, в момент верификации, при пошаговой отладке, или просто драйвер выдаёт ошибку связи минут через 5 после старта отладки, когда ничего не трогаешь. Мышка моя не киловатт излучает в эфир, понятное дело. Не помогает ни замена кабелей USB, ни гнёзд подключения - ничего. И никакой логики во всём этом. После зависания только физическое отключение и повторное включение кабеля USB в порт. С родным проблем не было.
vesago
Бывыет. Но не надо обобщать. Чего чего, а проблем со связью у меня с моим древним мтлинком ни разу не было. И кабель у него гавенный и подключен через удлинитель, а все равно пашет как автомат Калашникова. Возможно вы втыкаете в разъем на передней панели PC.
AlexandrY
Есть один резистор в схеме J-Link некорректный номинал которого (или изменение марки буфера с которым связан сигнал который подтягивает резистор) может сильно ухудшить стабильность работы дивайса.
Симптомы как раз такие как описано.
Спорадические сбои и зависания, причем на более низких частотах работает стабильнее.

А вообще свой клон гораздо предпочтительней всяких J-Link-ов и т.д.
Для себя не будешь экономить на конденсаторах, LDO, разъемах и т.д.

Цитата(vesago @ Jun 6 2009, 19:14) *
Бывыет. Но не надо обобщать. Чего чего, а проблем со связью у меня с моим древним мтлинком ни разу не было. И кабель у него гавенный и подключен через удлинитель, а все равно пашет как автомат Калашникова. Возможно вы втыкаете в разъем на передней панели PC.
slabnoff
Проблемы продолжаются...

Купил starterkit'овскую плату на LPC2388. Начал заводить TCP/IP (uIP) - по сути надо было подправить код для EMAC и сделать инициализацию PHY.
Особенность данного кита в том, что вход PD (power-down) PHY (Micrel KS8721BL) соединен с выводом МК P4_25 (он же BLS0 контроллера внешней памяти, соответственно контроллер памяти вырубил, пин как выход и в единицу).

По шагам начал отлаживать код - нет связи с PHY - из любого его регистра читаются одни единицы. Шаманил-шаманил - нифига не изменилось (нашел заодно интересный эффект - контроллер памяти в 2388 похоже такой же как в 24хх семействе и по сбросу включен на регенерацию динамической памяти (хотя для 2388 допустима только статическая память)). Взял P4_25 сделал входом, прицепил "подтяжку" - все заработало (даже вебсервер теперь крутится rolleyes.gif ).

Ну т.к. "интересные эффекты" без разбора не оставляю начал плотненько разбираться. Перевел пин обратно в режим выхода и по шагам выполняю программу. Каково же мое удивление, когда я вижу, что при каждом шаге пин переключается между нулем и единицей и обратно. Видно это и тестером и через FIO4PIN. Запрограммировал остальные выводы P4 как выходы - эффект для большинства пинов повторился, правда некоторые пины остались в нуле, а некоторые переключаются не на каждом шаге. Все это переключение приводит к переходу PHY в режим энергосбережения и соответственно обмена с ним нет - читаю одни единицы, в т.ч. и идентификатор PHY. А вот теперь еще интереснее: просто поставил брекпоинт после чтения идентификатора PHY и запустил не по шагам программу - получил корректное чтение регистра, правда на следующем бряке на следующем регистре пин уже дернулся в ноль и следующий регистр был считан некорректно...

Чего делать-то? Грешу именно на j-tag-адаптер или его драйвер (скорее последнее). Под рукой иных jtag-адаптеров кроме mt-link нет.

P.S.. IAR 5.4, LPC2388 ревизия B, mt-link - древний из первых партий c IAR связан через rdi (по-другому не работает; про lpc2388 этот драйвер еще не знает - версия еще 300d).
slabnoff
Ну в общем действительно проблема в старом mt-link (возможно в старом rdi - более свежие дружить со старым mt-link отказались). Взял попробовать свежую версию (железо v6) mt-link - сходу заработал в IAR на родном драйвере без всякого rdi и без упомянутого глюка.
svss
Цитата(Grape @ Jun 3 2009, 14:02) *
такое обычно происходит при ошибке в программе (уже залитой во флеш).
Можно при подаче питания принудительно запустить родной bootloader,
и потом уже JTAG работает. проверено.
работаю через j-link (не RDI), software reset, adaptive speed.


В-общем, спасибо хочу сказать.
Даже есть ощущение, что я Grape чего-то должен больше, чем спасибо.
Пиво как минимум.

История такая:

0) Пишу проекты для LPC2368/78 (IAR, Keil, GNU, Jlink, MTlink - в разных комбинациях)
без проблем, как всегда казалось.

1) Случилось собрать проект для LPC2148 и нечаянно залить его в 2368.
Получилось! IAR спокойно помог всё сделать, даже не намекнул на лажу.
После этого - subj. "Unable to halt the ARM core"

Потыкался, помыкался, отложил машину всторону, взял другую.

2) Как Вы уже догадались, через пару дней я убил вторую машину тем же способом,
забыв переткнуть JTAG.

Не убивать же третью. Пришлось рыть интернет.
И из всего его решение гугль нашёл именно здесь, у нас.
ПожуЮ его мельче, авось ещё кому пригодится.


Рецепт:
А) Замыкаем контакт ISP на землю (нога №53 LPC2368 машины);
Б) Жмём Reset (или замыкаем ногу №17 LPC2368, если кнопки нету, на землю);
В) Отпускаем Reset;
Г) Отпускаем ISP;
Д) Стартуем загрузку flash из-под IAR, Keil или чего душе угодно - всё работает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.