This subcommand examines a number of contiguous NAND pages for the factory bad block flag.
Command Format
Byte 0
Value 6, indicating Count NAND Errors subcommand
Bytes 1 – 4
32-bit number of the first page to examine
Bytes 5 - 8
32-bit number of the last page to examine
Reply Format
Byte 0
Value 6, indicating Count NAND Errors subcommand
Bytes 1 – 4
32-bit number of the first page that was examined
Bytes 5 – 8
32-bit number of the last page that was examined
Bytes 9 – 12
32-bit number counting the number of pages with bad block flags
Bytes 13 – 16
32-bit number showing the page number of the first page with a bad block flag. Zero is returned if no bad block flags were found.
CRC Buffer
This subcommand computes a 16-bit CRC of the page buffer.
Command Format
Byte 0
Value 7, indicating CRC Buffer subcommand
Reply Format
Byte 0
Value 7, indicating CRC Buffer subcommand
Bytes 1 – 2
16-bit CRC of page buffer.
CRC NAND
This subcommand computes a 16-bit CRC of a number of contiguous NAND pages. It will return NAK if any of the pages contains uncorrectable ECC errors or if the page is in the erased condition.
Command Format
Byte 0
Value 8, indicating CRC Buffer subcommand
Bytes 1 – 4
32-bit number of the first page to CRC
Bytes 5 – 8
32-bit number of the last page to CRC
6.12.9.2. Reply Format – Success
Byte 0
Value 8, indicating CRC Buffer subcommand
Bytes 1 – 4
32-bit number of the first page that was commanded CRCed
Bytes 5 - 8
32-bit number of the last page that was commanded CRCed
Bytes 9 - 10
16-bit CRC of NAND region
If successful, a 16-bit CRC result is returned with an ACK code.
6.12.9.3. Reply Format – Failure due to ECC error
Byte 0
Value 8, indicating CRC Buffer subcommand
Bytes 1 – 4
32-bit number of the first page that was commanded CRCed
Bytes 5 - 8
32-bit number of the last page that was commanded CRCed
Bytes 9 - 12
32-bit number of the page where the error was located
If there is an uncorrectable ECC error, no CRC is returned. Instead, the page where the error is located is returned. The CRC attempt stops on the first uncorrectable ECC error, so it is possible that there are also additional errors in subsequent pages.
CRC RAM
This subcommand computes a 16-bit CRC of a region of RAM. [It is grouped with FLASH commands for convenience only.] Be careful to specify correct addresses, as a data abort emergency notification will be generated if unimplemented memory is read.
Command Format
Byte 0
Value 9, indicating CRC RAM subcommand
Bytes 1 – 4
32-bit address of the first byte to CRC
Bytes 5 - 8
32-bit address of the last byte to CRC
Reply Format
Byte 0
Value 9, indicating CRC RAM subcommand
Bytes 1 – 4
32-bit address of the first byte that was CRCed
Bytes 5 - 8
32-bit address of the last byte that was CRCed
Bytes 9 - 10
16-bit CRC of RAM region
Make Boot Block
This subcommand performs the following actions:
· Erases the NAND block containing the target page
· Copies 32 kB from SRAM to NAND memory, starting with the target page, prepending the required Configuration Header data.
If the target page is 0, this writes the default boot block allowing the functional processor to load its software from NAND in the future. Target pages of 64, 128 and 196 can be used to write the backup boot bocks which are searched, in order, if the primary boot block suffers an irrecoverable ECC error.
The command takes approximately 20 msec to execute, with the reply being sent once execution is complete.
Command Format
Byte 0
Value 10, indicating Make Boot Block subcommand
Bytes 1 – 4
32-bit number of target page to begin writing.
Reply Format
Byte 0
Value 10, indicating Make Boot Block subcommand
Bytes 1 – 4
32-bit number of first page that was written.
Make Bit Error
This subcommand reads the entire block of NAND memory into an internal RAM buffer, inverts one of the bits, erases the block, and reprograms it from the buffer. It has the effect of flipping a single bit. The intent of this command is to test the ECC codes. Note that the address used here is a physical address. The block relocation and backup tables have no effect on this command.
The target bit number is encoded as follows:
Bits 0 – 3 (4 least significant bits)
Number of target bit within a target 16-bit word. 0 corresponds to the LSB, and 15 to the MSB.
Bits 4 – 14 (11 bits)
Number of target word within the target page. 0 – 1023 span the data range of the 2 kB page, while 1024+ targets the extra ECC area.
Bits 15 – 31 (17 bits)
Number of target page within the flash memory.
Command Format
Byte 0
Value 11, indicating Make Bit Error subcommand
Bytes 1 – 4
32-bit number of target bit to flip
Reply Format
Byte 0
Value 11, indicating Make Bit Error subcommand
Bytes 1 – 4
32-bit number of target bit to flip.
Copy NAND
This subcommand copies a number of contiguous pages of NAND memory from one location to another. The target location is not automatically erased. However, the subcommand will ensure that there is no good data (i.e. no pages with good ECC) in the target area before beginning to write.