On Fri, Apr 24, 2009 at 1:32 AM, Michael Trimarchi <[email protected]> wrote: > > Hi > Ruini Xue wrote: >> >> Hi, all, >> >> any one knows how to write (actually erase+program) NAND within Qi? We want >> Qi to keep some information between different bootups in NAND. We tried to >> write the nand write code by mimicking Qi's nand read codes, but it refuses >> to work. Any advice is appreciated. >> >> -- ruini > > Can you send the code? Here is our code for erasing a block: void nand_erase(int row_addr) { nand_select(); nand_clear_RnB(); NFCMD = NAND_CMD_ERASE1; NFADDR = row_addr & 0xff; NFADDR = (row_addr >> 8) & 0xff; NFADDR = (row_addr >> 16) & 0xff; NFCMD = NAND_CMD_ERASE2; nand_wait(); nand_deselect(); } where NAND_CMD_ERASE1 = 0x60 and NAND_CMD_ERASE2 = 0xD0. After it was called in bootloader_second_phase() with row_addr = 128 (which stands for the erasing block starting from 0x40000, I think), the contents remained. I suppose they should become all 1's. Any hints? > > Michael >
-- Wentao Han Institute of High-Performance Computing Department of Computer Science and Technology Tsinghua University Beijing 100084, China
