
Silicon Laboratories
Introduction
A 32-bit platform with large memory enables a big and complex firmware system on the device. This complexity can slow development, as firmware consists of more layers with interweaving tasks and threads that are more difficult to create and debug.
The si32Library is a set of flexible, reusable, and portable source modules enabling core application level functionality for Silicon Laboratories 32-bit Precision32™ MCUs. It includes facilities for debug logging, memory allocation, data collections, data transfers, and cooperative multitasking. The si32Library package provides working abstractions of the hardware layer, reduces coding effort, and provides structure to aid and speed up top layer application development.
The si32Library is written in C99 and leverages the Silicon Laboratories si32Hal hardware access layer. This document describes the components of the si32Library. A detailed and complete description of the si32Library component functions can be found in the corresponding header files. The library is installed as part of the Precision32 Software Development Kit package available at www.silabs.com/32bit-software.
The primary architectural elements of an application built with the si32Library are:
■ Application: the application-specific code
■ si32Library: reusable object based software modules
■ Real Time Operating System: 3rd party multitasking library
■ Hardware Access: CMSIS-inspired HAL encapsulating hardware peripherals
■ Hardware: the MCU itself, support chips, and boards