I am trying a very simple thing.
In OPENOCD telnet cession I do
reset halt
mww 0 5 1
I get the message
memory write caused data abort (address: 0x00000000, size: 0x4, count: 0x1)
Command handler execution failed
in procedure ‘mww’
My configuration is listed bellow
any clue of what is wrong with this picture would be greatly appreciated
Regards
Jean-Pierre Sainfeld
openocd.cfg
find more details about configuration at
http://openfacts.berlios.de/index-en.ph … figuration
source [ find ./interface-olimex.cfg]
source [ find ./chip-lpc3250.cfg ]
Port on which to listen for incoming telnet connections
telnet_port 4444
#First port on which to listen for incoming GDB connections. The GDB port for the first target will be gdb_port, the second target will #listen on gdb_port + 1, and so on.
gdb_port 3333
set debug_level 3
source [ find ./target-lpc3250.cfg ]
define the NAND flash devices
The command is of the form
nand device <[configparams…]>
Declares a NAND device, which can be read and written to after it has been configured
• name … may be used to reference the NAND bank in most other NAND commands.
A number is also available.
• driver … identifies the NAND controller driver associated with the NAND device being declared.
• target … names the target used when issuing commands to the NAND controller.
• configparams … controllers may support, or require, additional parameters.
nand device ournand lpc3250 0 13000
This procedure is to meant to store a SE blob
from a specified file to a specified block within
a specified FLASH Bank
proc save_blob { bk_id fname blk } {
set offset [format %x [expr $blk * 16384]];
set blk_size 16384;
set size [file size $fname];
set nb_blk [ expr $size / $blk_size];
set round_up [ expr $size % $blk_size];
if { $round_up } {
incr nb_blk;
}
set erase_len [ format %x [expr $nb_blk * $blk_size]];
puts “$fname is $size bytes long”;
puts “we will erase $nb_blk blocks - 0x$erase_len bytes”;
puts “Storing $fname at block $blk [0x$offset] in NAND $bk_id”;
puts “erasing $bk_id 0x$offset 0x$erase_len”;
nand erase $bk_id 0x$offset 0x$erase_len;
puts “writing $fname at 0x$offset in NAND $bk_id”;
nand write $bk_id $fname 0x$offset oob_raw;
puts “verifying $fname at 0x$offset from NAND $bk_id”;
nand verify $bk_id $fname 0x$offset oob_raw;
puts “Done.”;
}
proc nandbb { bk_id sb nb } {
set offset [format %x [expr $sb * 16384]];
set len [ format %x [expr $nb * 16384]];
puts “checking for bad blocks $bk_id 0x$offset 0x$len”;
nand check_bad_blocks $bk_id 0x$offset 0x$len;
}
==============chip-lpc3250.cfg
lpc3250 config
set _CHIPNAME lpc3250
set _ENDIAN little
set _CPUTAPID 0x17926f0f
set _SJCTAPID 0x1b900f0f
jtag newtap $_CHIPNAME sjc -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_SJCTAPID
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm926ejs -endian little -chain-position $_TARGETNAME -work-area-phys 0x0B000000 -work-area-size 0xffffff -work-area-backup 0
proc power_restore {} { puts “Sensed power restore. No action.” }
proc srst_deasserted {} { puts “Sensed nSRST deasserted. No action.” }
======interface-olimex.cfg
Olimex ARM-USB-TINY
http://www.olimex.com/dev/arm-usb-tiny.html
interface ft2232
ft2232_device_desc
The USB device description of the FTDI FT2232 device. If not specified, the FTDI default value is used. This setting is only valid if
compiled with FTD2XX support.
ft2232_device_desc “Olimex OpenOCD JTAG TINY”
ft2232_layout
The layout of the FT2232 GPIO signals used to control output-enables and reset signals
ft2232_layout olimex-jtag
ft2232_vid_pid
The vendor ID and product ID of the FTDI FT2232 device. If not specified, the FTDI default values are used
ft2232_vid_pid 0x15ba 0x0004
================target-lpc3250.cfg
Olimex ARM-USB-TINY
http://www.olimex.com/dev/arm-usb-tiny.html
interface ft2232
ft2232_device_desc
The USB device description of the FTDI FT2232 device. If not specified, the FTDI default value is used. This setting is only valid if
compiled with FTD2XX support.
ft2232_device_desc “Olimex OpenOCD JTAG TINY”
ft2232_layout
The layout of the FT2232 GPIO signals used to control output-enables and reset signals
ft2232_layout olimex-jtag
ft2232_vid_pid
The vendor ID and product ID of the FTDI FT2232 device. If not specified, the FTDI default values are used
ft2232_vid_pid 0x15ba 0x0004
====