1. SDK架构 SDK:Software Development Kit,[url=]App开发工具包[/url]。 BCM针对其出品的所有交换芯片和PHY芯片的配置源代码都在BCM的SDKApp包中,通过编译SDK可以生成针对你所需要的芯片的内核模块映像(.ko文件),加载到OS中即可自动完成配置。 BCM SDK支撑所有的BroadcomSwitches,所有的APIs都被定义为高层次抽象的概念,比如端口(ports),抽象的第2层实体(abstract L2 entries),路由表实体(routing table entries),VLANs等。因此,没有必要对寄存器(registers)直接编程。 所有的芯片支撑单个镜像(image),并且都被控制采用相同的API函数。所有的芯片特性都被支撑,当然通用函数(commonfunctions)也被支撑。在不同代(generation)产品之间,只会有极少的API会被改变。在Broadcom以前的、现在的以及未来的芯片之间移植将会非常简单。 1.1. SDK层次SDK具有明显的层次结构和模块划分,上层依赖于下层的具体实现,每个层次之间具有明显的界限和职责,每一层很好的隔离了上层与下层的交互。 名词说明: Customer App:用户应用程序,用户自由定制的应用系统,通过sdk提供的接口控制芯片。 BCMX API:为用户应用程序提供的通用接口,不区分芯片,以芯片提供的业务功能为粒度。是对BCM API的封装。 BCM API:驱动级接口,提供芯片各种读写控制接口,可以由用户应用程序调用,设置特定、读取寄存器,或查询芯片信息。 SOC API:直接硬件表项或寄存器操作,需要配置人员管理和组织大量的逻辑。 Core SAL:核心汇编指令,机器实行码。 Appl. SAL:应用汇编指令,机器实行码。 RTOS:实时操作系统,确保中断等操作的同步性。 BSP:硬件驱动程序,包含BCM各类芯片的驱动程序。 1.2. SDK组成包括四个部分:Broadcom Sample Application、Broadcom Reference Libraries、Broadcom Low-level (support) Libraries和BroadcomSample System Software。 1) Sample Application主要用来实现一些确信的功能,包括BCM Diagnostic Shell、Diagnostictest suite、Linux network interface driver; 2) Reference Libraries是系统独立的结构、是不依赖于操作系统的核心单元(core IP),包括BCM API、BCMX API和Stacking Software Suite,也是开发过程中应用最多的库; 3) Low-level (support) Libraries是Reference Libraries的基础,在Reference Libraries不能很好的完成功能时,或者需要直接操作底层函数时使用的库,包括Core SAL、ApplicationSAL和SOC; 4) Sample System Software实现了一些例子,这些实例展现了一些使用代码的方法和策略,可以作为参考使用。 1.3. API层次Broadcom API具有清晰的层级结构。 1) BCM56xxx Device Control和BCM56xxx Device Control层实现了对设备的控制; 2) Dispatch层实现了多种方法的支撑; 3) BCM API是核心的设备API; 4) BCMX Multiple Device Control为系统应用提供了统一的API接口,支撑用统一的描述支撑多种设备,以及对本地和远程设备的支撑; 5) Stacking API层实现了对Dynamic Multibox Stacking的支撑; 6) System Applications提供了一些用户管理App。 2. SDK目录结构SDK具有层次清晰的目录结构,7962代码SDK路径为:$sdk/bcm/sdk-xgs-robo-6.3.9/ SDK目录结构 SDK/src目录结构 SDK/include目录结构
|