TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678,千兆以太网实现dsp向PC传输数据,比较着急用,麻烦您解释 thank you

TI员工,您好,我需要尽快的实现dsp向PC传输,有以下问题,请帮忙解答

(1)我采用了TI官方提供的GE ,想从DSP向 PC发射数据,请问详细的步骤是怎样的?按照之前的修改的我也做了 但是无法ping 成功? 有说静态IP,请问这是怎么设置的?DSP IP 地址是?

(2)如果在GE中想要实现TCP/UDP传输应该怎么设置?

Dan Jia:

TI员工,您好,我需要尽快的实现dsp向PC传输,有以下问题,请帮忙解答

(1)我采用了TI官方提供的GE ,想从DSP向 PC发射数据,请问详细的步骤是怎样的?修改的我也做了 但是无法ping 成功? 有说静态IP,请问这是怎么设置的?DSP IP 地址是?

(2)我跑了mcdsk 中的helloworld ,收发为4,但是现实无法访问主机地址,这是增么回事?

Kevin Cai:

Hi, 您好!

1. 您需要修改GE_Test.c:

    > GE_Test_Data_Path test_data_path= GE_TEST_DSP0_TO_DSP1;

    > Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_SLAVE;

    > GE_Port_Connection port_connect[2]=    {          GE_PORT_CABLE_CONNECT, //SGMII port 0   假设您的板子用的是以太网端口0

          GE_PORT_NO_CONNECT //SGMII port 1    };

   重新编译后在DSP核0上运行

  GE工程包含物理层,MAC曾, 没有TCP/IP及上层协议,所以ping不能用

 

  DSP IP您可以自己在软件中设定:

  即当DSP对外发送数据包时(详见GE_2DSP_Test.c 中的 GE_2DSP_Test()函数), 您只要按协议格式在填MAC头之前填好IP头即可

 

2. 您可以在 GE_2DSP_Test()函数的基础之上添加TCP/IP发送端代码

                在GE_Interrupts.c 文件的parserRxPacket函数中添加TCP/IP接收端代码

    上诉这种方式要添加的代码较多, 您也可以使用NDK, NDK包含了TCP/IP层, 安装MCSDK后可以在安装目录下找到NDK

谢谢! 

Dan Jia:

回复 Kevin Cai:

谢谢您的回答

您好 NDK中包含有基于UDP传输的例程吗?假如从DSP传输到PC,采用哪个例程改比较容易上手?改写的具体步骤是什么?问题有点多 谢谢

Kevin Cai:

回复 Dan Jia:

Hi, 您好!

您从下面的目录中可以找到UDP的例子, 供参考:

mcsdk_*_**_**_**\examples\ndk\helloWorld

另外您在NDK的安装目录下也可以找到例子,比如:

ndk_*_**_**_**\packages\ti\ndk\tools\console\Conecho.c

 

谢谢!

Dan Jia:

回复 Kevin Cai:

谢谢您

我看到网上说helloworld需要建立一个UDP socket 来触发传输,请问有具体的例子吗?实现从DSP传输数据到PC。

yongwang zhang:

回复 Kevin Cai:

您好,我下载了一个STK_C6657_EMAC的工程文件中没有找到GE_2DSP_Test.c这个文件,请问您这个demo最新版本从哪里可以下载到?急用,多谢!

Kevin Cai:

回复 yongwang zhang:

Hi, 您好!

这个工程使用的是GE_Test.c文件来完成2个DSP之间或 DSP与PC的通信功能。

在GE_Test.c文件中, 您设置如下变量即可:

GE_Test_Data_Path test_data_path= GE_TEST_DSP0_TO_DSP1

如果需要用中断方式收包,设置:

Bool emac_interrupt = 1;

 

zhao jd:

回复 Kevin Cai:

您好!

        之前请教过您关于Notify_sendEvent的问题,我新开一个问题,希望您能帮忙看一下。http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/75121.aspx

zjd

谢谢!

yongwang zhang:

回复 Kevin Cai:

Hi Kevin Cai:

   我们之前网络通信这块是基于NDK,官方提供的helloworld那个例程进行修改的,但是那个和pc-Ubuntu系统间tcp通信速率上不去,只有5M/s。和arm间通信速率则更低,仅有2M/s。所以我们现在考虑使用裸跑的这种方案测试一下速率,看会不会有大的提升。但是根据您所讲的这些修改方法,我感觉摸不着头脑啊,还请再指教:

    1.按协议格式在填MAC头之前填好IP头即可,这个如何添加IP头,有相关文档可以查阅吗?协议格式在哪里可以看?

    2. 您可以在 GE_2DSP_Test()函数的基础之上添加TCP/IP发送端代码

                在GE_Interrupts.c 文件的parserRxPacket函数中添加TCP/IP接收端代码

   这个要自己对tcp/ip协议进行封装吗?有修改好的demo可供参考吗?

Kevin Cai:

回复 yongwang zhang:

Hi, 您好!

1. 格式是按TCP/IP协议填的,附件是格式的简要说明

2. 是的,要自己封装,您可以参考NDK;   TCP/IP是公开的协议,您也可以寻找开源代码

谢谢 

赞(0)
未经允许不得转载:TI中文支持网 » C6678,千兆以太网实现dsp向PC传输数据,比较着急用,麻烦您解释 thank you
分享到: 更多 (0)