The Module Management Controller (MMC) is a mandatory component of every AMC board. DESY is developing, maintaining and licensing a turn-key MMC solution that is used on several hundred boards in different facilities - on DESY's own products as well as on third-party AMC boards developed by industrial customers and project partners.
With the growing number of different boards, the maintenance of the codebase becomes more and more challenging, as every improvement needs to be integrated, tested and deployed to each product containing our MMC solution. With introduction of the DMMC-STAMP System-on-Module (SoM), the microcontroller was changed from ATxmega to ARM Cortex-M4, requiring a full migration of the code, but offering a powerful platform much better suited to high level software abstractions which help to keep the growing codebase maintainable.
This presentation gives an overview of improvements made to the MMC software development process and environment: a cross-platform build system based on open source tools, supporting continuous integration and utilities to facilitate production, such as a YAML-based FRU generator (FRUGY) and an automated test suite. Finally, there is an overview of several ways the DMMC-STAMP software can be adapted to provide application-specific functionality for a new AMC board.