The Cordio Controller software system consists of two main components:
The software system is dependent on WSF and PAL. WSF is an OS porting layer. It provides general-purpose software services such as queues, timers, and buffer management. PAL is the hardware platform abstraction layer. It provides the platform specific implementation to the hardware's BSP libraries.
Figure 2-1. BLE LL in a single-chip SoC system
The Cordio Stack and Profiles are designed to support single-chip SoC systems and dual-chip systems.
When operating in a single-chip system the Cordio Stack and Profiles run on the processor inside the SoC. A "thin" HCI layer adapts to the software interface of the target’s BLE Link Layer.
When operating in a dual-chip system the Cordio Stack and Profiles run on a microcontroller and communicate with a BLE Controller chip over a wired interface such as UART or SPI. A standard transport-based HCI layer manages the communication between the two devices.
Figure 2-2. Cordio Stack and Profiles in a single-chip SoC system and dual-chip system