This is the mail archive of the 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

On Tue, Feb 15, 2011 at 12:18:14PM -0500, Tom Schouten wrote:
> On 02/15/2011 11:45 AM, Andrew Lunn wrote:
> >>If I understand correctly, the cyg_flash_program() operation erases
> >>before program such that the resulting bit pattern in the Flash always
> >>represents the input bit pattern exactly, instead of being the result
> >>of an "and-mask" operation.
> >I think you are wrong. Take a look at the code. cyg_flash_program()
> >does not call any erase functions.
> >
> >I've done exactly what you want to do in the past. I implemented an
> >log of panic messages which just appended to the end of the current
> >log. No API change was needed.
> 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.


All the NAND flash drivers i know don't erase when programming.  So i
would say the data flash does not follow the normal convention.

I would say adding a new API call just for dataflash is wrong.
However, changing the behaviour could also cause problems for some
people. So i would suggest adding a CDL option to control if data
flash should erase or not when programming.


Before posting, please read the FAQ:
and search the list archive:

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