ABLE Application README - nfwrite ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Summary The nfwrite tool can be used to write an arbitrary image to the primary NAND device on a Simtec board such as an IM2440D20 or EB2410ITX. Typically this tool would be used to install or upgrade ABLE or to place a Linux kernel and /or JFFS2 filesystem onto the NAND device. Usage > nfwrite -cN -i > nfwrite -cN [-f] [-s] [-v] [-S]* image-file geometry Examples To find out what chip is present on the module of an IM2440D20 based system: > (tftpboot)nfwrite -c0 -i To upgrade ABLE on an IM2440D20 based system by erasing the entire partition and then writing in the ABLE v2.30 release from your TFTP server you might do: > (tftpboot)nfwrite -c0 -f -v (tftpboot)s3c2410x-able-apps-233.jffs2 1-255 Options -f Perform a full erase -v Be more verbose in operation -S Double the erase block stride. (can be specified more than once) -s Report the progress in SBQS format. -cN Select which chip to program, 0 is the inboard flash -i Report chip information instead of writing to flash Files When you place files on your tftp server for loading using nfwrite please remember that for any file you wish to write using nfwrite, you must have its accompanying md5sum file. Geometry NAND on Simtec boards is typically split into three or more partitions. The first two are fixed in size, shape and position and are the initial boot code and the ABLE filesystem. The initial boot code is 16KiB maximum and sits in the first (index 0) erase block on the NAND. The geometry for this partition is simply 0-0. On some NAND devices this block may be significantly larger than 16KiB but the IPL will always be 16KiB or less. The ABLE filesystem (the JFFS2 image containing the ABLE images to try and boot) is the rest of the NAND up to 4 megabytes. This is typically blocks 1-255 assuming a 16KiB erase block, or blocks 1-31 if your NAND has a 128KiB erase block size. Other partitions can be specified by the form start-end or start+length so the ABLE partition could be expressed as 1+255 and the head block could be 0+1. On large page NAND devices, the boot block is still all of block zero, and the ABLE partition is blocks 1 through 31. Typically ABLE provides a 'user' flash partition from the 4M boundary to the 32M boundary ont he flash. These are blocks 256-2047 on 16KiB erase block devices, and blocks 32-255 on 128KiB erase block devices. Copyright The `nfwrite' tool and all associated documentation is Copyright 2007 Simtec Electronics