Introduction to BSP

Terminology

Microchip is aware that some terminology used in this technical document is antiquated and inappropriate. As a result of the complex nature of software where seemingly simple changes have unpredictable, and often far-reaching negative results on the software’s functionality (requiring extensive retesting and revalidation) we are unable to make the desired changes in all legacy systems without compromising our product or our clients' products.

Introduction

The Microchip BSP is based on Buildroot, which is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.

It uses the Linux Kconfig configuration system, allowing easy selection of system content. The Makefile will include a .config file generated by Kconfig. The content of this file will determine what should be built.

It is relatively easy from there to add your own programs so your entire build process is automated.

The Buildroot user manual can help you better understand how Buildroot works.

Microchip has added packages, patches, setup, and configuration to work with Microchip provided software that is not included in mainline buildroot.

The Microchip BSP is used together with other Microchip products, such as MESA, WebStaX, SMBStaX and IStaX, but can also be used for development of Switchdev based applications, which is the main focus of this document.

If a switch chip supports Switchdev, all the necessary drivers are part of the upstream kernel and it is possible to use standard Linux user-space tools to configure the switch.

Examples of such user-space tools are ip, bridge and tc from the iproute2 package.

Repository

The BSPs can be found here: AWS BSPs

Here you can find several package types:

  • mscc-brsdk-<arch>-<release>-*: The BSP for the architecture named <arch> for the named release.

  • mscc-brsdk-source-<release>-*: The BSP source files for the release.

  • mscc-brsdk-logs-<release>-* : The log files from the BSP build for the release.

  • mscc-brsdk-doc-<release>-* : The one-file documentation for the release. This is only available for the older releases

The toolchains that can be used to build the BSPs from source can be found here: AWS Toolchains