My AT91SAM7-256 is locked out?

Hello friends,

Please help me out here.

I recently bought this AT91SAM7-256 board: http://www.sparkfun.com/commerce/produc … cts_id=774

I was a happy customer… for a day. The next day I uploaded a USB firmware code to it that made the SAM-PROG software not recognize the board any longer. The code has a bug, since Windows doesn’t enumerate the board as a USB device, which is what I was hoping to achieve. What I didn’t know is that that was enough for the board to be locked out.

I have tried the procedure described in the Olimex website http://www.olimex.com/dev/SAM-BA%20Notes.htm for recovery, and that worked fine in the first day.

Let me tell you my work environment:

Windows XP

AT91SAM7-256

Yagarto for compiling/linking

SAM-PROG v2.4 for uploading code to board.

The sad part of this is that the board seems to be a quality product, I’m happy in this regard, but there is no info from Olimex website and no support.

If I can’t find a way to bring the board out of the brick state it is, I may have to return it.

Has anyone faced that problem with his board? Please help me out. Thanks a lot.

Cardman.

The SAM7 should be able to erase all the flash memory by using the ERASE pin, is the pin connected to a jumper on that board ?

Another option is to use a JTAG probe, probably you would be able to upload new code using it.

Thank you gdisirio for replying.

But that didn’t help. The jumper you talk about is the same described in the procedure from the link in my initial post. Executing that procedure only works when the board is unlocked.

As for uploading code using JTAG, I have the ARM-USB-TINY cable http://www.olimex.com/dev/arm-usb-tiny.html , but am getting this message when I try to use it:

Error: jtag.c:1301 jtag_examine_chain(): number of discovered devices in JTAG chain (578) doesn’t match conf

iguration (1)

Error: jtag.c:1302 jtag_examine_chain(): check the config file and ensure proper JTAG communication (connect

ions, speed, …)

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

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

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

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

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

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

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

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

What I really would like is to be able to use SAM-PROG as I was using before, because it is practical.

Any other idea? Anyone.

Thanks.

Hello again.

I have tried a little more to download code in the board through ARM-USB-TINY and, after removing the BDS jumper and changing the cfg file, I am now getting this message:

Info: openocd.c:93 main(): Open On-Chip Debugger (2007-09-05 09:00 CEST)

Error: embeddedice.c:181 embeddedice_build_reg_cache(): unknown EmbeddedICE version (comms ctrl: 0x00000000)

Warning: arm7_9_common.c:734 arm7_9_assert_reset(): srst resets test logic, too

And here is the cfg file I am using:

Flash AT91SAM7S memory using openocd

and a FTDI FT2232-based JTAG-interface

created by Martin Thomas

based on information from Dominic Rath

#daemon configuration

telnet_port 4444

gdb_port 3333

#interface

interface ft2232

ft2232_device_desc “Olimex OpenOCD JTAG TINY A”

ft2232_layout “olimex-jtag”

ft2232_vid_pid 0x15BA 0x0004

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 srst_only srst_pulls_trst

#jtag scan chain

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

jtag_device 4 0x1 0xf 0xe

#target configuration

daemon_startup reset

#target

#target arm7tdmi

target arm7tdmi little run_and_init 0 arm7tdmi

run_and_halt_time 0 30

flash-options AT91

target_script 0 reset openocd_at91sam7s_flash.script

working_area 0 0x00200000 0x4000 nobackup

flash bank at91sam7 0 0 0 0 0

For more information about the configuration files, take a look at:

http://openfacts.berlios.de/index-en.ph … p+Debugger

Any idea? anyone?

AT91SAM7 Pin 55 is ERASE which is route to R37. Simply short this two PAD, it will erase all the program you flashed into memory.

Hi Cardman.

I prepared a tutorial with the whimsical title “Your Atmel Board may not be dead” and Spark Fun has hosted it under their “Tutorials” section.

Please take a look - it’s only five pages.

Cheers,

Jim Lynch