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.

NAND speed on evmC6748

I have an evm for the C6748 and am benchmarking the read speed on the included NAND. I did so by modifying the sample code included with BIOS/PSP like so:

 

nandSample_io.c line 398:

{
    Uint32 start = CLK_gethtime();
    result = pDevOps->Blk_Read(handle, (Ptr)&nandRespInfo,
                               readBuf, addr, sectorCount);
    if (result == IOM_PENDING)
    {
        SEM_pend(nandCbSem, SYS_FOREVER);
        LOG_printf(&trace, " NAND_SAMPLE: BLK read passed in %d ms & loop"
                           " count is %d ", (int)((CLK_gethtime()-start)*CLK_cpuCyclesPerHtime()/300e3),loop);
    }
    else if (result != IOM_COMPLETED)
    {
        LOG_printf(&trace, " NAND_SAMPLE:Error returned from"
                            " function Blk_Read while reading");
        addr = 0;
    }
    else
    {
        SEM_pend(nandCbSem, SYS_FOREVER);
        LOG_printf(&trace, " NAND_SAMPLE: BLK read passed in %d ms & loop"
                           " count is %d ", (int)((CLK_gethtime()-start)*CLK_cpuCyclesPerHtime()/300e3),loop);
    }
}

 

 

I am using the .gel file included with the EVM and yet I am only getting times of about 21ms for 75kB (290ns/byte), rather than the 30ns per byte that the NAND part's datasheet says is possible.

 

Is my method of timestamping the code correct? Do I need to be doing something else to set up the NAND for faster access? Or is this just the best that BIOS/PSP can do with this part?