----- Ursprüngliche Nachricht -----
Von: Dmitry Zuikov
Gesendet am: 16 Jun 2009 14:04:16
> This is because the 54xx are devices with X architecture and there are
> some changes in JTAG for thouse MCU's. JTAG version is changed too,
> that's one of reasons (but not the only one) why gdbproxy is broken for
> the 54XX. JTAG Memory writing routines are changed also.
Does this mean that I cannot even use MSP430-jtag to program these processor
(with or without use of the additional FLASH segments)?
>> Unfortunately SLAU256a doesn't contain information about how to *debug* a
>> device
>> through it's "JTAG" port.
> Hmm. Of course I have never implement a debugger, but what if take a
> look how x86 debuggers work...
usually, these debuggers set a hardware breakpoint to enter an interrupt
function, then analyze registers, stack etc to get the current state.
Older 286 debuggers simply temporarily overwrite the code at the breakpoint
location with an INT code to trigger the interrupt etc.
Debugging through JTAG is a bit more complicated, but not too different. AFAIK
(and I'm definitely not an expert here) you can set a condition (memory access
etc.) to make the JTAG interface freeze the cpu, then you
can probe everything through memory access. As the memory is no longer 16 bit
address range, this might be the cause for the changes in JTAG protocol.
Personally, I never used a debugger on MSPs, as it is of no use when you have
to work on realtime communication with other devices. You usually can't control
them all simultaneously, so as soon as you hit a
breakpoint, everything is out-of-sync and all you can do is to take a moments
snapshot and start over from zero again.
Using a serial communication (luckily all of our devices have at least RS485)
with debugging output and a few LEDs (or digital outputs you can probe with an
Oscilloscope) is all that can be used.
Well, last week I have been ordered to help with the PC software part of the
project, now I have to write an debug complex JavaScript code with dynamic
server interactions. The situation hasn't changed: still debug
output on the web page is all I can rely on. :(
JMGross