I am using the Hyperlink interface to communicate between C6678 and Integretek core. I can read local and remote registers; how can I determine which address the FPGA writes (DMA's) the data on the DSP side to?
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.
I am using the Hyperlink interface to communicate between C6678 and Integretek core. I can read local and remote registers; how can I determine which address the FPGA writes (DMA's) the data on the DSP side to?
Hi Talha,
Please take a look at section "2.7.4 Address Translation" and "2.7.4.2.3 Example of Address Translation" on Hyprelink user guide document(SPRUGW8C).
Thanks,
I have a quick question/clarification after reading the user guide, where it refers to Rx Address; is it the one starting from the hyperlink base address? (In my case, 0x4000_0000)
Hi Talha,
Refer TI MCSDK Hyperlink example project (\pdk_C6678_1_1_2_6\packages\ti\drv\exampleProjects\hyplnk_exampleProject) code.
Address Translation:
- DSP1 (Tx) can view max. 256MB of DSP2 (Rx) memory.
- Tx side: HyperLink memory space is 0x4000_0000 to 0x4FFF_FFFF
- Rx side: HyperLink memory space is device dependent, but typically somewhere in the 0x0000_0000 to 0xFFFF_FFFF address range (For example: DDR 0x8000_0000 to 0x8FFF_FFFF)
- Requires mechanism to convert local (Tx) address to remote (Rx) address - The local side (Tx side) manipulates the address, the remote side (Rx) does address translation
Take a look at below thread:
http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/198792/709820.aspx#709820
Thanks,
Refer Address translation section on c66xx keystone hyperlink training document
Thanks,