MSDDInitialize
Default mainpageusb-device-composite-cdcmsd-projectMSDDInitialize
Description Source Call Graph
Start Line: 759
void MSDDInitialize()
{
    // Memory initialization
    // SDRAM
#if defined(AT91C_EBI_SDRAM)

#if !defined(sdram)
    BOARD_ConfigureSdram(16);
#endif
    
    MEDSdram_Initialize(&(medias[numMedias]),
                        (unsigned int) AT91C_EBI_SDRAM + CODE_SIZE,
                        10*1024*1024); // 10Mb used for R/W testing
    LUN_Init(&(luns[numMedias]), &(medias[numMedias]),
        msdBuffer, 0, 10*1024*1024, BLOCK_SIZE);
    numMedias++;
#endif

    // Flash (only when NOT running in flash)
#if defined(AT91C_BASE_EFC) && !defined(flash)
    TRACE_INFO("LUN Flash\n\r");
    if (numMedias == 0) {
 
        FLA_Initialize(&(medias[numMedias]), AT91C_BASE_EFC);
        LUN_Init(&(luns[numMedias]), &(medias[numMedias]),
            msdBuffer, 30*1024, 34*1024, BLOCK_SIZE);
        numMedias++;

        // Install handler for flash interrupt
        AIC_ConfigureIT(AT91C_ID_SYS, AT91C_AIC_PRIOR_LOWEST, ISR_Media);
        AIC_EnableIT(AT91C_ID_SYS);
    }
#endif

    ASSERT(numMedias > 0, "Error: No media defined.\n\r");
    TRACE_DEBUG("%u medias defined\n\r", numMedias);

    // BOT driver initialization
    MSDDFunctionDriver_Initialize(luns, numMedias);
}