完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
在MCSDK目录下关于NDK的例子helloworld和client之中都涉及到了对QMSS、CPPI和PA的初始化,我之前看过多核导航器、PA和NETCP的文档,对它们基本内容都有一定的了解。但对它们之间的关系还不是很清楚,请问:是否凡是通过网口通信的程序必须都要用到QMSS、CPPI和PA?另外,我写过一个工程,没有用到任何关于QMSS、CPPI和PA的代码,仅仅做了一些ndk最常用的配置,利用套接字就实现了EVM与PC机的双向通信,请问这种情况下是否默认使用了QMSS、CPPI和PA?
|
|
相关推荐
12个回答
|
|
6678 的EMAC是基于Navigator的外设,所以必须配置好QMSS, CPPI,然后才能进行正常的以太网数据收发,对于PA如果不用可以bypass,这样的话PA可以不用配置。
|
|
|
|
zbb9612 发表于 2018-6-21 06:20 您好! 我现在使用的是OMAPL137的dsp,该dsp并非在TI公司买的,现在我想要实现NDK的功能,该如何写gel文件啊,谢谢! |
|
|
|
关于OMAP的问题请发到OMAP子论坛,谢谢配合。 |
|
|
|
你好,我刚学这块,遇到一些问题。网口是同事在调试,我需要处理网口接收的数据。问题是网口接收的数据存储在那里?以及DSP核怎么知道有数据来了?接收数据前DSP核什么状态,是通过while循环检测是否有数据到来还是通过中断关联相应的处理函数?
还有这方面需要看哪些文档,希望解答,非常感谢 |
|
|
|
szbliy 发表于 2018-6-21 06:52 你好, 1、网口接收的数据存储在哪里,取决于navigator中所使用的RX free descriptor所指向的buffer所处的位置,可以是SL2,LL2,DDR3。这需要进行设置,因为6678中的以太网数据包都是由navigator通过队列和描述符的方式进行管理和搬运。 2、navigator中的QMSS有accumulator channel可以产生中断通知CPU,它将所监控的队列中的描述符以ping-pong buffer的形式读出,buffer满即产生中断。这样可以告知CPU与accumulator channel相对应的队列中是否有数据进来。当然你也可以通过轮询的方式,通过读响应队列的寄存器来判断队列中描述符的数量。 3、不知道你所使用的网口通信是基于SYS/BIOS下的NDK,还是完全由底层驱动实现。如果是基于NDK,有很多API函数可以解决你的问题,如果完全是由底层驱动实现那必须要了解多核导航器(Multicore Navigator)和千兆以太网子系统(GbE Switch),甚至是包加速器(Packet Accelerator)。请到TI 6678主页下载这些文档。 |
|
|
|
opqooq 发表于 2018-6-21 07:12 我现在调试网口使用的是mcsdk提供的hua/6678的例子,使用的应该是ndk,这方面需要看那些相关的文档?是否用ndk实现起来简单一些?使用ndk是否也要配置你在1中说的那些buffer和2中说的相关中断等?这几天看了用底层驱动写的网络的例子,需要自己配置各个队列及buffer以及中断出发的accumulation长度等。 不管那种方式,是否都需要配置dsp的ip和端口?我们是通过上位机连接dsp 的,上位机给dsp发送数据,通过socket,需要端口号和ip 谢谢 |
|
|
|
szbliy 发表于 2018-6-21 07:22 你好, NDK是一个网络协议栈,包含了丰富的网络通信协议,它与具体数据的发送与接收的过程没有直接关系。在你所说的例程里含有PDK中对CPPI,QMSS和PA的驱动函数,它们完成了网口通信所需要的以太网外设的初始化与控制,具体可以参考PDK中相应的库函数的原代码。是否需要端口号和IP取决于你采用的通信协议,如果你需要使用UDP或者TCP协议进行通信,那使用NDK配合CPPI,QMSS和PA的驱动函数将会很方便。如果只是为了点对点进行双向数据传输,可以不需要IP以及IP层以上的协议,直接进行以太网帧的收发就可以,这样的话就可以不依赖NDK直接用相关驱动控制以太网外设进行数据收发即可。个人建议你采用你现在的开发方式,有例程可以直接参考和修改。 |
|
|
|
opqooq 发表于 2018-6-21 07:28 我们这边要使用socket通信,是否需要学习ndk?是的话需要看什么相关文档? 我用6678,初始化SRIO时候,初始化完成后,检测端口是否ok,遇到端口没有ok的情况,这种情况出现的概率大概10%左右,多数时候还是可以通过的。请问是什么原因,怎么定位解决,谢谢 |
|
|
|
szbliy 发表于 2018-6-21 07:34 你好, 使用套接字的话,最好使用NDK。配合NDK,在CCS上的网络编程几乎与在微软Visual Studio平台上的方法完全一致。所以只需要参考windows下的利用套接字进行网络编程的代码即可。 你是使用SRIO与FPGA进行通信吗?这种情况多数可能是SRIO的物理连接存在问题,无法及时建立可靠的SRIO的物理连接。 |
|
|
|
opqooq 发表于 2018-6-21 07:54 你好,如果要看ndk,需要看什么相关文档么?使用ndk,数据接收的时候是怎么触发DSP核处理的,以及数据放到哪里? SRIO物理连接有问题,是寄存器配置不正确还是?需要关注哪方面? 谢谢 |
|
|
|
你好,我刚开始学习这块,使用的是ti的helloword网络代码例子(和你用的一样),调试时候经常会出现unable to register the EMAC,请问这是什么问题?怎么解决? QMSS和CPPI和PA是必须的么,它们有什么用?
怎么利用ndk自己建立工程,使用XGCONF或者不使用?有没有相关的指导,看了user guide,还是有点晕,自己建立的工程不可以使用。方便的话能否qq 329354682 非常感激,谢谢啦。 |
|
|
|
opqooq 发表于 2018-6-21 07:12 你好,我在调试6678 GE的时候 PC向dsp发送一定包数之后,就发送不了了 请问这是什么原因导致的。 |
|
|
|
只有小组成员才能发言,加入小组>>
336 浏览 1 评论
529 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
774 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
651 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1130 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
56浏览 29评论
134浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
252浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
201浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
57浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:14 , Processed in 1.215031 second(s), Total 70, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号