Von Zeit zu Zeit präsentiert Colin Walls von Mentor einige nützliche Programmiertipps für Embedded-Entwickler. Dabei geht es nicht um harte und schnelle Regeln, sondern um Denkanreize und einige bewährte Vorgehensweisen aus der Entwicklungspraxis.
Es ist Zeit für ein paar weitere, hoffentlich hilfreiche Tipps für Embedded-Software-Entwickler. Diese Tipps sind in vielen Fällen nur gesunder Menschenverstand, aber ich denke, wir müssen sie uns immer mal wieder in Erinnerung rufen.
In C und C++ kann es sehr komfortabel sein, Speicherblöcke nach Bedarf zu allokieren und wieder freizugeben. Der Umgang mit einem dynamischen Speicher kann jedoch problematisch und ineffizient sein. Bei Desktop-Anwendungen mit ihrem frei verfügbaren Speicher können diese Probleme ignoriert werden. Für Embedded-Anwendungen – meist Echtzeitapplikationen – ist das aber keine Option.
Mentor zeigt auf der Electronica 2018 Techniken, mit denen Unternehmen strategische Initiativen vorantreiben können, die den Erfolg ihres Leiterplattenprojekts steigern.
Die CFD-Software FloMASTER wurde grundlegend überarbeitet und kommt mit einer besseren Bedienoberfläche und einigen zusätzlichen Funktionen wie einem Ergebnis-Dashboard daher.
Power Management wird bei der Entwicklung von Embedded-Software immer wichtiger. Historisch gesehen war dies ein reines Hardwareproblem. Das hat sich in den letzten Jahren allerdings geändert. Software kann dieses Thema immer effizienter adressieren.
Im letzten Teil unserer Software-Tipp-Reihe gab Colin Walls praktische Erfahrungen in der Embedded-Software-Entwicklung weiter, unter anderem zu Null-Pointern oder Rekursivem Code. Hier folgen fünf weitere Hilfestellungen für Embedded-Programmierer.
Im letzten C++ Tipp haben wir eine interessante Technik für Embedded-Anwendungen geschildert, die einen Embedded-Block mit einem lokalen Objekt verwendete, in dem der zugehörige Konstruktor und Destruktor auf neuartige Weise eingesetzt wurde. Dies kann sich aber auch drastisch auf das Verhalten eines Echtzeitsystems auswirken. Hier einige nähere Details.
Bei Einsatz eines Echtzeitbetriebssystens in Embedded-Anwendungen kann die hohe Anzahl komplexer APIs, die zum Abrufen vieler RTOS-Funktionen nötig sind, unerfahrene Entwickler unter Einsatz von C abschrecken. Die Eigenschaften von C++ lassen sich hier aber gut nutzen, um auf einfache Weise zu sauberen und lesbaren Code zu kommen.
Die Mentor Embedded Linux (MEL) Plattform bietet nun auch volle Unterstützung für AMDs neueste Embedded-Prozessorfamilien EPYC Embedded 3000 und Ryzen Embedded V1000. Basierend auf der leistungsfähigen x86-"Zen"-Architektur sollen die Bausteine eine neue Ära bei Embedded-Prozessoren einläuten.