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.

Still questions about hyplnk_exampleProject on tci6638k2k

Other Parts Discussed in Thread: TCI6638K2K

Hi,all:

I want to transfer data via hyperlink from DDR3 of DeviceA(tci6638k2k) to DDR3 of

DeviceB (another tci6638k2k).So I look into the examples from c6678 in pdk_C6678_1_0_0_17

and from tci6638k2k in pdk_keystone2_3_00_01_12.At the same time ,I have learn

some posts in e2e which are about hyperlink and hyperlink example.But I still have questions

to ask about that.

1.

In the hyperlink example,hyplnkLLDCfg.h

#define hyplnk_EXAMPLE_LOOPBACK

As to #define,we know that there are two modes which example supports.

one mode is loopback mode,the other is device to device mode.

readme.txt say like below:

This example can use HyperLink
either in loopback mode on a single board, or peer to peer with a second
device or board

It mean that loopback mode take place on a single board or device and device-to

-device mode take place between boards or devices.

So,my question is that why we need loopback on a single board.

As I understand,when you want to use hyperlink ,you of course want to use

the device-to-device mode other than loopback mode.The reason we use hyperlink

is that we want to make deviceA to communicate with deviceB via hyperlink.

If on a single board in loopback mode.what we can do ? I don't understand.

Maybe I make a mistake somewhere.

2.

About cpu token exchange and cpu block transfer.

I have also seen the difference between them.That example say that cpu token exchange

is synchronous and cpu block transfer is asynchronous  .But I cannot understand that well.

what time we must use cpu token exchange?

what time we must use cpu block transfer ?

In my opinion,cpu block transfer mode is simple .you just need to send data to remote.you don't

have to wait remote and you don't have to sync with remote.But cpu tocken exchange is complex.

So,just from the view that it is easy or difficult .I select cpu block transfer .

May I ?Do I do a good choice or bad choice ?I don't know .

And as regard to my target that I have told at the beginning of the post(send data from deviceA to

deviceB).How can I select?

3.

The last question.As to the function hyplnkExampleIOCycle .

I see that by default hyplnkExampleIOCycle call cpu token exchange function firstly,and

then call the cpu block transfer function secondly.

Why ?

In my opinion,We just need call one function of them ,either you call cpu token exchange.

or you call cpu block transfer .But you cannot call all of them or call them at the same time.

I don't think it's necessary.Isn't it?

  • 1) Loopback mode is for loopback test when you only have one card.

    2) token and block transfer just our code examples, you can choose by your usage or write you own code for transfer

    3) These two functions are called in series, NOT at the same time.

    Regards, Eric

  • Hi,lding:

    As to point 1 :

    I mean that if you only have one card ,you don't need to use hyperlink.

    Why you use hyperlink?

    In my opinion,hyperlink is specially used to transfer data from board to board.

    I don't think what's role of hyperlink on one card or one board?

    Do you mean that different cores can use hyperlink to communicate on one card or one

    board?

  • The purpose of loopback is to let you test code that uses hyperlink with a single board or device.  This is often an easier development environment than choreographing multiple boards.  Once the code works on a single board/device, then you can bring up second board/device and test with that.  There is no expectation to use hyperlink to talk between cores on one device outside a testing/development environment.

  • Hi,John:

    Do you mean that like this?

    when we use hyperlink loopback mode to talk between cores on one device ,we are just

    in a testing or development environment .Beside that ,we cannot use loopback mode usually.