OpenOCD native windows version unstable ?

Since I installed OpenOCD in the native Windows version (actual r100) it seems to me Open OCD gets much more unstable.

Possibly a hardwareproblem …

I’m working with Amontec JTAGkey, insight and Eclipse.

The old cygwin-based Unix-Version workes much better.

Do somebody have an idea ?

Or where can I get the newes executable version in not windows-native form ?(With no need to compile it by myself :roll: )

Thanks,

Andreas

Hello Andreas,

there should be no difference between a native compiled version and a Cygwin version. What exactly do you mean by unstable? Quite possible that there’s some regression, i.e. bugs that got introduced when other things were fixed/enhanced.

AFAIK there’s noone providing Cygwin versions anymore, as the native versions provided by Michael Fischer work on Cygwin as well.

Regards,

Dominic

Hy dominic !

It figured out that OpenOCD works great when -log function is enabled (with or without debug output doesn’t matter).

When I try to debug without building a log-file debugging stops immediately and displays following messages :

C:\Dokumente und Einstellungen\xxx\Desktop>echo on

C:\Dokumente und Einstellungen\xxx\Desktop>cd  C:\Projekte\xxxxx
\Software\JTAGKEY

C:\Projekte\xxx\Software\JTAGKEY>openocd-ftd2xx -f SAM7.cfg
Info:    openocd.c:82 main(): Open On-Chip Debugger (2006-09-28 20:00 CEST)
Warning: arm7_9_common.c:679 arm7_9_assert_reset(): srst resets test logic, too
Warning: arm7_9_common.c:785 arm7_9_halt(): target was already halted
Info:    server.c:67 add_connection(): accepted 'gdb' connection from 0
Warning: arm7_9_common.c:679 arm7_9_assert_reset(): srst resets test logic, too
Warning: gdb_server.c:195 gdb_put_packet(): negative reply, retrying
Warning: gdb_server.c:246 gdb_get_packet(): acknowledgment received, but no pack
et pending
Error:   arm7_9_common.c:1771 arm7_9_read_memory(): memory read caused data abor
t
Error:   arm7_9_common.c:1771 arm7_9_read_memory(): memory read caused data abor
t

Absolutely the same project runs perfect with log-function enabled :shock:

Seems to be a timing-problem ? JTAGKey works at 6 MHz and device (AT91SAM7A3) at 18,732 MHz.

ATMELS Samba is preinstalled. Perhaps something goes wrong after reset till OCD is able to stop the device … Hmmm

Some time ago I got some similar problems with my AT91RM9200 switching from Cygwin to first native Windows-version of Open OCD.

So I got back to the older version (without further testing the newer version).

Falcon,

… speed issus !

JTAG frequency rule for ARM processors:

The JTAG frequency (TCK frequency) should stay < 1/6 of the main processor frequency (after the PLL).

Try to change the JTAG speed in your .cfg, configuration file of your OpenOCD server.

The other topic could be the on-board reset delay of your target board.

Do you have an on-board reset supervisor ?

Best regards,

Laurent Gauch

The 1/6 rule only applies to synthesizable cores, but the AT91SAM7 uses the hard macrocell. I’m able to use the AT91SAM7X board I’ve got from Olimex at 6MHz with no problems.

The reset delay otoh could be a problem. Make sure you have

jtag_n[st]rst_delay with high enough delays. 500ms should work, but higher values only delay operation after a debug a bit, and shouldn’t have any side effects.

Best regards,

Dominic

oops, I was wrong about the 1/6 … I was thinking LPC2xxx :wink:

Also, you can run @ 6MHz !

Assuming you have an on-board reset supervisor, you have to add these line to you .cfg

#jtag nTRST and nSRST delay

jtag_nsrst_delay 500

jtag_ntrst_delay 500

The 500 is 500 ms.

Regards,

Laurent

Hi Falcon,

Is that better with delaying the reset lines ?

Let me know.

Regards,

Laurent

http://www.amontec.com

http://www.sparkfun.com/cgi-bin/phpbb/v … m.php?f=18

Sorry for the posting before.

I have tryed to answer since 3 days.

Now I use IE instead of firefox and it works unfortunately in the wrong moment :lol:

Hmmm

it wasn’t the browser. It was something in my text ! :shock:

Now I reword:

The issue was the delay. 200ms from Michael Fischers little Ethernut example was to short. I set it to 500 ms and it has started working.

Thank you for the hints.

Laurent, what are possible settings in the config-file for OpenOCD ?

Do I have to set Speedsteps (like 1= 6MHz ,2 = 3MHz , … ) or Speed in MHz ?

Hello Falcon,

jtag_speed

Limit the maximum speed of the JTAG interface. Usually, a

value of zero means maximum speed.

I have take a look in the source:

(0=6MHz, 1=3MHz, 2=1.5MHz, …

I hope this will help you.

Regards,

Michael