Broadcom提供的sdk软件包包括了broadcom公司的交换芯片、phy芯片、cpu等芯片的驱动程序、器件操作接口、应用层接口;如下图所示:
对于bcm的交换芯片sdk包,主要模块有:
用户应用程序:用户自由定制的应用系统,通过sdk提供的接口控制芯片。
BCMX API:为用户应用程序提供的通用接口,不区分芯片,以芯片提供的业务功能为粒度。
BCM API:驱动级接口,提供芯片各种读写控制接口,可以由用户应用程序调用,设置特定、读取寄存器,或查询芯片信息;
BCMX API是对BCM API进行了下封装,一般的应用直接使用BCM API就可以;
BCM SDK支持的芯片比较多,使用时需要确定自己用的芯片是哪个系列的,BCM API接口函数在dispath中使用下面方式对应到芯片的类型的操作入口,
#define BCM_DLIST_ENTRY(_dtype)\
bcm_##_dtype##_auth_mac_add,
staticint (*_auth_mac_add_dispatch[])(
int unit,
int port,
bcm_mac_t mac) =
{
#include <bcm_int/bcm_dlist.h>
sdk0
};
##_dtype##:##_dtype##为芯片系列类型,如robo系列_dtype==robo;
芯片功能使用比较简单可靠的方式是参考\src\appl\diag\cmdlist.c文件中对应芯片类型的命令处理列表,里面有芯片功能相关的命令行说明及处理。
Sdk如果不进行裁剪进行编译时默认支持所有芯片,在sdk目录下的make子目录中的make文件进行设置,可以过滤掉不关心的器件。
在系统启动初始化过程中通过调用sdk的初始化接口,完成交换芯片的初始化操作,系统初始化完成后,通过用户应用程序调用BCMX api或者BCM api接口进行业务的控制操作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论