请教一些关于C6678千兆网子模块的有关问题 - TMS320C6678 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3528|回复: 2

请教一些关于C6678千兆网子模块的有关问题

[复制链接]

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
发表于 2016-8-15 11:59:46 | 显示全部楼层 |阅读模式
      最近在学习C6678的千兆网部分,第一次接触千兆网,读了TI官方给的两份英文技术手册一份是KeyStone Architecture Gigabit Ethernet (GbE) Switch Subsystem另一份是KeyStone Architecture Network Coprocessor (NETCP)。算是有了一个大致的了解。同时还看了官方给的相关的例程,
现在有几个地方不是特别的清楚。
     第一个让我不清楚的是发送的流程,按照我对例程的理解,每次发送大致是这样的:每次发送n个数据包每个数据包含有m个字节,在发送时需要从队列管理器里(具体的实现函数为KeyStone_queuePop)循环的弹出一个hostDescriptor类型的指针,然后对里面的内容进行相关的初始化,然后用一个数组记录这个hostDescriptor指针的地址,完了再进行下一次的循环一个循环n次。接着再循环的向队列管理器压入刚才已经初始化好了的n个hostDescriptor
这样就完成了一次n*m字节数据的发送。请问我这要描述对吗?
     第二个不清楚的是hostDescriptor到底是干什么的?是给每个队列描述的吗?那又是描述的那些东西?还有就是发送的时候是通过这条语句ucpBuffer= (Uint8 *)hostDescriptor->buffer_ptr; 来得知我要发送的数据数组的首地址,不应该是我自己决定的吗?为什么是由hostDescriptor决定的? 然后就是发送完接收从accumulation list中得到一个hostDescriptor然后由ucpDst= (Uint8 *)hostDescriptor->buffer_ptr;这条语句得到数据被保存的首地址,这个首地址不应该也是由自己事先规定好的吗?不懂了
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
发表于 2016-8-15 19:54:15 | 显示全部楼层
NETCP 用到了多核导航 你说的这些都是多核导航的内容 你可以看看那篇文档
回复 支持 反对

使用道具 举报

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
 楼主| 发表于 2016-8-15 20:53:29 | 显示全部楼层
希望缄默 发表于 2016-8-15 19:54
NETCP 用到了多核导航 你说的这些都是多核导航的内容 你可以看看那篇文档

好的...............
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-29 08:18 , Processed in 0.037900 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表