В общем целый день мучился с отладчиком, а "воз и ныне там".
Проверил дорожки на плате - hardware problem нету, все разведено правильно и соотествует схеме. Обрывов дороже нету, о чем можно убедиться работой кросворка.
Проект кроссворка содержит следующие функции инициализации jtag:
function LPC210X_Reset()
{
TargetInterface.setNSRST(0);
TargetInterface.setNSRST(1);
TargetInterface.delay(100);
TargetInterface.trst();
TargetInterface.setICEBreakerBreakpoint(0, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x100, 0xF7);
TargetInterface.waitForDebugState(1000);
TargetInterface.getICEBreakerRegister(5); /* Clear out Debug Comms Data */
TargetInterface.pokeWord(0xE0000000, 0); /* Reset Watchdog */
TargetInterface.pokeWord(0xE0028008, 0); /* Reset IODIR */
TargetInterface.pokeWord(0xE002C000, 0); /* Reset PINSEL0 */
TargetInterface.pokeWord(0xE01FC000, 0); /* Reset MAMCR */
TargetInterface.pokeWord(0xE01FC080, 0); /* Reset PLL */
TargetInterface.pokeWord(0xE01FC08C, 0xAA); /* Feed PLL */
TargetInterface.pokeWord(0xE01FC08C, 0x55); /* Feed PLL */
TargetInterface.pokeWord(0xFFFFF014, 0xFFFFFFFF); /* Disable all interrupts */
TargetInterface.setICEBreakerBreakpoint(0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000, 0x00);
}
Я весь инет перерыл пытась найти аналогичный .setup файл для jlinkrdi под lpc2106. Написал бы и сам, но не увидел в коммандах макрофайла аналога вот этой функции: TargetInterface.trst(); - сброс TAP, кажется мне тут собака порылась.
Либо же нужно отключать wdt, pll и прочее...
Обидно в общем, мучился с вигглером, купил девайс вроде качественный, результат нулевой. Причем проблема эта с Bad jtag communication действительно не mt-link, a j-link и хоть бы кто толковое что про это сказал. Все англоязычные источники облазил.
Кстати когда связь устанавливается и все хоршо, состояние пинов следующее:
TCK=1 TDI=0 TDO=0 TMS=0 TRES=1 TRST=1
А после ресета, следующее:
J-Link>rx 250
Reset delay: 250 ms
Reset type NORMAL: Using RESET pin, halting CPU after Reset
Info: Resetting target using RESET pin
Info: Halting CPU core
Info: Resetting target using RESET pin
Info: Halting CPU core
****** Error: Received 0xFFFFFFFF as core Id. No communication with core.
Bad JTAG communication: Write to IR: Expected 0x1, got 0x7 (TAP Command : 2) @ O
ff 0x5.
J-Link>st
VTarget=3.293V
ITarget=0mA
TCK=1 TDI=0 TDO=1 TMS=0 TRES=1 TRST=1
то есть активна линия TDO=1, что это может значить? Хорошего или плохого?
Надежда на решение проблемы тает с каждым часом