Custom Linux BSP with Yocto for FPGA SoCs

Understanding FPGA

Field Programmable Gate Arrays (FPGAs) are integrated circuits that can be reconfigured post-manufacturing. This ability to adapt the hardware provides unparalleled flexibility, enabling parallel processing and customization across industries like aerospace, automotive, and telecommunications. FPGAs stand out for their capacity to be tailored for specific tasks, allowing users to exploit parallelism in ways that are not possible with traditional processors. One increasingly-common use case for FPGAs in embedded systems involves SoCs that contain both an FPGA and ARM Cortex-A application cores. This allows for a hardware platform containing both a Linux-based operating system running on the ARM cores and specialized hardware acceleration running on the FPGA, with a high-speed interconnect bus allowing data to pass between the two subsystems. When developing a BSP for boards which use these SOCs, the Yocto Project serves as a powerful tool. Yocto is an open-source collaboration project that empowers developers to create custom Linux systems for embedded devices, irrespective of the underlying hardware architecture.

The main challenges of using Yocto on FPGA SoCs

Although FPGA SoCs offer remarkable adaptability and are ideal for prototyping due to their versatile toolsets, moving from a prototype to a production-grade system presents formidable hurdles. Chief among them is the lack of features necessary for sustained deployment. The following are some key issues:

books blue

Standard compliance

Official vendor-provided tools for FPGA SoCs do not adhere to a standard Yocto distribution, leading to more involved initial development efforts and potential compatibility complications across diverse platforms.
secure development blue

Security maintenance

Long-term support and security updates are often missing in the vendor-provided software that supports these devices, which are vital for regulatory compliance and continuous product maintenance.
Test bench blue

Niche configuration

FPGA SoCs, especially those based on Zynq platforms, are highly complex devices requiring a large amount of platform configuration. This can make it difficult to develop initial BSP support for them as well as to modify the configuration if the hardware design changes in a future board revision.

Key elements to consider

FPGA Design Customization

  • Simple customizations, primarily consisting of existing IP blocks alongside small blocks of custom logic​
  • Access to external interfaces and resources such as DDR
  • Troubleshooting integration with Linux​​

Production-Ready Yocto Linux

  • As of release version 2024.1, Xilinx does not endorse PetaLinux for use other than prototyping and demonstration​
  • Create and maintain production-ready Linux OS, without PetaLinux​
  • Board Bringup, Security, Image Optimization, Updates, CI/CD implementation, etc.​

Board & Hardware Support

  • FPGA Hardware Platform Configuration
  • Integrate Xilinx PL Interfaces in Linux: Camera, Display, Audio, etc.​
  • Update mechanism for the FPGA design/bitstream​
  • Secure Boot, Bitstream encryption, and Fallback boot
Nelson Quintana Veriskin
Nelson Quintana

Vice President of Engineerin

Veriskin logo white
Witekio provided Veriskin with a talented, experienced and attentive team focused on execution and meeting the company deadlines. The Witekio team was professional, engaged and made us feel as if we were all one company.

Witekio: Your Partner in FPGA and Yocto Customization

As an official AMD Xilinx partner, Witekio is adept at navigating the complexities of FPGA hardware. We recognize that each project is unique and requires custom firmware solutions. With more than two decades of experience in developing embedded Linux systems across various hardware platforms, and as Yocto Gold partners, we ensure that your FPGA-based system achieves both peak performance and long-term reliability.
witekio team

Your trusted embedded software, application and connectivity partner

flag_line

4 Countries

4 countries

iso_27001_02-1024x704

ISO 27001 certified

ISO 27001 certified

Avnet_logo

Fortune 500 owned

Fortune 500 owned