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

Reply via email to