完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-25 10:56 编辑
这个例程相应的说明文档中说例程使用的descriptor类型为Host Descriptor,但是程序中pktMatch包含了80Byte的数据,按照navigator的技术文档,这样应该属于Monolithic类型。不知道是不是我对传输数据包理解有错误? 另外,文档中对传输包的组成描述也与里程中使用的不同,请问是为什么?例程中使用的格式从哪里可以查到? |
|
相关推荐
7个回答
|
|
应用背景是不同核之间有大量数据的传递,希望使用Host Descriptor的方式传递数据。感谢各位技术人员!
|
|
|
|
Host descriptor基本长度为32B,但是可以根据应用需求包含EPIB和PS信息。具体PA中定义使用的descriptor长度需要结合PA LLD理解。
根据你的应用需求,核间大数据量的传递,如果对实时性要求比较高的话建议使用EDMA,如果实时性要求不高可以采用infrastructrue PktDMA,具体可以参考PDK中QM Navigator的例子。或者可以下载下面的navigator例子。www.deyisupport.com/.../8541.aspx |
|
|
|
zbb9612 发表于 2018-6-25 02:53 感谢建议,但是关于例程中原本的用法我还是不太懂: /* Constructed data packet to send. Each core will have a slightly modified version of this packet which is stored in the core's local memory. */ #define PACKET_UDP_DEST_PORT_SHIFT 36 #define PACKET_PAYLOAD_SHIFT 42 #pragma DATA_ALIGN(pktMatch, 16) UInt8 pktMatch[] = [ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, /* Dest MAC */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, /* Src MAC */ 0x08, 0x00, /* Ethertype = IPv4 */ 0x45, 0x00, 0x00, 0x6c, /* IP version, services, total length */ 0x00, 0x00, 0x00, 0x00, /* IP ID, flags, fragment offset */ 0x05, 0x11, 0x32, 0x26, /* IP ttl, protocol (UDP), header checksum */ 0xc0, 0xa8, 0x01, 0x01, /* Source IP address */ 0xc0, 0xa8, 0x01, 0x0a, /* Destination IP address */ 0x12, 0x34, 0x56, 0x78, /* UDP source port, dest port */ 0x00, 0x58, 0x1d, 0x18, /* UDP len, UDP checksum */ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, /* 80 bytes of payload data */ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81 ]; 这个包的格式从哪个文档可以查到?是怎么使用的呢? navigator的文档中所写包的格式与这个不太相符。 感谢! |
|
|
|
理解确实有错误~这里传的是Host Descriptor,80Byte的数据并没有以内容的方式在descriptor中,而是只有首地址指针。这里Host Descriptor传输的是地址,而不是内容本身。仔细看程序的配置部分,你会发现PA LLD的配置中用到了很多Host Descriptor,每次用之前会申请一个数组用来存放数据,然后把数组的首地址赋给Host Descriptor再进行发送。的如果是Monolithic类型,包长中会包括数据段的长度。
|
|
|
|
sdfasda 发表于 2018-6-25 03:04 这里的包格式是以太网的包格式,属于MAC包,跟navigator没有关系,属于你的用户数据。navigator文档中的包格式是descriptor的包格式,不是一个东西。descriptor的包格式在初始化descriptor的时候有体现,注意看Init_Qmss ()中的cppiDescCfg结构体,它在初始化的时候配置了许多descriptor的包格式上的段。 |
|
|
|
dfzvzs 发表于 2018-6-25 03:19 David理解非常正确,非常感谢共享支持! |
|
|
|
非常感谢专家作答!
|
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
697 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
607 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1069 浏览 1 评论
763 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
531 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
175浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
136浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
130浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
126浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
72浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 18:38 , Processed in 0.922447 second(s), Total 58, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号