Author: Killenberg, M.
Paper Title Page
MO2BCO07 Continuous Integration and Debian Packaging for Rapidly Evolving Software 61
 
  • A.W.C. Barker, J. Georg, M. Hierholzer, M. Killenberg, T. Kozak, D. Rothe, N. Shehzad, C. Willner
    DESY, Hamburg, Germany
 
  We describe our Jenkins-based continuous integration system and Debian packaging methods, and their application to the rapid development of the ChimeraTK framework. ChimeraTK is a C++ framework for control system applications and hardware access with a high level of abstraction and consists of more than 30 constantly changing interdependent libraries. Each component has its own release cycle for rapid development, yet API and ABI changes must be propagated to prevent problems in dependent libraries and over 60 applications. We present how we configured a Jenkins-based continuous integration system to detect problems quickly and systematically for the rapid development of ChimeraTK. The Debian packaging system is designed to ensure the compatibility of binary interfaces (ABI) and of development files (API). We present our approach using build scripts that allow the deployment of rapidly changing libraries and their dependent applications as Debian packages. These even permit applications to load runtime plugins that draw from the same core library, yet are compiled independently.  
slides icon Slides MO2BCO07 [0.805 MB]  
DOI • reference for this paper ※ doi:10.18429/JACoW-ICALEPCS2023-MO2BCO07  
About • Received ※ 06 October 2023 — Accepted ※ 13 October 2023 — Issued ※ 26 October 2023  
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)  
 
TUPDP025 Board Bring-up with FPGA Framework and ChimeraTK on Yocto 557
 
  • J. Georg, A.W.C. Barker, Ł. Butkowski, M. Hierholzer, M. Killenberg, T. Kozak, N. Omidsajedi, M. Randall, D. Rothe, N. Shehzad, C. Willner
    DESY, Hamburg, Germany
  • K. Zenker
    HZDR, Dresden, Germany
 
  This presentation will showcase our experience in board bring-up using our FPGA Framework and ChimeraTK, our C++ hardware abstraction library. The challenges involved in working with different FPGA vendors will be discussed, as well as how the framework and library help to abstract vendor-specific details to provide a consistent interface for applications. Our approach to integrating this framework and libraries with Yocto, a popular open-source project for building custom Linux distributions, will be discussed. We will show how we leverage Yocto’s flexibility and extensibility to create a customized Linux image that includes our FPGA drivers and tools, and discuss the benefits of this approach for embedded development. Finally, we will share some of our best practices for board bring-up using our framework and library, including tips for debugging and testing. Our experience with FPGA-based board bring-up using ChimeraTK and Yocto should be valuable to anyone interested in developing embedded systems with FPGA technology  
poster icon Poster TUPDP025 [0.567 MB]  
DOI • reference for this paper ※ doi:10.18429/JACoW-ICALEPCS2023-TUPDP025  
About • Received ※ 06 October 2023 — Accepted ※ 11 December 2023 — Issued ※ 15 December 2023  
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)