This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Issue with DSP/BIOS NAND Device Driver

Other Parts Discussed in Thread: TMS320DM6437

Processor: TMS320DM6437

Inquiry: How is the PSP NAND Device Driver configured to so it can wrte to selected Block. It appears that any attempt to write erases all the NAND Blocks

(e.g., all 0 to 1023 blocks of a1Gbit NAND). The example in C:\dvsdk_1_01_00_15\psp_1_00_02_00\pspdrivers\drivers\nand use the following (partial listing):

        if (1 == Erase)
      {
          result =  PSP_nandErase(hNand); /* Erases all the sectors except protected blocks */
            /* See Line 968, ddc_nandFtl.c: pNandState->noOfBlocks, pNandState->protectedBlks*/
          if (PSP_SOK != result)                 
          {
              LOG_printf(&trace,"\nNAND  :Driver Error Status = %d\n", result);
              return FALSE;
          }
          else
          {
              LOG_printf(&trace,"NAND  :NAND Flash erase Success.\n");
          }
      }

in ddc_nandFtl.c, there is no user contorl over the starting and ending block# values. The erasure starts at 0 to 1023, in the case of tne NAND chip in my system.

it is no clear how to configure the driver to erase specific number of blocks. Could someone please provide some insigt?

 

  • I also need to be able to erase selected blocks of a NAND.  And, like the author of the original post, I'm using the 6437 and the same libraries.

    From reading the NAND chip specs, I see that single-block-erase is provided at the hardware level -- in this case command 60h, followed by the address, followed by command D0h (to confirm) is written to specified registers, then the erase happens.

    If the library's API does not currently expose this functionality, perhaps it can be modified to do so?  Or perhaps I can obtain a copy of the source code to make the necessary modifications?

     

  • Hi Bide,

     Please refer to the following post - NAND erase block (one single block, that is) description of the issue/problem is similar..

     

    Thanks & regards,

    Raghavendra