Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: mt-link + uVision3 ошибка в режиме debug
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
FormatCft
Возникло небольшое затруднение с запуском uVision 3 и mt-link в режиме отладки.
Опишу затруднение:
1. Установил uVision3 v3.62c (самая свежая);
2. Добавил лицензию RealView MDK Professional;
3. Копирую две длл куда надо.
4. Создаю простинький проект (в эмуляторе debug-ом всё в норме);
5. Делаю отладку через RDI драйвер c:\Keil\ARM\Segger\JLinkRDI.dll:
5.1. Стою в самом начале (0x0) и должна выполниться команда LDR R4,[PC,#0x0018].

5.2. Делаю Step Into и вместо того чтобы выполнить эту команду он прыгает на 0x00000004.

5.3. Еще раз Step Into и прыгаем на 0x00000008.

6. Делаю отладку через RDI драйвер V3.38b:
6.1. Стою в самом начале и должна выполниться команда LDR R4,[PC,#0x0018].

6.2. Делаю Step Into и вместо того чтобы выполнить эту команду он прыгает на 0x30C, где команда 0xEAFFFFF "B 0x30C".

7. Пробовал со более свежими драйверами: v3.90, v3.86c. Отладчик вообще отказывается работать.
8. В CW никаких проблем вообще не было при работе с этим mt-link, с драйверами и устройством.
9. Пробовал с разными устройствами на lpc2368, всё одинаково.

Может кто знает, что я упустил?
VAI
Цитата
1. Установил uVision3 v3.62c (самая свежая);

Тот пакет, который Вы устанавливали, прямо так и называется uVision3 v3.62c? Нет? МDК323а? Тогда и пишите правильное название.
Цитата
3. Копирую две длл куда надо.

Последний генератор от "edge" не требует замены длл... См. там
Может из-за замены длл Вас проблемы?
--------
На всякий случай, лицензия для rdi пока ещё лежит. Хотя, если с CW работаете, то rdi, наверное, всё ОК.

Я работаю с улинк, поэтому по мт-линку ничего сказать не могу...
FormatCft
Цитата(VAI @ Sep 27 2008, 23:01) *
Тот пакет, который Вы устанавливали, прямо так и называется uVision3 v3.62c? Нет? МDК323а? Тогда и пишите правильное название.

Последний генератор от "edge" не требует замены длл... См. там
Может из-за замены длл Вас проблемы?
--------
На всякий случай, лицензия для rdi пока ещё лежит. Хотя, если с CW работаете, то rdi, наверное, всё ОК.

Я работаю с улинк, поэтому по мт-линку ничего сказать не могу...


Только что попробовал. Те же яйца. Только вид сбоку.

В чем еще может быть проблема?

Цитата
Тот пакет, который Вы устанавливали, прямо так и называется uVision3 v3.62c? Нет? МDК323а? Тогда и пишите правильное название.

Это оно и есть smile.gif (скачаль с сайта буквально вчера MDK323a. Насколько я понимаю там всё в одном флаконе >100Mbyte)

Спасибо за таблетку!
PS Музыка классная smile.gif
FormatCft
Еще попробовал:
1. на чистой WinXP (на виртуальной машине) поставить тот же кейл, и использовать драйвера для mt-link из папки c:\Keil\ARM\Segger\ (пришлось тоже вылечить). Создал с нуля маленький тестовый проектик для lpc2368. Настройки менял только для дебагера. Т.е. просто поставил отладку с помощью RDI драйвера.
Работает с теми же самыми проблемами.
В чём же тонкость?
FormatCft
Даже попробовал уже другой МТ-линк (покупали буквально несколько недель назад в МТ-системах).
Перепробовал уже все возможные комбинации железо + софт. Причем как софт так и железо брал разное. Получается где-то в настройках проблема или в моей логике.
smile3046.gif
FormatCft
Друзья. Не молчите. Подскажите пожалуйста!
FormatCft
Всё оказалось просто.
Нужно было поставить в конфигурировании драйвера Enable flash programing и выбрать тип устройства. yeah.gif
sonycman
Цитата(VAI @ Sep 28 2008, 08:01) *
На всякий случай, лицензия для rdi пока ещё лежит.

Уже не лежит. Можно ещё где-нибудь найти?
Maximm
Цитата(sonycman @ Dec 20 2008, 22:08) *
Уже не лежит. Можно ещё где-нибудь найти?

На FTP местном есть...
sonycman
А я так и не могу заставить нормально работать МТ-Линк с кейлом (через RDI).
Пока застопорился на этапе загрузки программы в камень (LM3S601) - выбираю Flash -> Download, выдаётся предупреждение "Failed to measure CPU clock frequency", и тишина. В контроллер ничего не записывается, лог имеет вот такое содержание:
Код
T0AF0 000:000 SEGGER J-Link RDI Log File (0000ms)
T0AF0 000:000 Logging started @ 2008-12-27 01:31 (0000ms)
T0AF0 000:000 SEGGER J-Link RDI DLL V4.00a, compiled Dec 17 2008 20:31:41 (0000ms)
T0AF0 000:000 JLINK_OpenAgentProc(Type = 0x0A)**** Logging restarted ??? (0001ms)
T0AF0 000:001

     [Init settings]
     UseSetupFile    = OFF

     [JTAG settings]
     Speed           = 1000
     UseAutoSpeed    = ON
     UseAdaptive     = OFF
     MultipleTargets = OFF
     IRLen           = 0
     TAP_Number      = 0

     [Flash settings]
     FlashProg       = ON
     FlashDevice     = Luminary LM3S601
     FlashIsMirrored = OFF
     ClockSpeed      = AUTO
     CacheFlash      = ON
     VerifyFlash     = ON
     FlashDL         = ON
     SkipOnCRCMatch  = ON

     [Breakpoints settings]
     SoftwareBPs     = ON
     FlashBPs        = ON

     [CPU settings]
     AllowSimulation = ON
     Endian          = LITTLE
     ResetType       = 0
     ResetDelay      = 200

   hAgent = 0xE1CEE1CE  returns RDIError_LittleEndian (0253ms)
T0AF0 000:254 JLINK_InfoProc(h = AGENT, RDIInfo_Modules, ...)  returns RDIError_NoError (0000ms)
T0AF0 000:254 JLINK_InfoProc(h = AGENT, RDIInfo_CustomLoad, ...)  returns RDIError_UnimplementedMessage (0000ms)
T0AF0 000:254 JLINK_InfoProc(h = AGENT, RDIInfo_SemiHosting, ...)  returns RDIError_NoError (0000ms)
T0AF0 000:254 JLINK_InfoProc(h = AGENT, RDISemiHosting_SetState, ...)  returns RDIError_NoError (0000ms)
T0AF0 000:254 JLINK_InfoProc(h = AGENT, RDISemiHosting_GetState, ...)  returns RDIError_NoError (0000ms)
T0AF0 000:254 JLINK_InfoProc(h = AGENT, RDIInfo_Modules, ...)  returns RDIError_NoError (0000ms)
T0AF0 000:254 JLINK_OpenProc(h = ARM, Type = 0x0A)  returns RDIError_LittleEndian (0101ms)
T0AF0 000:355 JLINK_InfoProc(h = ARM, RDIInfo_Target, ...)  returns RDIError_NoError (0000ms)
T0AF0 000:355 JLINK_InfoProc(h = ARM, RDIInfo_CanForceSystemReset, ...)  returns RDIError_NoError (0000ms)
T0AF0 000:355 JLINK_InfoProc(h = ARM, RDIInfo_ForceSystemReset, ...)  returns RDIError_NoError (0096ms)
T0AF0 000:451 JLINK_CPUWriteProc(h = ARM, Mode = 0x13, Mask = 0x20000) XPSR=000000D3  returns RDIError_NoError (0000ms)
T0AF0 000:451 JLINK_CPUReadProc(h = ARM, Mode = 0xFF, Mask = 0x07FFF) R0=00004EC1 R1=00030D40 R2=40006000 R3=0000016D R4=0000018C R5=0000018C R6=FFFFFFFF R7=FFFFFFFF R8=FFFFFFFF R9=FFFFFFFF R10=FFFFFFFF R11=FFFFFFFF R12=FFFFFFFF MSP=20000100 R14=FFFFFFFF  returns RDIError_NoError (0001ms)
T0AF0 000:452 JLINK_CPUReadProc(h = ARM, Mode = 0xFF, Mask = 0x10000) R15=000000B8  returns RDIError_NoError (0000ms)
T0AF0 000:452 JLINK_CPUReadProc(h = ARM, Mode = 0xFF, Mask = 0x20000) XPSR=000000D3  returns RDIError_NoError (0000ms)
T0AF0 000:452 JLINK_CPUReadProc(h = ARM, Mode = 0xFF, Mask = 0x40000) APSR=00000000  returns RDIError_NoError (0000ms)
T0AF0 000:453 JLINK_WriteProc(h = ARM, Addr = 0x00000000, 0x018C Bytes, RDIAccess_Data8)  returns RDIError_NoError (0000ms)
T0AF0 000:453 JLINK_InfoProc(h = ARM, RDIInfo_CanForceSystemReset, ...)  returns RDIError_NoError (0000ms)
T0AF0 000:453 JLINK_InfoProc(h = ARM, RDIInfo_ForceSystemReset, ...)
  ***** Error: Failed to measure CPU clock frequency
  ***** Error: Failed to measure CPU clock frequency  returns RDIError_NoError (2870ms)
T0AF0 003:323 JLINK_CPUWriteProc(h = ARM, Mode = 0x13, Mask = 0x20000) XPSR=000000D3  returns RDIError_NoError (0002ms)
T0AF0 003:325 JLINK_CPUReadProc(h = ARM, Mode = 0xFF, Mask = 0x07FFF) R0=00004EC1 R1=00030D40 R2=40006000 R3=0000016D R4=0000018C R5=0000018C R6=FFFFFFFF R7=FFFFFFFF R8=FFFFFFFF R9=FFFFFFFF R10=FFFFFFFF R11=FFFFFFFF R12=FFFFFFFF MSP=20000100 R14=FFFFFFFF  returns RDIError_NoError (0000ms)
T0AF0 003:325 JLINK_CPUReadProc(h = ARM, Mode = 0xFF, Mask = 0x10000) R15=000000B8  returns RDIError_NoError (0000ms)
T0AF0 003:325 JLINK_CPUReadProc(h = ARM, Mode = 0xFF, Mask = 0x20000) XPSR=000000D3  returns RDIError_NoError (0000ms)
T0AF0 003:325 JLINK_CPUReadProc(h = ARM, Mode = 0xFF, Mask = 0x40000) APSR=00000000  returns RDIError_NoError (0000ms)
T0AF0 003:327 JLINK_StepProc(..., h = ARM, StopOthers = FALSE, nInst = 1) PC = 000000B8  returns RDIError_NoError (0163ms)
T0AF0 003:492 JLINK_CloseProc(h = ARM)  returns RDIError_NoError (0039ms)
T0AF0 003:531 JLINK_CloseAgentProc()  returns RDIError_NoError (0000ms)

Такое ощущение, что RDI не может соединиться со своей библиотекой JLinkARM.dll - один раз выдавалось такое сообщение...

Лицензии стоят и у сеггера, и у кейла.
Кейл скачал последний. Дрова сеггера тоже последние. Прошивка отладчика последняя DASM'овская OEM - то есть должна работать с кейлом без проблем...
Подскажите, в чём проблема?
crying.gif

ЗЫ: утилиты сеггера прекрасно работают (и пишут, и читают из камня), то есть дебаггер рабочий...
sonycman
Переключил в настройках дебаггера с RDI Driver на J-LINK/J-TRACE.
Всё отлично заработало, и запись в камень, и отладка пошла как по маслу!
ИМХО, просто вместо новых 4.00 сеггеровских дров заюзались старые 3.хх из папки кейла...

Действительно, при наличии новых RDI драйверов, МТ-Линка и кейла проблемы обеспечены, прочувствовал на собственной шкуре... smile3046.gif
smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.