leeh_cn wrote:
hello , I'm very glad to join you here. I have fall into the trouble for several days. I have some questions to solve.
I want to design a system with usb interface . The system is composed of AT91SAM7S64, nand flash, usb interface, and Irda interface. I want to run a FAT system in order to manage the wrong sectors of nand flash and data in the system without OS.
I have never plant FAT file system in ARM7 system before, and I am not familiar with FAT file system. So I want to consult everyone here how much difficulty I will have if I decide to implement the system. And I want to know who has the experience on the aspect . Who can help me? Thanks very much!!!
Best regard!

Greetings and salutations. You can get information reguarding the FAT file system from microsofts website. Are you using a serial NAND device? The Sam7S64 can be made to work with a memory maped device but will require a number of external components to do so. This is because it has no external bus. If you have some plan to over come this then I suppose you are well off.
The FAT system microsoft claims as it's intellectual property so there may be some troubles with things there. I assume you know everything you need to too implement the USB interface. The simplest FAT version is FAT16 this limites you to 65536 * 512 bytes of storage or 32M max. FAT32 allows larger storage but with a much larger set of FAT's.
Here is a link to Microsoft's idea of how to handle FAT32 usage (legalese on the page)
http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx.
Depending on what you wish to do you may want to look at another possible file type. Are you attempting to make a 'DISK' image mountable via the USB port for a PC?
Cyb