Xscale ixp425 and strataflash program via Olimex-USB-JTAG.

Hello,

I have a xscale ixp425 (Pronghorn sbc-250) Single Board Computer and destroyed my bootloader RedBoot, so unfortunately i cannot boot my card.

I have Olimex USB JTAG and would like to burn redboot binary into strata 28f128 flash memory to overcome boot problem.

jtag connection picture available at this link

http://rapidshare.com/files/111860358/S5001133.JPG.html

What should i do to handle this problem?

-Processor : ixp425

-Flash Memory : Intel js28F128

-RAM 2x 48LC16M16A2 (2 x 32Mbyte)

I have tried this openocd configuration file,

#-----------------begin xscale-olimex-ipx425.cfg-----------------------------

#daemon configuration

telnet_port 4444

gdb_port 3333

#interface Olimex OpenOCD

interface ft2232

ft2232_device_desc “Olimex OpenOCD JTAG”

ft2232_layout olimex-jtag

ft2232_vid_pid 0x15ba 0x0003

jtag_speed 0

jtag_nsrst_delay 200

jtag_ntrst_delay 200

#use combined on interfaces or targets that can’t set TRST/SRST separately

reset_config trst_and_srst srst_pulls_trst

#jtag scan chain

#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)

jtag_device 7 0x1 0x7f 0x7e

#target configuration

daemon_startup reset

#target

#target arm7tdmi

target xscale big run_and_halt 0 IXP42x

run_and_halt_time 0 30

flash bank cfi 0x50000000 0x1000000 2 2 0

#--------------------end xscale-olimex-ipx425.cfg-------------------

but JTAG communication error occurred

bolatd@bolatd-desktop:~/arm_linux/openocd$ openocd -f xscale-olimex-ipx425.cfg

Open On-Chip Debugger 1.0 (2008-03-09-22:10) svn:477

$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $

Error: jtag.c:1368 jtag_examine_chain(): JTAG communication failure, check connection, JTAG interface, target power etc.

Error: jtag.c:1562 jtag_init(): trying to validate configured JTAG chain anyway…

Error: jtag.c:1461 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x0000

Error: jtag.c:1461 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x0000

Error: jtag.c:1461 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x0000

Error: jtag.c:1461 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x0000

Error: jtag.c:1461 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x0000

Error: jtag.c:1461 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x0000

Error: jtag.c:1570 jtag_init(): Could not validate JTAG chain, exit

Thanks for any kind of help.

Bolat DINC

I got mine to sort of work replacing reset_config in your file with the following:

reset_config trst_and_srst

Then I’m able to get registers and dump memory. However, when I try to transfer a large block of data (e.g. mdw 0x50000000 64), I get the error:

Error: 2795 2604299 ft2232.c:188 ft2232_write(): ftdi_write_data: usb bulk write failed

Error: 2796 2604300 ft2232.c:405 ft2232_send_and_recv(): couldn’t write MPSSE commands to FT2232

I’m using svn rev 702.

I am getting this same communication failure with May 16 2008 svn 657 release.

Error: jtag.c:1368 jtag_examine_chain(): JTAG communication failure, check connection, JTAG interface, target power etc.

Error: jtag.c:1562 jtag_init(): trying to validate configured JTAG chain anyway

Error: jtag.c:1461 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x0000

From searching here I can’t determine what the fix might be.

Other posts suggest that it may be one of …

  1. A bug in release(s) of Openocd where a prior release may work?

How does only change what file( s) to run another version without another install?

  1. Posts indicate it could be a power issue on USB. I have seen a suggestion of buying a power hub to fix that. I doubt it for me with a new

DELL inspiron with usb 2,0

  1. Increasing speed or reset values but that hasn’t worked for me.

Anybody have an xscale board working under openocd? Can you breakpoint or just flash? What is your configuration exactly?

:frowning:

Hi,

I have handled my XScale RedBoot problem.

install openocd as svn checkout -r 658 svn://svn.berlios.de/openocd/trunk

and then try these scripts.

#interface Olimex OpenOCD–[begin]

interface ft2232

ft2232_device_desc “Olimex OpenOCD JTAG”

ft2232_layout olimex-jtag

ft2232_vid_pid 0x15ba 0x0003

jtag_speed 16

jtag_ntrst_delay 200

jtag_nsrst_delay 400

#use combined on interfaces or targets that can’t set TRST/SRST separately

#reset_config trst_and_srst srst_pulls_trst

reset_config srst_only

#reset_config trst_and_srst trst_pulls_srst

#jtag scan chain

#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)

jtag_device 7 0x1 0x7f 0x7e

#target configuration

daemon_startup reset

#target

#target arm7tdmi

target xscale big reset_init 0 ixp42x

target_script 0 reset ixp425.init

run_and_halt_time 0 30

flash bank cfi 0x50000000 0x1000000 2 2 0

#interface Olimex OpenOCD–[end]

#XScale IXP425 init script–[begin]

wait_halt

set big endian mode

reg XSCALE_CTRL 0xF8

setup expansion bus CS

mww 0xc4000000 0xbd113c42 # CS0: Flash, 16 Bit, write enabled @0x50000000

flash probe 0

#XScale IXP425 init script–[end]

I hope, it works properly.

Sincerely

Bolat DINC

So now I can communicate!

Thanks bolatd just need to change reset times to get communicating!

My phytec pxa270 and jtagkey by amontec is a different but

close to your setup Bolatd as both have xscale processors and ftdi2232 usb interfaces.

Seems what is needed is just the right scripts-settings

for the processor and board. I tried r658? on Suse this morning but got stuck with some interface naming difference(s) under Linux version so I came back to the postings here and caught your prior script posting.

So back on openocd under windows for now see the script I am using way below.

With this script I am better and but still see these errors at startup …

couldn’t open xscale/debug_handler.bin

and then

timed out waiting for reset

where it hangs.

I have tried changing the jtag speed and it appears to make no difference

the reset delays are needed as they are.

Any more ideas anyone?


telnet_port 3333

gdb_port 4444

interface ft2232

ft2232_layout jtagkey

ft2232_device_desc “Amontec JTAGkey A”

ft2232_vid_pid 0x0403 0xCff8

jtag_speed 0

jtag_nsrst_delay 250

jtag_ntrst_delay 250

reset_config trst_and_srst separate

jtag_device 7 0x1 0x7f 0x7e

daemon_startup reset

target xscale little reset_halt 0 pxa27x

working_area 0 0xa0000000 0x10000 nobackup

run_and_halt_time 0 30

target_script 0 reset c:\Program Files\openocd-r657\bin\pxa270flash.ocd

#flash bank cfi 0×00000000 0×2000000 2 4 0

bolatd:
Hi,

I have handled my XScale RedBoot problem.

install openocd as svn checkout -r 658 svn://svn.berlios.de/openocd/trunk

and then try these scripts.

Bolatd

is it possible to get compiled version of 658?

I have same type of errors with olimex tiny and ver 657?