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.

Hyperlink and EDMA3

Hi,

I'm actually working on two EVMC6678 boards connected to each other with a hyperlink cable.

I already write working code, for example I'm able to change remote DSP hyperlink registers.

What I want to do now is to transfer data through hyperlink using EDMA3.

I already wrote a software using EDMA3 but it works localy on a single DSP.

I would like to know how to configure what I wrote in order to use EDMA through hyperlink.

Do I have to do something with the adress translation ?

  • Is There Anybody... Out There ?

  • Hi Mika,

    Sorry for the delayed response.

    Assuming HyperLink's RXSeg is set to the correct 16 most significant bits:

    To use HyperLink through EDMA for a write:

    In the EDMA PaRAM, you need to set the SRC to the source data beginning address, and the DST to the HyperLink data address (on the c6678, HyperLink data addresses start at 0x40000000, shown in: http://www.ti.com/lit/ds/symlink/tms320c6678.pdf table 2.2) plus the offset of the desired remote address. The offset is set by the value in the rxsegsel register, and the look-up table for that is http://www.ti.com/lit/ug/sprugw8a/sprugw8a.pdf, page 59. 

    As an example of calculating the offset, and adding it to the HyperLink base address. If the destination address is 0x87810400, and HyperLink's rxsegsel value is 6 (which sets the offset to 0x003FFFFF). The address to put into the DST PaRAM is:

    0x40000000 + (0x87810400 & 0x003FFFFF) = 0x40010400

     To use HyperLink through EDMA for a read:

    In the EDMA PaRAM, put the local address (the address where new data coming in will be placed) in DST, and the HyperLink plus calculated offset address in SRC.  

    Otherwise, the setup for EDMA is the same as you would for a regular data transfer. 

  • Thank you very much Megan for that answer !

  • hello Mika

    did you already transfer data bet. 2 boards ?

    if yes,can you explain to me what's function  that my code will wrote in it or the code will wrote in certain location in the memory then the o/p of code(that wanted to be transferred to the remote device ) will written in the data-buffer in the hyperlink example

    Regards

  • Ahmed,

    I'm sorry but I didn't undestand your quesiton.

    In order to transfer data between 2 boards I looked for the example given and I tried to understand it.

    I'm very new on Hyperlink so I don't control everything yet. I think the most important and difficult part is the address translation. For the moment, it's still quite confusing to me.

    Try to read the example code with the Hyperlink Datasheet and also this document:

    http://keystone-workshop.googlecode.com/svn/trunk/pdf/Intro%20to%20Hyperlink.pdf

    Try to post here specific questions and people will answer. If you post global questions, that would be difficult to answer to you and people will tell you to read datasheets.