Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2929 и MT-Link
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
toweroff
Плата делалась по аналогии с MCB2900 от Keil (там, правда, LPC2919, но, думаю, это не влияет)
Проц мт-линк видит, но работать не хочет. Посмотрел схему от Hitex. Странно, Keil не развела подтяжки... Исправил на всякий случай. Навесил все резисторы на TCK, TDI, TDO, TMS, TRST
Но ситуации не изменило:
Код
Load "F:\\Progect\\Device\\Firmware\\device.AXF"
VTarget = 3.287V
Info: TotalIRLen = 8, IRPrint = 0x0011
Info: CP15.0.0: 0x41059681: ARM, Architecure 5TE
Info: J-Link: ARM9, 968 core
Info: TotalIRLen = 8, IRPrint = 0x0011
Info: Failed to read ICE breaker after Reset, using default reset strategy.
DLL version V4.24b, compiled Feb 22 2011 20:47:17
Firmware: J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5
Hardware: V5.00
Info: TotalIRLen = 8, IRPrint = 0x0011
Info: CP15.0.0: 0x41059681: ARM, Architecure 5TE
Info: J-Link: ARM9, 968 core
Info: TotalIRLen = 8, IRPrint = 0x0011
Info: Failed to read ICE breaker after Reset, using default reset strategy.
JTAG speed: 1000 kHz
***JLink Error: Can not read register 0 (R0) while CPU is running
***JLink Error: Can not read register 1 (R1) while CPU is running
***JLink Error: Can not read register 2 (R2) while CPU is running
***JLink Error: Can not read register 3 (R3) while CPU is running
***JLink Error: Can not read register 4 (R4) while CPU is running
***JLink Error: Can not read register 5 (R5) while CPU is running
***JLink Error: Can not read register 6 (R6) while CPU is running
***JLink Error: Can not read register 7 (R7) while CPU is running
***JLink Error: Can not read register 9 (R15 (PC)) while CPU is running
***JLink Error: Can not read register 8 (CPSR) while CPU is running
***JLink Error: Can not read register 10 (R8_USR) while CPU is running
***JLink Error: Can not read register 11 (R9_USR) while CPU is running
***JLink Error: Can not read register 12 (R10_USR) while CPU is running
***JLink Error: Can not read register 13 (R11_USR) while CPU is running
***JLink Error: Can not read register 14 (R12_USR) while CPU is running
***JLink Error: Can not read register 15 (R13_USR) while CPU is running
***JLink Error: Can not read register 16 (R14_USR) while CPU is running
***JLink Error: Can not read register 18 (R8_FIQ) while CPU is running
***JLink Error: Can not read register 19 (R9_FIQ) while CPU is running
***JLink Error: Can not read register 20 (R10_FIQ) while CPU is running
***JLink Error: Can not read register 21 (R11_FIQ) while CPU is running
***JLink Error: Can not read register 22 (R12_FIQ) while CPU is running
***JLink Error: Can not read register 23 (R13_FIQ) while CPU is running
***JLink Error: Can not read register 24 (R14_FIQ) while CPU is running
***JLink Error: Can not read register 17 (SPSR_FIQ) while CPU is running
***JLink Error: Can not read register 32 (R13_IRQ) while CPU is running
***JLink Error: Can not read register 33 (R14_IRQ) while CPU is running
***JLink Error: Can not read register 31 (SPSR_IRQ) while CPU is running
***JLink Error: Can not read register 26 (R13_SVC) while CPU is running
***JLink Error: Can not read register 27 (R14_SVC) while CPU is running
***JLink Error: Can not read register 25 (SPSR_SVC) while CPU is running
***JLink Error: Can not read register 29 (R13_ABT) while CPU is running
***JLink Error: Can not read register 30 (R14_ABT) while CPU is running
***JLink Error: Can not read register 28 (SPSR_ABT) while CPU is running
***JLink Error: Can not read register 35 (R13_UND) while CPU is running
***JLink Error: Can not read register 36 (R14_UND) while CPU is running
***JLink Error: Can not read register 34 (SPSR_UND) while CPU is running
Erase Failed!


Если запустить JLink, получаю такую картину:

Код
SEGGER J-Link Commander V4.24b ('?' for help)
Compiled Feb 22 2011 20:47:31
DLL version V4.24b, compiled Feb 22 2011 20:47:17
Firmware: J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5
Hardware: V5.00
S/N: 11111117
VTarget = 3.287V
Info: TotalIRLen = 8, IRPrint = 0x0011
Info: CP15.0.0: 0x41059681: ARM, Architecure 5TE
Info: J-Link: ARM9, 968 core
Found 2 JTAG devices, Total IRLen = 8:
#0 Id: 0x1B900F0F, IRLen: 04, IRPrint: 0x0, ARM ETB
#1 Id: 0x0596802B, IRLen: 04, IRPrint: 0x1, ARM968E-S Core
Found ARM with core Id 0x0596802B (ARM9)
  ETM V1.3: 8 pairs addr.comp, 8 data comp, 16 MM decs, 4 counters, sequencer
  ETB V1.0: 2048x32 bit RAM
JTAG speed: 100 kHz
J-Link>


то есть вроде как все в порядке, девайс видится (кстати, LPC2919 показывает только 1 устройство в JTAG chain)

Есть мысли, почему работает с LPC2919 и не работает с LPC2929?

AlexandrY
У нас тоже клон JLink и LPC2929 на нашей плате прекрасно видит.
Выкладывайте схему своей платы, а я выложу своей.
toweroff
Цитата(AlexandrY @ Apr 14 2011, 23:46) *
У нас тоже клон JLink и LPC2929 на нашей плате прекрасно видит.
Выкладывайте схему своей платы, а я выложу своей.

да какая схема...
TDO--TDO, TMS--TMS, TDI--TDI, TRST--TRST
у всех pullup 10кОм на +3.3в
TCK--TCK, pulldown 10кОм на GND

а вот то, что определяются два девайса в цепочке - возможно, что тут и порылась собака. Может, в Keil нужно еще какое-то устройство в список добавить (ARM ETB)?
Потому как оно вроде ж идет первым в цепочке, а только потом уже ядро ARM9. В списке кейла только ARM9 LPC29xx 768Kb, может линк обращается к ARM ETB как к ядру, отсюда и грабли. Как думаете?
toweroff
AlexandrY, Вы работаете в Keil uVision? Какой версии?
Через J-Flash все видится и, вроде как, шьется... но мееееееееедлеееннооооооо (на 5КГц)
Почему так -- непонятно

Хочется, конечно, использовать удобную кнопку в кейле для прошивки, но неясно, с чем связано такое поведение JLink
А вот со скоростью тоже, помнится, пробегала тема. Поищу, возможно решение там было найдено
И есть ли смысл под ARM9 обновиться до J-Link 8 ?
toweroff
AlexandrY, выкладываю схемы... нашел на забугорных форумах аналогичные проблемы, к сожалению оставшиеся в рамках тех форумов нерешенными crying.gif
Итак, сначала сделал по примеру Keil MCB2929:
Нажмите для просмотра прикрепленного файла

потом развесил подтяжки, как в примере Hitex:
Нажмите для просмотра прикрепленного файла

В общем и там, и там -- те же грабли

RST на проц формирует цепочка 10КОм на +3.3в и 0.1мкФ на GND
toweroff
Вернулся опять к этому больному девайсу.

Никак не поднимается JTAG sad.gif

Посмотрел пример проекта J-Flash для LPC2919 (для LPC2929 нет, но ядро-то то же самое)
Последовательность инициализации настраивает PLL, переключает тактирование от нее. Та же самая последовательность на LPC2929 не влияет никак, хотя, если верить JLink, значения в регистры заносятся и даже корректно

вот сама последовательность:
Код
  InitStep0_Action = "Reset"
  InitStep0_Comment = "Reset and halt target"
  InitStep0_Value0 = 0x00000000
  InitStep0_Value1 = 0x00000000
  InitStep1_Action = "Write 32bit"
  InitStep1_Comment = "SYS_CLK_CONF, Sel XTAL 10 MHz"
  InitStep1_Value0 = 0xFFFF8070
  InitStep1_Value1 = 0x01000000
  InitStep2_Action = "Write 32bit"
  InitStep2_Comment = "PLL_CONTROL, PLL+120 and PLL +140 outputs enable"
  InitStep2_Value0 = 0xFFFF8028
  InitStep2_Value1 = 0x00000005
  InitStep3_Action = "Write 32bit"
  InitStep3_Comment = "PLL_CONTROL, Sel XTAL, "
  InitStep3_Value0 = 0xFFFF8028
  InitStep3_Value1 = 0x010F0005
  InitStep4_Action = "Write 32bit"
  InitStep4_Comment = "PLL_CONTROL, power up PLL"
  InitStep4_Value0 = 0xFFFF8028
  InitStep4_Value1 = 0x010F0004
  InitStep5_Action = "Delay"
  InitStep5_Comment = ""
  InitStep5_Value0 = 0x00000000
  InitStep5_Value1 = 0x000000C8
  InitStep6_Action = "Write 32bit"
  InitStep6_Comment = "Select PLL as clock source"
  InitStep6_Value0 = 0xFFFF8070
  InitStep6_Value1 = 0x02000804


Проверил разводку платы - все в порядке. Осциллограммы чистые, без звона. Частоты JLink - 30кГц до инита и 100кГц после
Оторвал резисторы и привел к виду платы MCB2929 от Keil

Плата MCB2900 с камнем LPC2919 отлично видится с этой инициализацией
Даже прикупил для себя в стартерките JLink 8 Ultra - то же самое, не работает

Совсем мозг рушится, уже не знаю, в какую сторону копать sad.gif
toweroff
Ларчик открылся просто - стратегия ресета в Keil теперь выставлена в "Hardware, halt after reset using DBGRQ". J-Link стабильно работает на 10 МГц
И почему я два месяца назад не попробовал такой вариант? laughing.gif
toweroff
Подниму еще раз тему
У этой линейки ARM9 нет в кейле такой штуки, как дебаг периферии? Меню голо, как соколо sm.gif странно после седьмого ядра sad.gif
ULINKа нет, пробовал на MT-Link v5 и клоне J-LINK ULTRA V8
toweroff
Вкрутил в кейл 4.21 старые библиотеки RDI
работает, соединяется и прошивает влёт
Но отладка - глюк на глюке. Прыгает и скачет куда хочет. На всякий случай купил у китайцев ulink2, мало ли. Но покопаюсь еще с настройками RDI, может где-то что-то упустил. Потому как ядро либа поддерживает
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.