This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cyg_flash_program_mask


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]