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