SparkFun Forums 

Where electronics enthusiasts find answers.

Everything ARM and LPC
By Markus
#4293
Hi,

Once again on this forum: JTAG debugging does not work!
I studied all discussions on this forum, but can not find the
answer for my problem.

I use the WinARM toolchain (Thank's to M. Thomas).
I am a proud owner of a OLIMEX LPC-MT-2106 development
board with a JTAG-ARM.

As I know from OLIMEX and other sources, GDB/Insight debugging
just works for RAM placed code.

The OCDRemote seems to work with the following options:
ocdremote -c arm7tdmi-s -d wiggler -s 8
Everything less then -s 8 does not work.

After starting OCDRemote, which is waiting for a connection on
Remote/TCP localhost:8888, I configure the Target Selection
in arm-elf-gdb/Insight as follows:
- Target: Remote/TCP
- Hostname: localhost
- Port: 8888
- Set breakpoint at 'main'
- Set breakpoint at 'exit'
- Attach to Target
- Run Method: Continue from Last Stop

Then I open the *.elf file for debugging. GDB connects to the target
with this answer in the cygwin shell:
ocdremote 2.08: WIGGLER via LPT 1 at speed : 8
JTAG SDO <-| CPU(1) ARM7TDMI-S : listening on port 8888 |<- JTAG SDI
CPU[1] Accepted gdb connection on port 8888.

But then nothing happens. Insight seems to hang. Debugging is
not possible.

Is there someone who has debugged a RAM-based project with
gdb/insight and a LPC21xx ?
Any other suggestions?

Thanks for every help,
Markus
By OLIMEX
#4313
hi,

I've seen number of such reports from customers. Unfortunately it seems that GNUARM have some bug or need more tuning to get working with LPC and I've not seen someone who done this. We don't use GNUARM and unfortunately can't help you.
Here is something recently written from our customer to who I suggested to try Rowley IDE:

"Downloaded Rowley's IDE and got the temporary key. Some strange things are
happening.

I can download and run the code with the Rowley IDE. After using the Rowley
IDE, I can then use the GNUARM toolset with no problems at speed 5.

From a power up condition I cannot use the GNUARM. If I then run Rowley,
then try GNUARM without power cycling GNUARM works. If I power cycle then I
must run Rowley first."

It may be something really simply in the GNUARM setup but this is the common disease with the open source software - you can use it effectively if you have more than basic level user knowledges, otherwise you have to wait someone to fix the bug (and this usually takes a lot of time).

best regards
Tsvetan