 Hello, and welcome to this presentation of the STM32Cube firmware drivers, including the hardware abstraction layer drivers. While this presentation is specifically about the STM32WL, the STM32Cube Comprehensive Software Tool offers STM32Cube MX Graphical Software Configuration Tool that allows the automatic generation of C initialization code using graphical wizards. A comprehensive embedded software platform delivered per series, such as STM32CubeWL for STM32WL series. The STM32Cube HAL, STM32 abstraction layer embedded software ensuring maximized portability across the STM32 portfolio. Low-layer APIs, or LLs, offering a fast, lightweight, expert-oriented layer which is closer to the hardware than the HAL. LL APIs are available only for a set of peripherals. A consistent set of middleware components such as FATFS and FreeRTOS, LoRaWAN, SigFox, SubGigahertzFi, KMS, SecureEngine, and Embed Crypto. All embedded software utilities coming with a full set of examples. The embedded software package is a layered approach. Low level, hardware abstraction layer, HAL and LL with libraries and examples. Middleware level, set of libraries with applications including LoRaWAN, SigFox, KMS, SBSFU, RTOS, and FileSystem. Application level, demonstrations for use on ST boards. Embedded software is delivered by series STM32WL, STM32L5, STM32L4, STM32WB, STM32G0, STM32H7, and common modules are covered with fully portable APIs. Embedded software initialization code can be generated through STM32QBMX, allowing the customer to remain focused on the core application code. The STM32Q package is a complete embedded software offer that ensures maximum portability between all STM32 series through three software layers. HAL, Middleware, and Applications. The HAL-LL layer is providing an API for the STM32 embedded peripherals from analog to connectivity and cryptography to security categories. A rich set of examples is available to help developers start using the HAL and LL on the product. The middleware layer for STM32QWL contains CMSIS-RTOS implementation with free RTOS open source solution. Embed crypto libraries, FAT file system based on open source FATFS solution. Sub-Gigahertz PHY, a common PHY layer according to the OSI model for all above MAC layers. STMTouch Touch Sensing Library Solution. Loro WAN, Loro Wide Area Network, SigFox Library, and KMS for Key Management Service. Secure Engine is a secure enclave for sensible operations execution. Like all STM32Q firmware packages, the STM32QWL firmware solution comes in a single zip file having the structure shown in this slide. It's organized in several main folders. The Documentation folder contains the STM32QWL Getting Started document, helping developers to quickly become familiar with the firmware package and its contents. The Drivers folder contains all the ST developed drivers. CMSIS contains the files defining STM32WLXX supported devices, peripheral registers declarations, their associated bit definitions, and address mapping. The STM32WLXXHAL driver folder contains the drivers for all the peripherals. The drivers for all supported boards are found in the BSP folder. Middleware contains the supported middleware libraries and stacks provided either by ST or third parties. The Projects folder contains templates, examples, applications, and demonstrations for supported boards, and with pre-configured projects and specific readme files that provides all necessary information for a quick and easy execution. The Utilities folder contains miscellaneous utility drivers that are used by the provided projects. The Release Note lists the contents of all the packages, tracks the main changes, and provides information on the supported devices and boards, and any known limitations. Through its Generic Architecture, STM32QWL offers a highly portable hardware abstraction layer, or HAL. It allows developers to implement application functions by building on layers such as the middleware layer without requiring any in-depth knowledge of the MCU. This improves the reusability of the library code and guarantees an easy portability to other devices. In addition, thanks to its layered architecture, STM32QWL offers full support of all STM32WL microcontrollers and the development boards designed by ST. The user has only to define the correct macro in the STM32WLXX.h file and get in touch with BSP drivers and example application projects specific to each board provided within the firmware package. For each board, a set of examples is provided with pre-configured projects for eWarm, MDKarm, and SW4STM32 tool chains. The right side figure shows the project structure for the STM32WB55 nuclear board, which is identical for all the other boards. The examples are classified depending on the STM32QWL level they apply to and are named as follows. Examples in level 0 are called examples and use HAL drivers without any middleware component. Examples in level 1 are called applications and provide typical use cases of each middleware component. And examples in level 2 are called demonstration and implement all the HAL, BSP, and middleware components. The template project is provided to quickly build any firmware application for all supported boards. The STM32Q project list file allows a quick access and search for a given example within the firmware package. All examples have the same structure. All single core examples have the same structure. The ink folder contains all header files. The source folder contains the source codes. The eWarm, MDKarm, and STM32Q by DE folders contain the pre-configured project for each tool chain. A readme text file describes the example behavior and environment needed to make it work. All dual core examples have the same structure. The CM0 plus ink and CM4 ink folders contain all header files respectively for CM0 plus and CM4. The CM0 plus source and CM4 source folders contain all the source code files respectively for CM0 plus and CM4. The common folder contains common files for CM0 plus and CM4. The eWarm, MDKarm, and STM32Q by DE folders contain the pre-configured project for each tool chain. A readme text file displays the example behavior and environment needed to make it work.