Selecting the right hardware for an embedded project can be a complex decision—but choosing a security library doesn’t have to be. wolfSSL offers broad platform support, running seamlessly on everything from bare-metal systems to full-featured operating systems. In this post, we’ll compare how wolfSSL integrates with two widely used embedded platforms: Xilinx and STM. While both are popular choices, they offer distinct differences in architecture, development tools, and integration workflows.
Platform High Level Overview
Xilinx
- Primarily FPGA-based (Zynq, Zynq Ultrascale+, Versal)
- Offers ARM Cortex-A cores alongside programmable logic
- Development environment: Xilinx Vitis / Petalinux
- OS: Often uses Linux (Yocto or Petalinux), FreeRTOS or bare-metal
STM (STMicroelectronics)
- Microcontroller-focused (e.g., STM32 family)
- Most are based on ARM Cortex-M cores, with some series using Cortex-A cores
- Development environment: STM32CubeIDE, Makefiles, or bare-metal toolchains
- OS: Often bare-metal or FreeRTOS
wolfSSL Build Process
Xilinx
- Autotools or CMake to build wolfSSL in userspace
- Cross-compilation with Petalinux SDK or Vitis toolchain
- Hardware acceleration via Xilinx’s crypto engine, ARM assembly optimizations or custom logic in the PL with crypto callbacks
STM (STMicroelectronics)
- Predefined example configuration files in wolfSSL/IDE/STM32Cube
- Integration with STM32CubeMX-generated projects
- Support for HAL/LL drivers, and FreeRTOS (if applicable)
Cryptographic Acceleration
Xilinx
- Advanced FPGAs allow for hardware acceleration of cryptographic primitives
- Can use custom IP cores or external crypto accelerators
- wolfSSL’s ARM assembly optimizations
- Potential for extreme performance gains, but at the cost of complexity
STM (STMicroelectronics)
- Some STM32 parts support hardware ECC, AES, SHA, and RNG
- wolfSSL can use these via direct calls to HAL drivers
- Easier to configure and use but offers less flexibility compared to FPGAs and on average has a less powerful CPU
- wolfSSL’s ARM assembly optimizations
Some Use Cases We See
- Xilinx if:
- You need programmable logic and customizable crypto acceleration
- Your application runs Linux and demands high throughput
- You have a complex security architecture
- STM if:
- You want quick integration for a bare-metal or FreeRTOS-based project
- Your focus is low power and minimal footprint
- You need an edge microcontroller
Both Xilinx and STM platforms are well-supported by wolfSSL, but the experience differs significantly. Xilinx generally offers power and flexibility—ideal for high-performance secure systems—while STM excels in simplicity and efficiency, making it perfect for lightweight, resource-constrained designs.
Whether you’re targeting a Linux-based Zynq application or a real-time STM32 sensor node, wolfSSL provides the building blocks you need to implement robust embedded security.
If you have questions about any of the above, please contact us at facts@wolfSSL.com or call us at +1 425 245 8247.
Download wolfSSL Now