Hi Michael,

I will stop referring to the "obscure forum":-)

You are right there are very little differences from the 39VF6401B flash
to some of its predecessors.

I used "Beyond Compare to compare the SST39VF16/32/64-01 and the
39VF640XB specs, and besides 5555H vs 555H and 2AAAH vs 2AAH differences
I also noticed another difference between the 39VFXXXX and 39VFXXXXB.

Taken from the SST 39VF6401B spec:

"This is that some erase command has been swapped(This is for the
39VF6401B):
The Sector- (or Block-) Erase operation allows the system 
to erase the device on a sector-by-sector (or block-byblock) 
basis. The SST39VF640xB offer both Sector-Erase 
and Block-Erase mode. The sector architecture is based 
on uniform sector size of 2 KWord. The Block-Erase mode 
is based on uniform block size of 32 KWord. The Sector-
Erase operation is initiated by executing a six-byte command 
sequence with Sector-Erase command (50H) and 
sector address (SA) in the last bus cycle. The Block-Erase 
operation is initiated by executing a six-byte command 
sequence with Block-Erase command (30H) and block 
address (BA) in the last bus cycle. The sector or block 
address is latched on the falling edge of the sixth WE# 
pulse, while the command (50H or 30H) is latched on the 
rising edge of the sixth WE# pulse...."

For the SST39VF16/32/64-01 specification the 30H and 50H is swapped is
this maybe taken care of by the 2 different command sets already?

Is this Block/Sector Erase even being used during the normal flash
process?

How can I learn more about the commands sets?

Sorry for all the questions:-)

Regards Flemming

-----Original Message-----
From: Michael Schwingen [mailto:rincew...@discworld.dascon.de] 
Sent: 30. december 2009 23:16
To: Flemming Futtrup; openocd-development@lists.berlios.de
Subject: Re: [Openocd-development] Adding support for SST 39VF6401B
external flash

Flemming Futtrup wrote:
> Hi Michael,
>
> Thanks for all the comments Good to know that I might be on the track.
>
> Here are my comments/questions:
>   
>> So something goes wrong when running the programming algorithm on the
>>     
> target. One possible area would be the command-completion check, where
> the toggle/error bits differ between manufacturers.
>
> OK, is it possible to alter/verify this?
>   
You would have to look at the run_algorithm code in the CFI driver and
match that against the datasheet for the flash. Remote debugging this
might get difficult.

>> When running the programming algorithm on target (with working area),
>>     
> can you program the SST39VF6401 flash on the same board? What about a
> different flash with command set 02 (eg. Spansion)?
>
> I don't have the SSTVF396401 flash and I am 90% SW guy so soldering a
> new flash onto the board is difficult for me. However if it is the
only
> way forward I will be able to do it but not until the 5. of January
> because of missing equipment.
>
>
>   
>> The question being: is this a problem with the SST flash, or is this
a
>>     
> general problem with target-based programming on the CPU you use?
>
> The flash programming works fine with the exact same CPU:LPC2468 on an
> embedded artist board with SST 39VF3201 flash. The only change I made
to
> my script is the Flash size as that flash is a 4M.
>   
Hm. From a quick look, I did not see anything strange in the 39VF6401B
datasheet that would explain the differences.

Unfortunately, the biggest SST flash I have here in my collection is the
39VF3201, so this is no help for you.


> kind of trouble as some of the other people I read about are having? 
>   
>>  I do not know what kind of trouble you are talking about - I can't
>>     
> remember any unresolved CFI/non-CFI flash problems related to command
> sets on this list in the lasts few months. Do you have a pointer to
such
> a discussion?
>
> Ohh maybe I got it wrong. I was referring to posts similar to this:
> http://forum.sparkfun.com/viewtopic.php?t=4272
>   
Hm - are you serious?
You use a post on some obscure web forum, more than 3 years out of date,
as reference?
Even if a current problem is described there, how should the OpenOCD
developers know about it?

Support for AMD/Spansion CFI flash has been in OpenOCD for quite some
time, and works great - otherwise, you would not be able to program the
39VF3201, either.

I just pulled current openocd-git and plugged an EON EN29LV640L into my
development board (I have sockets for those TSOP48 flashs - too bad
Yamaichi stopped making them when ROHS came up):

JTAG tap: ipx42x.cpu tap/device found: 0x19277013 (mfg: 0x009, part:
0x9277, ver: 0x1)
target state: halted
target halted in ARM state due to debug-request, current mode:
Supervisor
cpsr: 0x000000d3 pc: 0x00000000
MMU: disabled, D-Cache: disabled, I-Cache: disabled
(processor reset)
XSCALE_CTRL (/32): 0x000000F8
Flash Manufacturer/Device: 0x007f 0x227e
configuration specifies 0x200000 size, but a 0x800000 size flash was
found
flash 'cfi' found at 0x50000000
> uboot
protect: cfi primary command set 2 unsupported
cleared protection for sectors 0 through 10 on flash bank 0
auto erase enabled
wrote 262144 bytes from file /tftpboot/actux1/u-boot.bin in 10.847293s
(23.600 kb/s)

This is definitely an AMD (02) commandset flash.

(BTW: that write speed looks great - I was used to get around 12KB/s
using my parport adapter)

SST 39VF3201 works fine on my board, too, but I don't have a 39VF6401 to
test.

cu
Michael




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

Reply via email to