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
柏飞电子


发布评论