I'm not sure. The datasheet talks about erasing rows and writing pages, but doesn't seem to define what a row actually is. The fact that they're different implies that a row is bigger than a page (and it's very typical that the erase granularity is bigger than the write granularity).tannewt wrote:Thanks for the reply! Its 256KB of flash storage and the current code weighs in at ~80KB I think. Looking at some other implementations it seemed that 64KB was pretty common and should fit easily. Page size is 64 bytes. Is that the same as erase size? The datasheet is here: http://www.atmel.com/Images/Atmel-42181 ... asheet.pdf
Actually it looks like a row is made up of 4 pages, so that would make the erase granularity be 256 bytes, which seems small enough to host a filesystem. I think that vFAT wants 512 byte sectors, so you could make each sector be 2 rows. This means reserving 512 bytes as a flash buffer, but that seems reasonable.
So if you added a 64K filesystem that still gives you up to 192K of flash space.