Dear all,

I am trying to get the flash on my dsp56l307evm board working. However I do
not fully understand how to fill in the non_cfi data.  The variable names
are not so descriptive.

My flash chip is an AT29LV010A that is a 128kbyte chip of atmel. It has
1024 sectors of 128bits. See
http://www.mouser.com/ds/2/36/atmel_AT29LV010A-341298.pdf for a datasheet.

I have now added the following to the non_cfi.c file:
{
.mfr = CFI_MFR_ATMEL, /* Atmel AT29LV010A   */
.id = 0x02,                        // <-- This should be 0x35 but I am
currently reading 0x02
.pri_id = 0x02,                  // <-- I can choose 0x00 or 0x02
.dev_size = 128*KB,         // <-- size of my chip 128kByte
.interface_desc = 0x0,       /* x8 only device */
.max_buf_write_size = 128,  //< -- is this needed?
.status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
.num_erase_regions = 1,
.erase_region_info = {
ERASE_REGION(1024, 128)  // I wonder if this works!!!
}
},

This more or less works however I do like to know if this works.
Are my supplied values correct / do I have the right understanding how I
should ?

I have especially a problem with the ERASE_REGION macro.  I think my cell
size is too small because it expands to ERASE_REGION(num, size)
(((size/256) << 16) | (num-1)), which results in 0 for 128/256 and gives
then 0x3FF back.
What should I do here?

I do have more issues that my second read of the device ID is actually not
returning the device ID but the data in the flash.  Maybe I don't read
quick enough or I am toggling some lines which I shouldn't do.  Has someone
an advice on this issue as well?

Many thanks in advance!!!

Kind regards,

Han
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to