Software Hardware Exchange Loop (SHEL) Flow intent and purpose
AMD's goal is to advance the capabilities of embedded software systems by enhancing our build flows and tooling. Central to this effort are the System Device Tree Generator (SDTGen), lopper, gen-machine-conf, and our Yocto native approach, which together redefine how developers interact with AMD™ SoC configuration information.
Table of Contents
Leading the Industry in Multi-Domain Software Systems
Our intent is to lead the industry in multi-domain software systems through simplifying integration of hypervisors, application operating systems such as Linux, real-time operating systems (RTOS) such as Zephyr, and communication frameworks such as OpenAMP on AMD Adaptive SoCs. We are also pioneering efforts to ensure that Xen can be effectively utilized in safety-critical systems, setting new standards for reliability and performance.
Embracing Flexibility and Open Source Best Practices
Historically, AMD (formerly Xilinx) provided "PetaLinux", a tool that automated many processes necessary for Board Support Package (BSP) development on AMD/Xilinx FPGAs. While PetaLinux offered convenience, it also obscured the underlying processes by wrapping around open-source tools such as Yocto and presenting a proprietary interface.
We are now transitioning towards a more open and flexible approach. By integrating our tools and layers directly into Yocto, we empower our customers to leverage their existing knowledge of Yocto and open-source ecosystems, eliminating the need to learn a separate interface. This not only aligns with open-source best practices but also enhances the adaptability and scalability of our solutions.
The Role of SDTGen and gen-machine-conf
System Device Tree Generator (SDTGen)
SDTGen is a pivotal tool in our new approach, designed to convert information from a proprietary output format, generated by the AMD Vivado Design Suite, into a system device tree and bootloader configuration information. The output from SDTGen is standardized, open source, and stable, ensuring that configuration data is accessible, reliable, and consistent across various development environments. By providing a robust foundation for hardware setup and processing system configurations, SDTGen fosters greater collaboration and innovation within the development community.
gen-machine-conf
Complementing SDTGen, gen-machine-conf focuses on extracting the necessary information from the system device tree for Linux and creating Yocto machine configurations. This tool ensures that all relevant configuration details are accurately captured and utilized within the Yocto environment, streamlining the process of building and customizing embedded Linux systems.
lopper
Lopper is a tool used by other AMD tools to transform System Device Trees and Device Trees. It is primarily used to translate a System Device Tree into a device tree for an individual operating system, or filter hardware that might appear in a device tree but not be accessible to a targeted operating system due to memory protection or mapping constraints. Lopper is a fully open-source tool and was contributed to the device tree project by AMD. We encourage other vendors and customers to add their own transforms (lops) and contribute to the core.
Comprehensive Support Across Development Stages
At AMD, our goal is to support customers in their software development process. Whether you require pre-built images, or need to add, replace, or customize components such as Programmable Logic (PL), applications, AI Engine (AIE) graphs, or bootloaders, or prefer to use your own embedded environment, our goal is to set you up to succeed in production.
Our solutions are designed to integrate seamlessly with both customer’s internal development environments, environments for vendors that help you turn your development into production such as commercial operating system vendors.
By leveraging SDTGen, lopper, and gen-machine-conf, we provide our customers with powerful tools to manage and utilize AMD Adaptive SoC configuration information effectively, enhancing both usability and efficiency in embedded software development.
Related content
© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy