Software Implementation
ATEVK525 Mass Storage Board for AVR
3-19
7740B–AVR–03/08
operations.
Also, the support of more than one memory chip (facilitating memories interlacing) is
not yet integrated in the driver. That also concerns memories that are made of
several memory dies stacked (generaly memories of 4GBits and more).
Supported device list : supported devices are listed in the NH.F file of the driver.
3.4
Usage Notes
Please read these notes carefully:
Once your file modifications (create, copy, delete) have been made on the Mass
Storage device, always eject the device properly. Under Windows O.S. you must
click on the corresponding button (near the clock) in the Windows task bar, to “Safely
remove hardware”. This will force the O.S. to flush all the write operations that are
needed to end the Mass Storage device access. If such an operation is not made, it
is possible that the last write operations are not completed, and since these
operation often concern the File Allocation Table, the device integrity can be
damaged.
When using the NAND Flash media as a storage device, when all the operations
seem to be completed (Windows safe eject, etc.), all the data to be written is inside
the NAND Flash driver. But there is a limitation that must been taken in account.
When a page (512B or 2BK) has to be updated in the memory, all the corresponding
blocks (each block contains 64 pages for example) is copied to a new free block, and
the required page is modified during the copy. To end this operation of block
translation, all the pages up to the modified one are programmed. But to precede an
optional contiguous write operation, the pages that end the block (the block tail) are
not yet programmed. They will be programmed if the next operation is a Read, or a
Write to a page that is not contained in the same block. So, before powering down
the Mass Storage board, the software cannot predict if the last BLOCK COPY TAIL
operation has been done. Thus the user must call the “void nf_usb_stop(void)”
function from “nf_mngt.c” file. In the current package, this function is automatically
called when USB Suspend or Disconnect condition is detected (that does not work in
Bus powered application).
3.5
Handling another NAND Flash device
If a new NAND Flash device must be supported, the user must use the NF MODULE
location on the board to plug a NAND Flash board on which the required device is
soldered.
Once the hardware modifications are done (R10 unsoldered), there are software
modifications to be done according to the NAND Flash device structure
“NF.H” file
– if your device is already included in the supported devices list, you have
nothing to do in this file.
– if your device is not included in the supported devices list, you must add it,
using the same description structure that other devices.
“CONF_NF.H” :