Marvell以太网交换芯片 | 您所在的位置:网站首页 › 内置cpu和交换芯片 › Marvell以太网交换芯片 |
1 引言
下载Marvell的器件资料,需要公司与其签订NDA保密协议。Marvell 用户访客登陆网址:https://marvell-customers.okta.com/login/login.htm 仿真器:USB2SMI 用途:用于交换芯片eeprom 镜像烧写,交换芯片从eeprom读取镜像进行启动和配置 安装CodeBlocks CodeBlocks 用于编写代码,编译后生成的 .ihx文件用于烧写eeprom. 安装 IMPGUI 工具 该工具用于eeprom 镜像文件的格式转换和eeprom烧写; 安装SwitchGUI 工具 该工具用于读写交换芯片各端口寄存器; 由于公司与Marvell签了保密协议,手册中的部分截图无法贴出来,网友们见谅啦! 我们使用的场景如下,使用MPU的一个MAC+PHY与交换芯片的Port9端口通过SGMII连接。交换的Port1作为级联口接外部网络,Port2-Port7连接背板,Port8预留暂没有使用。 交换芯片使用的是No CPU模式,即上电后从eeprom读取配置文件。 CodeBlock编辑的代码如下: #include #include int main () { /**************************************************** * set C_MODE - Switch - Page182 ****************************************************/ /* P9 - 1000BASE-X ; P2\P3\P4 - AutoMedia */ WriteReg(0x9,0x0,0xde09); /* P10 - 1000BASE-X ; P5\P6\P7 - AutoMedia */ WriteReg(0xa,0x0,0xde09); /**************************************************** * set VLAN - Frame Mode - Switch - Page200 ****************************************************/ /* P1-P10 */ WriteReg(0x1,0x4,0x7f); WriteReg(0x2,0x4,0x7f); WriteReg(0x3,0x4,0x7f); WriteReg(0x4,0x4,0x7f); WriteReg(0x5,0x4,0x7f); WriteReg(0x6,0x4,0x7f); WriteReg(0x7,0x4,0x7f); WriteReg(0x8,0x4,0x7f); WriteReg(0x9,0x4,0x7f); WriteReg(0xa,0x4,0x7f); /******************************************************** * Close AutoNegotitaion, force 1000M/FULL - PHY - Page112 ********************************************************/ /* P9-P10 */ //C45RegWrite(0x9,0x4,0x2000,0x140,0); //C45RegWrite(0xa,0x4,0x2000,0x140,0); /* P2-P7 */ C45RegWrite(0x12,0x4,0x2000,0x140,0); C45RegWrite(0x13,0x4,0x2000,0x140,0); C45RegWrite(0x14,0x4,0x2000,0x140,0); C45RegWrite(0x15,0x4,0x2000,0x140,0); C45RegWrite(0x16,0x4,0x2000,0x140,0); C45RegWrite(0x17,0x4,0x2000,0x140,0); return 0; }另外,交换芯片的复位时序也要特别注意! |
CopyRight 2018-2019 实验室设备网 版权所有 |