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.

PCIe in K2K

Dear all,

In K2K SoC, we are planning to use PCIe interface to directly write quite large amount of data (~12KB) to DDR3 memory location and generate an interrupt to the DSP C66x core to use the data. As PCIe in one inbound transaction can only write 256 bytes of data, I am wondering to write 12KB of data in DDR3, does PCIe generates multiple interrupts and DSP SW has to take care? Or there is any better alternative to do so where DSP core gets only one interrupt after completion of 12KB write to DDR3 memory?

Please suggest and provide reference to related literature.

Regards,

Atanu 

  • Dear Atanu,
    Will check with our PCIe experts on this.
  • Atanu,

    Inbound transfer means the external device initiates the transactions to write to or read from the local device. The PCIe module has a master port to transfer the data to or from the device memory; no CPU or EDMA is needed for inbound transfer in the local device. We can take advantage of the 256-byte payload size of inbound transfer as long as the external device also has 256 bytes (or more) of outbound payload size.

    When you write 12K data from an external device, it is landed on local DSP by multiple blocks. However,there is no PCIE interrupt generated towards DSP CPU when each block finished. DSP doesn't know data are there. After writing 12KB data, the external device needs to generate a legacy A/B/C/D or MSI interrupt to DSP.

    Regards, Eric

  • Eric,

    Thank you very much, we will implement a sample program and test this.

    Regards,
    Atanu