2024年3月28日发(作者:)

BSP使用常见问题及解答V1.0

8640D模块常见问题及解答

V1.0 2013‐6‐2

Q1:该版本的BSP兼容2.5Gbps和3.125Gbps的RocketIO,那么如何根据需要进行配置呢?

A1:在BSP目录下有个config.h文件,该文件中第302行有个宏定义ROCKETIO_3P125。

如果 #define ROCKETIO_3P125 则是用3.125Gbps的BSP。

如果 #undef ROCKETIO_3P125 则是用2.5Gbps的BSP

请根据系统需求及FPGA的版本配置不同的BSP。

Q2:3.125Gbps的RocketIO接口函数及调用说明是怎么样的?

A2:关于3.125Gbps的RocketIO函数说明可参考附录1‐RocketIO功能及函数说明。

Q3:VPX6-DSP2(831)模块的bootrom是怎么更新的?

A3:831模块的bootrom更新通常有两种方法:

1)是通过ICE仿真器,通常用于生产过程中的初始加载及系统无法启动时的更新。

2)是通过在线更新,即CPU能正常运行系统,通过下载文件实现

在线更新。方法如下:

将文件和文件拷贝到FTP目录下。

在模块的超级终端中输入

->ls

确保能够看到这两个文件。用命令

->ld <

下载更新主程序,再运行

->bootromUp(“”)

更新bootrom程序。过15秒左右,会提示类似

->program flash finished!

信息,至此bootrom更新完成;重新启动模块即可生效。

注:在更新bootrom过程中,模块不能下电,否则模块会因为bootrom错误而无法启动。

如果提示错误信息,可以再次运行bootromUp(“”)命令。

Q4:831模块的MAC地址是如何设置和区分的?

A4:更新完bootrom(bootromV2_以上版本)后MAC地址的设置方法

为:

在启动bootrom后,输入‘M’命令:

bootrom:M

每个CPU共4个网口,其中CPUA的motetsec1为serdes网络;每个CPU的motetsec2

为RGMII专网,通过后IO板直接引出;每个CPU的motetsec3为接到交换芯片的网络,

1

柏飞电子

BSP使用常见问题及解答V1.0

交换芯片的1个口连接到前面板,1个口连接到模块VPX连接器,根据后IO板的配置

引出。

输入M命令后会提示需要更改哪个网口的MAC地址,如

1:motetsec0:00A01Exxxxxx

2:motetsec1:00A01Exxxxxx

3:motetsec2:00A01Exxxxxx

4:motetsec3:00A01Exxxxxx

网络的MAC地址前3byte固定为00A01E不可更改。

如输入4

就可以设置motetsec3网络的MAC地址。(其余类推)

第一种情况:如果后3byte都设成ff或00,则会根据机柜号、机箱号、槽位号来

决定MAC地址,此时MAC地址为:

00:A0:1E:Ca:bc:de

其中C是表示插箱的意思,为固定值。

a:4bit对应GPIO3~GPIO0,为机柜号和机箱号。

bc:槽位号

d: CPU的识别号,CPUA为0,CPUB为1,CPUC

为2,CPUD为3

e:网络接口号,motetsec0为0,motetsec1为1,motetsec2为2,motetsec3为3

第二种情况: 如果后3byte不是全ff或全00,则MAC地址为实际设置的值。

00:A0:1E:xx:xx:ax

因为四个CPU需要区分MAC地址,所以上述地址中a为CPU号,而不管设置成什么值。

a:CPUA为0,CPUB为1,CPUC为2,CPUD为3.

如:设置模块motetsec3的网络MAC地址为00:A0:1E:22:33:44

则CPUA的motetsec3的MAC地址为00:A0:1E:22:33:04

CPUB的motetsec3的MAC地址为00:A0:1E:22:33:14

CPUC的motetsec3的MAC地址为00:A0:1E:22:33:24

CPUD的motetsec3的MAC地址为00:A0:1E:22:33:34。

Q5:在应用中有时会打印“out of mblk”并导致网络收发异常,该如何解决?

A5:网络崩溃打印“out of mblk”信息,是因为接收的缓冲不够引起的。网络的接收机制为:

数据通过DMA方式直接存入网络缓冲区,并通过中断方式告知CPU,当CPU收到接收

中断时,为了尽量减少中断屏蔽时间,在中断处理中仅仅是将接收的数据信息添加到列

表中,由网络接收任务来处理,只有当网络接收任务将数据接收下来,才会释放接收缓

冲区。如果网络接收的处理任务来不及响应,而接收数据源源不断的进来就会耗尽接收

缓冲区,而打印“out of mblk”信息。

解决的办法有二:

第一个办法:确保网络接收的任务优先级,网络接收任务的默认优先级为50,用户

自己的任务优先级建议为100以上。确保不会因为用户的任务抢占CPU而导致网络接

收任务来不及接收。

第二个办法:由于中断服务及异常处理等任务的优先级都高于网络接收任务。如果

系统中中断非常频繁也会导致接收任务来不及处理。此时就需要加大接收的缓冲区。设

置如下所示:

NUM_DAT_MBLKS为NUM_DAT_64、NUM_DAT_128、NUM_DAT_256等之和,而

2

柏飞电子