From: David Kelly <dke...@hiwaay.net>

>4 million bytes or bits? Most FLASH devices are sized by the bit.

It is 4M Bytes. 


>No matter what you do you won't be able to say *MyUInt16Ptr = 0x1234;
>you will have to write a routine and use it something like this:

>u16_value = 0x1234;
>result = Write4MBFlash( (uint32_t)MyUint16Ptr, sizeof(uint16_t), &u16_value );

One advantage I found, using name spaces (sections) is, generating a hex file 
for initialised data, which can be downloaded through serial port.

>All the external SPI FLASH devices I have used are paged. One
>read/writes to a RAM buffer in the device then flush that buffer to a
>page in FLASH. IIRC the Atmel device I last used had 264 byte pages
>which served to complicate addressing if one insisted on using all 264
>bytes. Believe the designer's intent was that one use 256 bytes as a
>"sector" and the other 8 bytes for tracking usage, even linking to
>previous sector and next sector for a form of filesystem.

Never thought of this (using the extra 8 bytes for tracking/linking to other 
sectors)

>Atmel had a very useful appnote containing C routines for access to
>their DataFlash parts which helped a lot. I felt the need to heavily
>edit it for style and naming convention. Rearranged a bit, and deleted a
>lot that I didn't use. But it was a very good start.

Will check Atmel's site . Thank you.

Nayani




      
_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to