Rolf,

Yes - I'm running without defining a working area.  Unfortunately, I 
seem to be getting the sort of write speeds normally reserved for 
paper tape and acoustic couplers.  (which is why I called for help on 
this list!)

I was hoping that block write and/or fastdata would help me out.

I can use code and hack on it a bit, but I'm nowhere near able to fix 
something like this...

Thanks,

-S


At 12:02 AM 9/21/2009, Rolf Meeser wrote:
>Hi Stephan,
>
>Thanks!
>
>I just saw that you are using a MIPS processor. The 
>cfi_spansion_write_block() function supports ARM targets only. 
>Currently this executes ARM opcodes on your machine, so you can be 
>lucky that it returned at all :-)
>There is no checking the architecture yet.
>
>I believe your only choice at the moment is to not define a working 
>area (or one that has a ~300 bytes maximum). That would ensure that 
>the ARM code doesn't get executed because of low resources.
>
>Or maybe you want to fix it? :-)
>
>Regards,
>Rolf
>
>Anyone: How can I detect most efficiently that a target supports ARM code?
>
>
>
>
>--- Stephan Winokur <m...@swinokur.com> schrieb am Mo, 21.9.2009:
>
> > Von: Stephan Winokur <m...@swinokur.com>
> > Betreff: Re: AW: [Openocd-development] problems with FASTDATA 
> bulk  write and spansion flash
> > An: "Rolf Meeser" <rolfm_...@yahoo.de>, 
> openocd-development@lists.berlios.de
> > Datum: Montag, 21. September 2009, 7:47
> > Hi Rolf,
> >
> > The device is a Spansion S29GL512P11TFI01.
> >
> > flash info 0 says:
> > > flash info 0
> > #0 : cfi at 0x48000000, size 0x04000000, buswidth 2,
> > chipwidth 2
> >         #  0: 0x00000000 (0x20000
> > 128kB) protection state unknown
> >         #  1: 0x00020000 (0x20000
> > 128kB) protection state unknown
> >         #  2: 0x00040000 (0x20000
> > 128kB) protection state unknown
> >         #  3: 0x00060000 (0x20000
> > 128kB) protection state unknown
> >         #  4: 0x00080000 (0x20000
> > 128kB) protection state unknown
> >         #  5: 0x000a0000 (0x20000
> > 128kB) protection state unknown
> >         #  6: 0x000c0000 (0x20000
> > 128kB) protection state unknown
> >         #  7: 0x000e0000 (0x20000
> > 128kB) protection state unknown
> >         #  8: 0x00100000 (0x20000
> > 128kB) protection state unknown
> > [...]
> >         #510: 0x03fc0000 (0x20000
> > 128kB) protection state unknown
> >         #511: 0x03fe0000 (0x20000
> > 128kB) protection state unknown
> >
> > cfi information:
> >
> > mfr: 0x0001, id:0x227e
> > qry: 'QRY', pri_id: 0x0002, pri_addr: 0x0040, alt_id:
> > 0x0000, alt_addr: 0x0000
> > Vcc min: 2.7, Vcc max: 3.6, Vpp min: 0.0, Vpp max: 0.0
> > typ. word write timeout: 64, typ. buf write timeout: 64,
> > typ. block erase timeout: 512, typ. chip erase timeout:
> > 524288
> > max. word write timeout: 512, max. buf write timeout: 2048,
> > max. block erase timeout: 4096, max. chip erase timeout:
> > 2097152
> > size: 0x4000000, interface desc: 2, max buffer write size:
> > 40
> >
> > Spansion primary algorithm extend information:
> > pri: 'PRI', version: 1.3
> > Silicon Rev.: 0x5, Address Sensitive unlock: 0x0
> > Erase Suspend: 0x2, Sector Protect: 0x1
> > VppMin: 11.5, VppMax: 12.5
> >
> >
> >
> >
> >
> > At 10:40 PM 9/20/2009, Rolf Meeser wrote:
> > > Hi Stephan,
> > >
> > > What is the exact type number of the flash device?
> > >
> > > Regards,
> > > Rolf
> > >
> > > --- Stephan Winokur <m...@swinokur.com>
> > schrieb am Mo, 21.9.2009:
> > >
> > > > Von: Stephan Winokur <m...@swinokur.com>
> > > > Betreff: [Openocd-development] problems with
> > FASTDATA bulk write and spansion flash
> > > > An: openocd-development@lists.berlios.de
> > > > Datum: Montag, 21. September 2009, 4:45
> > > > Hi all,
> > > >
> > > > I'm trying to make faster flash writes happen on
> > a mips
> > > > based
> > > > platform -- because this is crazy: wrote 524288
> > byte from
> > > > file
> > > > /root/flashme.bin in 45807.718750s (0.011177
> > kb/s).
> > > >
> > > > I've downloaded the svn snapshot (2734), applied
> > the
> > > > "FASTDATA" bulk
> > > > write optimization, and made the necessary
> > changes in my
> > > > target to
> > > > add a working area.  (mww and mdw show me
> > able to
> > > > modify values, read
> > > > them back, etc.)
> > > >
> > > > (the target line is: target create $_TARGETNAME
> > mips_m4k
> > > > -endian
> > > > $_ENDIAN -variant ejtag_srst -chain-
> > > > position $_TARGETNAME  -work-area-phys
> > 0xb0100000
> > > > -work-area-size 0x1000)
> > > >
> > > >
> > > > When I try to write flash, I get this error:
> > > >
> > > > Debug: 260 36117 target.c:1108
> > target_write_buffer():
> > > > writing buffer
> > > > of 2048 byte at 0xb0100060
> > > > Debug: 261 36117 mips_m4k.c:990
> > > > mips_m4k_bulk_write_memory():
> > > > address: 0xb0100060, count: 0x00000200
> > > > Debug: 262 36117 target.c:962
> > target_alloc_working_area():
> > > > allocating
> > > > new working area
> > > > Info : 266 37460 mips32_pracc.c:858
> > > > mips32_pracc_fastdata_xfer():
> > > > mips32_pracc_fastdata_xfer using 0xb0100860 for
> > write
> > > > handler
> > > >
> > > > Debug: 267 37504 cfi.c:1562
> > cfi_spansion_write_block():
> > > > status: 0xb7fac190
> > > > Error: 268 37504 flash.c:100
> > flash_driver_write(): error
> > > > writing to
> > > > flash at address 0x48000000 at offset 0x00000000
> > (-902)
> > > >
> > > > When I try to use load_image, I get this error:
> > > >
> > > >  > load_image /root/small.bin 0xb0200000
> > > > mips32_pracc_fastdata_xfer using 0xb0100000 for
> > write
> > > > handler
> > > >
> > > > User : 134 6572 mips32.c:269 mips32_arch_state():
> > target
> > > > halted due
> > > > to debug-request, pc: 0xbfc00000
> > > > Debug: 136 10713 command.c:68 script_debug():
> > command -
> > > > load_image
> > > > Debug: 137 10713 command.c:77 script_debug():
> > load_image -
> > > >
> > > > argv[0]=ocd_load_image
> > > > Debug: 138 10713 command.c:77 script_debug():
> > load_image -
> > > >
> > > > argv[1]=/root/small.bin
> > > > Debug: 139 10713 command.c:77 script_debug():
> > load_image -
> > > > argv[2]=0xb0200000
> > > > Debug: 140 10713 configuration.c:83 find_file():
> > found
> > > > /root/small.bin
> > > > Debug: 141 10714 configuration.c:83 find_file():
> > found
> > > > /root/small.bin
> > > > Debug: 142 10714 target.c:1108
> > target_write_buffer():
> > > > writing buffer
> > > > of 10470 byte at 0xb0200000
> > > > Debug: 143 10714 mips_m4k.c:990
> > > > mips_m4k_bulk_write_memory():
> > > > address: 0xb0200000, count: 0x00000a39
> > > > Debug: 144 10714 target.c:962
> > target_alloc_working_area():
> > > > allocating
> > > > new working area
> > > > Info : 147 12057 mips32_pracc.c:858
> > > > mips32_pracc_fastdata_xfer():
> > > > mips32_pracc_fastdata_xfer using 0xb0100000 for
> > write
> > > > handler
> > > >
> > > > Error: 148 12127 mips32_pracc.c:921
> > > > mips32_pracc_fastdata_xfer():
> > > > mini program did not return to start
> > > >
> > > > Debug: 149 12127 mips_m4k.c:887
> > mips_m4k_write_memory():
> > > > address:
> > > > 0xb02028e4, size: 0x00000001, count: 0x00000002
> > > > Debug: 150 12129 mips32_pracc.c:105
> > wait_for_pracc_rw():
> > > > DEBUGMODULE:
> > > > No memory access in progress!
> > > >
> > > > Debug: 151 12129 command.c:444 run_command():
> > Command
> > > > failed with
> > > > error code -107
> > > > User : 152 12129 command.c:646
> > openocd_jim_vfprintf():
> > > > Runtime error,
> > > > file "command.c", line 473:
> > > >      User : 153 12129
> > command.c:646
> > > > openocd_jim_vfprintf():
> > > >
> > > > Thanks!
> > > >
> > > > -S
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Openocd-development mailing list
> > > > Openocd-development@lists.berlios.de
> > > > https://lists.berlios.de/mailman/listinfo/openocd-development
> > > >
> >
> >
> > Stephan Winokur      "Il silenzio di un
> > bacio vale piĆ¹ di mille parole."
> > m...@swinokur.com
> >
> >

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to