Hi Tom,
On 15.02.2011 19:18, Tom Schouten wrote:
I found the other behaviour in the atmel dataflash implementation
(current CVS tree).
In
packages/devs/flash/atmel/dataflash/current/src/devs_flash_atmel_dataflash_flash_dev_funs.c:
In function df_flash_program()
cyg_dataflash_program_buf(&priv->dev, 1, page, true)
In
packages/devs/flash/atmel/dataflash/current/src/devs_flash_atmel_dataflash.c:
int
cyg_dataflash_program_buf(cyg_dataflash_device_t *dev,
cyg_uint8 buf_num,
cyg_uint32 page_num,
cyg_bool erase)
Hence for atmel dataflash the "erase" is always true.
There is probably a simple explanation for that. The Atmel Dataflash is
not your garden-variety NOR flash. It requires erasing before
programming. Quoting section 5.2.3 from AT45DB021B data sheet:
"Successive page programming operations without doing a page erase are
not recommended".
--
Kind regards,
Tarmo Kuuse
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss