Marvell88Q5152交换机开发(2)-配置修改和集成

配置工具

Marvell官方提供了switch的网络功能配置工具:AutomotiveSwitchV4.exe。这个GUI工具可以静态配置switch的ARL表,vlan等功能,同时也集成了寄存器操作的拓展接口,基本可以完成绝大部分的静态配置。同时这个工具也支持配置文件打包成bin文件和在线运行功能。

配置工具依赖三份xml文件:

tool.xml:AutomotiveSwitchV4配置工具相关联的文件,在软件包里面会直接提供。

board_config_0xb52_0x9101.xml:88Q5152芯片相关联的文件,芯片信息(productid 芯片名称 端口数量等),固件能力(固件版本信息 ptp配置 心跳配置 可配置的寄存器信息)。可以从芯片获取,也可以使用发版工具默认的文件

switch_test.xml: 文件名称自定义,里面保存我们的网络的配置参数。描述switch的各个模块的配置过程执行数据,用户可以直接修改xml文件(xml文件信息更全)。本质上它是一个cpu执行配置的命令描述文件,每个条目会调用固件特定的接口根据参数去修改switch的配置,执行顺序根据条目的entity_order_no值顺序执行。

工具使用说明

一般情况下,配置软件包下会有三个文件,如果没有board_config_0xb52_0x9101可以先找供应商要一个。注意:文件路径不要有中文

1.双击工具,选择offline mode,在弹出框选择board_config_0xb52_0x9101文件,

2.选择对应需要配置的模块,然后add配置。注意:左边的单选框一定要勾上,不然配置无效

3.导出bin文件,将配置转化为bin文件。同时也有Activate Configuration和Delete Configuration from flash memory这样的指令,调试过程会用,一般开发用不到这些。

创建bin文件命令行:

指令:\AutomotiveSwitchV4 -switchcfg=%1 -productioncfg=%2 -targetid=%3 (可选 -prodnum=0x0B92 )
%1:switch config xml文件
%2:输出的配置bin文件
%3:smi地址
例程:(将123xml编译成123bin ,smi地址2)
.\AutomotiveSwitchV4 -switchcfg=”123.xml” -productioncfg=”123.bin” -targetid=2 (可选-prodnum=0x0B92 )

上传启动配置实时运行;

\AutomotiveSwitchV4 -runtimecfg -switchcfg=‘switch配置文件‘ -hostaddr=‘pc mac‘ -ethertype=0x9101 -deviceaddr=’芯片mac‘ (可选 -prodnum=0x0B92 )

上传启动配置同时保存到flash

\AutomotiveSwitchV4 -developmentcfg -switchcfg=‘switch配置文件‘ -hostaddr=‘pc mac‘ -ethertype=0x9101 -deviceaddr=’芯片mac‘ (可选 -prodnum=0x0B92 )

删除flash中的配置

.\AutomotiveSwitchV4 -hostaddr=‘pc mac‘ -ethertype=0x9101 -deviceaddr=’芯片mac‘ -eraseactivecfg  (可选-prodnum=0x0B92 )

如何创建board_config_0xb52_0x9101.xml文件

初始拿到软件包时,在目录下只会有一个可执行和一个tool.xml文件,我们首先要创建一个芯片配置xml文件。

1.首先通过网线连接上switch的任意一个以太网口(vlan和优先级不要使能,vlanid==0)。如果在硬件设计之初所有的port没有active,网线时连接不上的,可以找供应商获取一个初始配置文件或者用开发板连接到switch芯片。

后续流程默认网络连接没有问题

2.工具双击打开,选择Online Mode,然后选择一个与设备连接的网卡

3.如果网络连接没有问题会在弹出对话框找到一个设备,在info空白处鼠标右击选择Create Board Configuration,保存就可以。选择next就进入了switch的配置界面。

也可以使用命令行工具创建:确保网络连接没有问题

命令行:

.\AutomotiveSwitchV4 –createboardcfg=自定义名称 -hostaddr=host mac -ethertype=0x9101 -deviceaddr=01:50:43:00:00:03(记录在Unsecure data区) (可选-prodnum=0x0B92 )

如何创建switch_test.xml文件

当配置完对应的模块之后,我们需要将配置的文件保存,选择文件保存就可以

switch configuration level选择level1就可以

集成工具

集成原理

集成switch配置之前首先我们需要了解一件事情,marvell的固件是闭源的每次我们修改配置是通过patch的方式将配置的指令保存到固定的地址空间。switch的固件运行时会到配置空间读取配置指令运行实现交换机的配置。

固件分区

分区块功能

Master Boot Records(MBRs)

1.不支持修改,除了同时写入;

2.Die0是芯片0,Die1是芯片1,对于5152的Die0 内容 == Die1内容,5192两个区域内容不同

Unsecure data存放预设MAC address,详细说明查看《Unsecure data区说明》
TIM(Trusted Image Module)

用于Trusted boot。

unsecured mode:仅仅使用TIM0;

secure mode:必须使用TIM0和TIM1,TIM 0 包括  Key Manifest block 和 Load TIM block,被Key Authentication (KAK)保护。 TIM 1 包括 firmware 和configuration image information 被Customer Signing Key (CSK)保护. CSK IDs从 1开始 并且 CSK HASH value 被保存在 Key Manifest block.
PIE(Primitive Intructions Extensions)

用于marvell bootrom的功能拓展

1.配置eHSM时存放 embedded Hardware Security Module (eHSM)需要的原始指令,存放MACsec 的security artifacts, secure RMU 和 Customer wrap keys 和 data keys

2.Secure固件中存放PIE.rom扩展固件
Firmware固件
configurationSwitch配置

Unsecure data区说明:

40:设置的smi地址0,如果smi地址是3则对应0x43

F3 01:RMU的mac地址存储指令

02-00-00-00-00-01:设置的mac地址

注意:一个smi地址对应一条记录

switch的集成本质就是将配置工具生成的bin文件集成到configuration代码段。

从固件分区中可以看到switch的软件在flash中分成了3个部分

Primary区运行固件主分区默认主分区运行
Secondary区运行固件次分区主分区失败从次分区运行
Temporary区固件临时分区刷写pie,配置eHSM,以太网刷写时会先存到这个区域然后拷贝到对应的其他分区。

MAC地址配置

固件中使用的MAC地址的选择过程:

如图所示:

  1. 如果JTAG禁用且Secure Boot Mode使能则MAC地址必须已经在OTP域(eFuse)且不可修改
  2. Mac地址的修改域是0x4000地址可以看 ”二、总体框架说明->2.固件描述->b.固件分区描述”。
  3. 如果Secure Boot Mode未使能且在0x4000地址无有效mac地址,固件回退默认的mac地址单播:02:00:00:00:SMI:00,多播:01:50:43:00:00:03

工具:“Flash Image Patch Tool“

修改指令.\patch_image.exe -fwimage=%1 -aesgen=3 -macaddress=%2 -devicenum %3

%1:需要修改的固件名称,工具和固件在一个目录下

%2:需要写入的MAC地址

%3SMI address,该地址用法类似每个记录条目的index

例程:

.\patch_image.exe -fwimage=“88Q5152_flash.bin” -aesgen=3 -macaddress=”00:11:22:33:44:06” -devicenum 6

删除指令.\patch_image.exe -fwimage=%1 -aesgen=3 -clearall -devicenum %2

%1:需要修改的固件名称,工具和固件在一个目录下

%2SMI address,需要删除的配置的index

例程:.\patch_image.exe -fwimage=”88Q5152_flash.bin” -aesgen=3 -clearall -devicenum 0

集成操作

工具:create_secure_image_v3.exe

指令:

主分区(primary):
.\create_secure_image_v3.exe -imagefile=%1 -partitionoffset=0x100000 -partitionsize=0x0F0000 -cfgimagefile=%2 -padto=4
备份分区(secondary):
.\create_secure_image_v3.exe -imagefile=%1 -partitionoffset=0x010000 -partitionsize=0x0F0000 -cfgimagefile=%2 -padto=4
%1:固件文件
%2:switch配置bin文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值