This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
Re: Intel FLASH
> I started off defining BOOTBLOCK_FLASH, and that didn't work -- my
> device returns 0x65 for the device code, hence my digression into CFI.
> I now have
the datasheet I have lists W parts as having 0x5X ids...strange
>
> // Secret decoder ring:
> // CYGOPT_FLASH_IS_BOOTBLOCK
> // flash_erase_block.c
> // flash_unlock_block.c
> // use this to erase or unlock the smaller blocks at the
> // bottom of flash. In the case of
also lock.c should have that but I only needed unlocking the
bootblocks..
> // CYGOPT_FLASH_IS_SYNCHRONOUS
[...]
> the K3 device supports individual block locking/unlocking.
The original strata the J3 does not hence the option. K3 is
synchronous strata flash.
>
> Also, a few other observations...
> 1) The few datasheets I have looked at for the B3, K3, etc... devices
> all say that either 0x40 or 0x10 can be used to program a single word
> into the device. So, conditioning 'FLASH_Program' to be 0x40 vs 0x10
> based on'CYGOPT_FLASH_IS_BOOTBLOCK' is a little confusing.
I thinks so too.
> 2) 'flash_program_buf()' writes the 'FLASH_Program' word to 'BA[0]'
> rather than '*addr', which is what the datasheets I've seen so far all
> say to do.
You're right, I wonder why it worked for me...I had to write to BA[0]
instead of ROM[0] though..Looks like a safe change.
> the 28Fxxxx code). All questions, comments, and words of
> encouragement are welcome at this point.
go Patrick!