Generic SDK 5.6.6 Introduction
April, 2010
Broadcom Proprietary & Confidential. © 2009 Broadcom Corporation. All rights reserved.
www.broadcom.com
Agenda
• SDK Architecture Introduction
• SDK Initialization
• Threads
• Packet TX/RX/DMA
• SDK code size reducing
• BCM SHELL Overview
Broadcom Proprietary & Confidential. © 2009 Broadcom Corporation. All rights reserved.
1
SDK Architecture Introduction
Broadcom Proprietary & Confidential. © 2009 Broadcom Corporation. All rights reserved.
www.broadcom.com
The grand view of SDK
Customer Applications
BRCM Applications
Diag
Diag
Shell
Shell
Tests
Tests
Stacking
Stacking
Software suite
Software suite
BCMX API
BCM API
C
o
n
f
i
g
M
a
n
a
g
e
r
SOC API
Core SAL
Appl. SAL
RTOS
BSP
BCM
56XX
BCM
56XXX
BCM
53XX
Broadcom Proprietary & Confidential. © 2009 Broadcom Corporation. All rights reserved.
3
SDK components
Broadcom Sample Applications
BCM Diagnostic Shell
Diagnostic test suite
Linux network interface driver
Broadcom Reference Libraries
BCM API
BCMX API
Stacking Software Suite
Broadcom Low-level (support) Libraries
Core SAL
Application SAL
SOC
Broadcom Sample System Software
Broadcom Device Enumerator (BDE)
Linux module skeleton
VxWorks BSPs
Additional Device Drivers
• Sample Applications
– Use the reference libraries to
implement certain functionality
– sample implementation of access
methods and policies required by the
reference code
• Reference Libraries
– The “core IP”
– Mechanism, not policy
– System-independent
• Sample System Software
Broadcom Proprietary & Confidential. © 2009 Broadcom Corporation. All rights reserved.
4
Broadcom APIs
System Applications
System Applications
Customer Management Software
Stacking API
Stacking API
Dynamic Multibox Stacking Support
BCMX
BCMX
Multiple Device Control
Multiple Device Control
Uniform API for System Applications
Single unified view of multiple devices
Local and remote device support
BCM API
BCM API
Dispatch
Dispatch
BCM56xxx
BCM56xxx
Device Control
Device Control
BCM53xx
BCM53xx
Device Control
Device Control
Core Device API
Multiple Implementation Support
Device Control implementations
Strata™ II, XGS™, XGS II™, XGS III™
RoboSwitch™
Broadcom Proprietary & Confidential. © 2009 Broadcom Corporation. All rights reserved.
5
The BCM API
• This is the basic building block for systems using our software
• The goal is to provide a high level programming interface covering all of
the features of our devices AND
• Provide the same programming interface for each one of them, making
them interchangeable from a software perspective
• This API is single device oriented
– Operates and configures one chip at a time
– Multiple chips in the same system require multiple independent calls
• “Plug In” implementation allows support for multiple chips and multiple
chip architectures from the same software image in the same system
Broadcom Proprietary & Confidential. © 2009 Broadcom Corporation. All rights reserved.
6
Supporting all Broadcom Switches
• All APIs are defined in terms of high-level concepts such as ports,
abstract L2 entries, routing table entries, VLANs, etc.
• No need to program registers directly
• All existing chips are supported in a single image and controlled using
the same API functions
– It is possible to choose only a subset in order to reduce the image size
• All chip features are supported (not just the common ones)
• Very few API changes even between different generations
• Transition between older, current and future Broadcom chipsets is very
easy
Broadcom Proprietary & Confidential. © 2009 Broadcom Corporation. All rights reserved.
7