SDK Introduction
Asia Applications Engineering
BROADCOM PROPRIETARY & CONFIDENTIAL
1
SDK
• Complete software distribution
– Reference code (the API libraries)
– Sample system code (BSPs)
– Sample applications
• Runs on Broadcom SRDs
A complete, portable
software distribution that
runs on Broadcom SRDs
under the control of a
supported OS
– Compiles out-of-the-box and will run on our SRDs
– Customers might need to port it to their own systems
• Under the control of a supported OS
– As with any other driver or application, a customer will need
• An OS
• A toolchain required by your OS in order to compile the software
– A number of popular OSes are supported out-of-the-box
– If a customer uses a different OS, the SDK has to be ported to it
BROADCOM PROPRIETARY & CONFIDENTIAL
2
Portable
• OS-independent
– The System Abstraction Layer (SAL) is used to abstract from the
underlying OS services:
• thread creation and management
• semaphores
• memory allocation
• timers
• etc.
runtime
• Memory mapped register access
• DMA-able memory allocation
• Cache flush/invalidate
• etc.
– The Configuration Manager binds the driver to hardware access routines at
BROADCOM PROPRIETARY & CONFIDENTIAL
3
Portable (cont.)
• Supported OSes
– VxWorks (5.4, 5.5 and 6.x)
– Linux 2.4 (kernel and user mode)
– Linux 2.6 (kernel and user mode)
– eCos
• Successful ports by customers to:
– QNX
– BSD
– pSOS
– Nucleus
BROADCOM PROPRIETARY & CONFIDENTIAL
4
Portable (cont.)
• Supported CPUs
– MPC8240, MPC8245 (PPC32)
– BCM5836 (MIPS32, non cache-coherent)
– BCM1125 (MIPS32 and MIPS64)
– BCM8548
• Successful ports by customers to:
– PPC405 and PPC440
– i386
– MPC8260, MPC8270
– others
• Both 32- and 64-bit CPUs are supported
• No floating point is used
• Both cache coherent and non-coherent systems are supported
BROADCOM PROPRIETARY & CONFIDENTIAL
5
The Grand View
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
6
SDK Components
• Sample Applications
– Use the reference libraries to
implement certain functionality
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
• Reference Libraries
– The “core IP”
– Mechanism, not policy
– System-independent
• Sample System Software
– sample implementation of access
methods and policies required by
the reference code
BROADCOM PROPRIETARY & CONFIDENTIAL
7
SDK 5 Overview
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
System Abstraction Layer
System Abstraction Layer
Core Device API
Multiple Chip Implementation Support
Device Control implementations
Strata™ II, XGS™, XGS II™, XGS III™
RoboSwitch™
BROADCOM PROPRIETARY & CONFIDENTIAL
8