AnsweredAssumed Answered

bf609_Power_On_Self_Test example of RSI interface can not be read continuously .

Question asked by qian on Jun 19, 2014
Latest reply on Jun 19, 2014 by qian

HI,

 

Chip Version 0.0

Board of AVNET

CCES 1.0.2

 

I tested "ADSP-BF609_Evaluation_Board-Rel1.0.3\BF609_EZ-Board\Blackfin\Examples\Power_On_Self_Test\sd_test.c" samples.

Routine is not a problem.

 

But I do some under modification, a modification in the following areas :

 

int ii;

uint32_t RSI_WriteRead_Test_Multi(uint32_t * pReadBuffer, uint32_t *pWriteBuffer, uint32_t buffer_size, RSI_DATA_BUS_WIDTH bus_width)

{

    uint32_t i = 0;

    uint32_t error = 0;

 

 

    DEBUG_SUBHEADER2( "Multiple Block Test" );

    DEBUG_PRINT("\nSetting device to %d-bit bus", bus_width);

    CYCLES_INIT(benchmarks_multi.MultipleBlockWrite);

    CYCLES_INIT(benchmarks_multi.MultipleBlockRead);

    error = sd_mmc_set_bus_width(bus_width);

 

 

//----------------here----------------------------------------------------------------

    asm("nop;");  //Successive calls RSI_ReadMultipleBlocks functions.

    for(int ii=0; ii<100; ii++)

    {

    RSI_ReadMultipleBlocks(i, pReadBuffer, ((buffer_size*4)/512));

    }

//--------------------------------------------------------------------------------

    if(!error)

    {.....}

}

 

 

In the second call , enter an infinite loop .

    do{

        while(!(*pREG_RSI0_XFRSTAT & BITM_RSI_XFRSTAT_DATBLKEND));

    }while(!(*pREG_RSI0_XFRSTAT & BITM_RSI_XFRSTAT_DATEND));

 

 

thank you.

Outcomes