IMXRT1064 SEMC - Read Operation Fail

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMXRT1064 SEMC - Read Operation Fail

350 Views
Lukas_Frank
Senior Contributor I

Hi Dear Authorized,

 

I have been trying sequential read operations for months. My setups includes IMXRT1064 (Master) and FPGA (Slave) which is connected SEMC Interface. It stops after 1 read operation is occured. I examined SDK examples and below directions for configuration phase shared officially below:

How to configure SRAM in SEMC modules for RT devic... - NXP Community

 

Could you please help me about below questions?

 

Q1: The things I clearly face is; FPGA Logic Analyzer is address count is not increasing when I try to access SEMC_BASE address more than one. In the first initialization, IMXRT1064 request data from FPGA after the SEMC_ConfigureSRAM function is executed, and then memory is fulfilling with FPGA datas. It is exactly happening when the base->BR[6] = tempBRVal; line is executed. Why we are not able to request data from FPGA in sequential order when we access memory with below code portion?

void SEMC_SRAMRead16Bit(void)
{
    uint32_t index = 0;

    uint16_t *sramFPGAData  = (uint16_t *)EXAMPLE_SEMC_START_ADDRESS;

    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];

    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];

    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];

    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];
    sram_readBuffer16B[index++] = sramFPGAData[index++];
}

 

Q2: Is there a specific register setting in IMXRT1064 for triggering the FPGA for read request?

 

I attached my whole source code. You can reference it for full acquisition of case.

 

Thanks and Regards.

 

 

Labels (1)
0 Kudos
Reply
1 Reply

298 Views
Lukas_Frank
Senior Contributor I

Dear @Pavel_Hernandez ,

 

Could you please help me if this breakdown is under your specialization?

 

Thanks and Regards.

0 Kudos
Reply