Author: Barker, A.W.C.
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 de­scribe our Jenk­ins-based con­tin­u­ous in­te­gra­tion sys­tem and De­bian pack­ag­ing meth­ods, and their ap­pli­ca­tion to the rapid de­vel­op­ment of the ChimeraTK frame­work. ChimeraTK is a C++ frame­work for con­trol sys­tem ap­pli­ca­tions and hard­ware ac­cess with a high level of ab­strac­tion and con­sists of more than 30 con­stantly chang­ing in­ter­de­pen­dent li­braries. Each com­po­nent has its own re­lease cycle for rapid de­vel­op­ment, yet API and ABI changes must be prop­a­gated to pre­vent prob­lems in de­pen­dent li­braries and over 60 ap­pli­ca­tions. We pre­sent how we con­fig­ured a Jenk­ins-based con­tin­u­ous in­te­gra­tion sys­tem to de­tect prob­lems quickly and sys­tem­at­i­cally for the rapid de­vel­op­ment of ChimeraTK. The De­bian pack­ag­ing sys­tem is de­signed to en­sure the com­pat­i­bil­ity of bi­nary in­ter­faces (ABI) and of de­vel­op­ment files (API). We pre­sent our ap­proach using build scripts that allow the de­ploy­ment of rapidly chang­ing li­braries and their de­pen­dent ap­pli­ca­tions as De­bian pack­ages. These even per­mit ap­pli­ca­tions to load run­time plu­g­ins that draw from the same core li­brary, yet are com­piled in­de­pen­dently.  
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 pre­sen­ta­tion will show­case our ex­pe­ri­ence in board bring-up using our FPGA Frame­work and ChimeraTK, our C++ hard­ware ab­strac­tion li­brary. The chal­lenges in­volved in work­ing with dif­fer­ent FPGA ven­dors will be dis­cussed, as well as how the frame­work and li­brary help to ab­stract ven­dor-spe­cific de­tails to pro­vide a con­sis­tent in­ter­face for ap­pli­ca­tions. Our ap­proach to in­te­grat­ing this frame­work and li­braries with Yocto, a pop­u­lar open-source pro­ject for build­ing cus­tom Linux dis­tri­b­u­tions, will be dis­cussed. We will show how we lever­age Yocto’s flex­i­bil­ity and ex­ten­si­bil­ity to cre­ate a cus­tomized Linux image that in­cludes our FPGA dri­vers and tools, and dis­cuss the ben­e­fits of this ap­proach for em­bed­ded de­vel­op­ment. Fi­nally, we will share some of our best prac­tices for board bring-up using our frame­work and li­brary, in­clud­ing tips for de­bug­ging and test­ing. Our ex­pe­ri­ence with FPGA-based board bring-up using ChimeraTK and Yocto should be valu­able to any­one in­ter­ested in de­vel­op­ing em­bed­ded sys­tems with FPGA tech­nol­ogy  
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)