Der im Oktober abgehaltene Kongress ARM DevSummit stand ganz im Zeichen der virtuellen Hardware - im Rechner lebende Analogons sollen Entwickler befähigen, Neuentwicklungen in ihren Entwicklungsprozess einzubeziehen, wenn sie noch nicht als physisches Silizium zur Verfügung stehen. Die bisher nur für ausgewählte Kunden verfügbaren Technologien werden nun – teilweise - für die Allgemeinheit verfügbar.
Worum geht es hier?
Anpassung von Compiler und Bibliothek an neue Hardware und die Verfügbarkeit dieser neuen Hardware stehen nur allzu oft in einem Henne-Ei-Problem zueinander: im schlimmsten Fall ergeht es dem Hardware-Entwickler wie einst Solartron mit dem SI7063. Das Multimeter war fertig (und im Verkauf), muss ob eines Fehlers im ASIC zurückgerufen werden - ein Redesign des Geräts erwies sich als zu teuer.
(Bildquelle: Peaker und Pattinson, wo Restanten immer wieder versteigert werden)
Über die „allgemeine“ Ausrichtung der neuen Funktionen haben wir - siehe Beitrag "Bit invertieren auch im Register" und Beitrag "ARM DevSummit 2021 - Schlussbetrachtung" - in der Vergangenheit detailliert berichtet. Nun gibt es - zumindest für Besitzer von Keil MDK Pro - die Möglichkeit, einige im realen Leben auszuprobieren.
Keil MDK 5.36: Pro-Version unterstützt ARM Virtual Hardware.
Mit der Beta-Version 0.2 hat ARM Virtual Hardware den „öffentlichkeitsreifen“ Zustand erreicht. Besitzer von ARMKeil - hier allerdings nur in der Profi-Variante - können das Produkt ab sofort ausprobieren.
Bildquelle: https://www.keil.com/pr/article/1298.htm
Zur Inbetriebnahme der neuen Funktion ist ein Add-on erforderlich, das MDK die zusätzlichen Funktionen einschreibt. Danach verhält sich das virtuelle Target analog zu einem normalen Hardware-Board.
Nebeneffekt: Mehr Dokumentation zu ARM Virtual Hardware.
Im Rahmen des öffentlich-verfügbar-Machens muss ARM Dokumentation zur Verfügung stellen, um Entwicklern die Arbeit zu erleichtern. Die URL https://arm-software.github.io/VHT/main/overview/html/index.html enthält „allgemeine“ Dokumentation, während sich unter https://arm-software.github.io/VHT/main/infrastructure/html/run_mdk_pro.html Anweisungen zur Integration zwischen der MDK-Installation und dem „lokalen bzw. globalen“ Ökosystemen finden.
Bildquelle: Screenshot von https://arm-software.github.io/VHT/main/overview/html/index.html.
Sehr interessant ist in diesem Zusammenhang auch die unter https://arm-software.github.io/VHT/main/simulation/html/group__arm__vio.html bereitstehende Dokumentation für die kurz als VIO bezeichnete Hardware-Abstraktionsschicht: ARM versprach auf der Konferenz ja, dass man „beliebige hauseigene Hardware“ durch Python-Skripte in den arm-Simulator einbinden darf.
Bildquelle: Screenshot.
Kostenlose AWS EC2-Credits
ARM sprach immer wieder davon, durch die Einführung der verschiedenen Simulatoren Entwicklern „moderne“ Entwicklungsprozesse der Software-Architektur auch im Bereich von Hardware-Projekten zur Verfügung stellen zu wollen. Besonders betonte man in diesem Bereich immer die Möglichkeit von Continuous Integration. „Schnell handelnde“ Entwickler können von ARM unter https://www.arm.com/company/contact-us/virtual-hardware 100 kostenlose EC2-Betriebsstunden beziehen - die Virtual Hardware-Funktionen lassen sich im Interesse bequemer Integration in Jenkins und Co. nämlich nicht nur lokal, sondern auch in der Amazon EC2-Cloud ausführen.
Dedizierte Trainings
Wer bisher „noch nie“ mit virtueller Hardware gearbeitet hat, wird von ARM im Rahmen einer Lab Series mit Webinars versorgt, die einen schnellen Quereinstieg ohne großes Dokumentations-Studium ermöglichen. Die zum Zeitpunkt der Drucklegung für Februar, März und April geplanten Webinare stehen zu folgenden Themen zur Verfügung:
Lab 1: CI/CD Workflow
Lab 2: Model Conditioning and Optimisation
Lab 3: Extend Arm Virtual Hardware with Python
Der Web-Link zur Anmeldung findet sich dann unter der URL https://www.arm.com/campaigns/virtual-hardware-lab-series.