Перейти к содержанию
    

MT-Link. Первый опыт использования.

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

 

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

 

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

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

Дело достаточно темное и комплексное - больше всего похоже на какие-нибудь временные

нестыковки в которых виноваты оба :-(. Я питаю надежды посмотреть на поведение с

адаптивной тактировкой.

Надо-бы попробовать на какой-нибудь машине типа P3-700, что-то мне моя интуиция подсказывает

попробовать. На днях поставалю. А Вы на какой пользуете?

Причем я очень сильно сомневаюсь, что с родным J-Link имеется такй-же эффект - уж больно вопиющий факт.

2. MISRA это... хотя 55тысяч наводят на размышления :-)

Я лично попробовал избавится от тысченки-другой, но довольно быстро дошел до рекомендации

не использовать функции с переменным числом аргуменотов и решил завязать с этим делом.

В любом языке диалекты придают особую прелесть языку......

C RDI тоже самое наблюдал , но вот что любопытно - прерывание таймера действительно иногда пропадает, а вот EINT - никогда. Вобщем вопрос еще нуждается в изучении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

C RDI тоже самое наблюдал , но вот что любопытно - прерывание таймера действительно иногда пропадает, а вот EINT - никогда. Вобщем вопрос еще нуждается в изучении.

Ага, вот и DASM заговорил :-) по данному вопросу. Главное не забрасывать вопрос!

Еще правильно будет попробовать с адаптивной тактировкой поработать.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а я завтра получу jlink и все сравню

Ну и надеюсь на объективное и публичное сравнение :-)

А что, раньше не был доступен? По складу MT-Link вроде когда-то существовал

в наличии... А где доставали? А то у всех известных мне дилеров в наличии только в составе китов

из борды и компилятора, что является некоторым "перебором".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Безусловно все отличия отмечу и исправлю в новом апдейте. Где что и как доставал - написал в private

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

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

 

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

 

Дело достаточно темное и комплексное - больше всего похоже на какие-нибудь временные

нестыковки в которых виноваты оба :-(. Я питаю надежды посмотреть на поведение с

адаптивной тактировкой.

 

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

 

Надо-бы попробовать на какой-нибудь машине типа P3-700, что-то мне моя интуиция подсказывает

попробовать. На днях поставалю. А Вы на какой пользуете?

 

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

 

Причем я очень сильно сомневаюсь, что с родным J-Link имеется такй-же эффект - уж больно вопиющий факт.

2. MISRA это... хотя 55тысяч наводят на размышления :-)

Я лично попробовал избавится от тысченки-другой, но довольно быстро дошел до рекомендации

не использовать функции с переменным числом аргуменотов и решил завязать с этим делом.

В любом языке диалекты придают особую прелесть языку......

 

Ну там 70% на один макрос ввода-вывода ругается. Оно работает, но не нравится ей отсутствие скобок. Может позже поразбираюсь чего оно хочет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Что получается я не смогу JTAG использовать?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

В CrossWorks + Wiggler нет никаких проблем даже без специальных мер. В скрипте сброса установил регистры клока в нужные значения и работаешь... Клок при этом настраивается любой, без ущерба для JTAG-отладки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема 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ом..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

 

 

.... Ну у меня как раз и этот случай...

 

А можно чуть поподробнее?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Тоесть Вы всетаки позволяете работать внутреннему загрузчику?

В MT или в Wglr. пришлось что нибудь дорабатывать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Изменено пользователем d__

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вобщем проверил на оригинальном. Таже бодяга. Поскольку симпотмы у вас немного разные - опишу простейший, наиболее легко повторяемый. Драйвер родной - 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 изменилось)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...