Seien Sie am 30. April dabei: Vorstellung von Parasoft C/C++test CT für kontinuierliche Tests und Compliance-Exzellenz | Registrierung

Lesezeit: 4 Minuten

Überblick

IAR Systems, 1983 in Uppsala, Schweden gegründet, liefert seit über 30 Jahren erstklassige Entwicklungstools für eingebettete Systeme. Dieser führende Software- und Serviceanbieter für Embedded-Entwicklung ist spezialisiert auf C- und C++-Compiler, Debugger und andere Tools zum Entwickeln und Debuggen von Firmware für 8, 16, 32-Bit und moderne 64-Bit-Prozessoren. Ihre Tools sind auf Embedded-, Consumer- und Industrie-Marktplätzen weit verbreitet, wo Entwicklungsingenieure eines ihrer Produkte wahrscheinlich mehr als 30 Mal pro Tag verwenden.

Herkömmliche Entwicklungsworkflows sind anfällig für Engpässe. IAR Systems verfolgt einen DevOps-Ansatz, um Teams bei der Beseitigung von Engpässen zu unterstützen und moderne Entwicklungsworkflows zu beschleunigen. IAR Systems bietet auch Linux-basierte Build-Tools, um eine Vielzahl von Build-Umgebungen und Continuous Integration and Delivery (CI/CD)-Pipelines zu ermöglichen.

Sehen Sie sich eine Vorschau der Präsentation von IAR Systems auf dem Embedded Software Testing & Compliance Summit 2021 an. Erfahren Sie, wie Ihr Embedded-Entwicklungsteam bei der Implementierung eines modernen Workflows und der Automatisierung der gesamten CI/CD-Pipeline sofortiges Feedback zu Code mit besserer Qualität erhalten kann.

VOLLSTÄNDIGE PRÄSENTATION HIER VERFÜGBAR >>

Die Herausforderungen

Obwohl der Gesamtansatz darin besteht, Embedded-Software-Entwicklungsteams auf DevOps umzustellen und kontinuierliche Integration, Tests und Bereitstellung zu nutzen, birgt er Herausforderungen. Es gibt drei Hauptschwierigkeiten, mit denen Embedded-Entwickler konfrontiert sind, wenn sie eine moderne Entwicklungsumgebung einführen und CI-Pipelines innerhalb der Grenzen ihres aktuellen Workflows implementieren.

  1. Feedback zum Code einholen.
  2. Rechtzeitiges Feedback zum Code einholen – häufig und frühzeitig.
  3. Schlechte Quellenqualität, die nachgelagerte Überprüfungen und Tests verlangsamt.

Zur Steigerung der Entwicklungseffizienz und Produktqualität suchen Unternehmen nach Lösungen zur Automatisierung der gesamten CI/CD-Pipeline. Der Wechsel zu einem CI/CD-Workflow ist eine Sache. Die Automatisierung ist eine andere.

Die Vorgehensweise

Durch die Automatisierung des CI/CD-Workflows erhalten Entwickler nahezu sofortiges Feedback zum Code. Um die Automatisierung nahtlos in ihre modernen Arbeitsabläufe zu integrieren, benötigen Entwickler Build-Tools und automatisierte Software-Testtechnologien.

Die Tools von IAR Systems lassen sich als Teil einer DevOps-Pipeline in praktisch jedes CI-Build-System integrieren. Neben CI/CD und Automatisierung werden Linux-Entwicklungsplattformen, Git-basierte Workflows mit dynamischem Branching-Ansatz und dockerisierte Toolchains zu kritischen Komponenten, die Teams in ihre Umgebungen integrieren können.

Ein kollaborativer Satz von Tools ist integraler Bestandteil einer nahtlosen CI/CD-Pipeline. Hier ist ein Beispiel:

  • Besetzung
  • Versionskontrolle
  • Build-, Analyse- und Testtools
  • Containerisierte Entwicklungsumgebung
Tabelle gefüllt mit Symbolen, die Orchestrierung anzeigen (Jenkins, GitHub, GitLab); Versionskontrolle (git, Subversion, mercurial); Build-, Analyse-, Testtools (IAR-Systeme, Parasoft); Containerisierte Entwicklungsumgebung (Docker)
Werkzeugkomponenten einer Continuous Integration Umgebung. Quelle: IAR Systems

Die Lösung

Embedded-Entwicklungsteams suchen nach einer Lösung, die mit ihren IAR-Tools wie Compilern funktioniert. Die Partnerschaft zwischen IAR Systems und Parasoft ermöglicht die Integration moderner Entwicklungsworkflows, vor allem die Automatisierung der CI/CD-Pipeline.

„IAR-Tools für Linux lassen sich gut in Parasoft integrieren. Die Kombination beschleunigt die Entwicklung und erhöht die Qualität für Ihr Unternehmen.“

—Felipe Torrezan, Feldanwendungsingenieur, IAR Systems

Einführung von DevOps für die Entwicklung eingebetteter Software

Die Befolgung einer DevOps-Methodik – oder eines Lebenszyklus – stellt sicher, dass Teams nicht in Silos arbeiten. Durch die Integration von IAR Systems und Parasoft können Entwicklung und Betrieb während des gesamten SLDC kommunizieren, einschließlich während:

  • Entwicklung von Software.
  • Fehler finden und beheben.
  • Hinzufügen neuer Funktionen.

Diese Hin- und Her-Kommunikation stellt sicher, dass Teams zusammenarbeiten können, ohne dass etwas durch das Raster fällt.

Obwohl DevOps für die Entwicklung eingebetteter Software geeignet ist, unterliegt es häufig Einschränkungen, die andere Arten der Entwicklung nicht haben, wie z. B. begrenzte Rechenleistung und Speicher. Die Zielhardware kann sich auf Ihre Toolchain-Wahl und die möglichen Testarten auswirken, aber die grundlegenden Komponenten der CI/CD-Pipeline bleiben gleich.

Der beste Weg, ein Legacy-Build-System auf CI/CD zu entwickeln, besteht darin, mit einfachen Zielen zu beginnen, wie:

  • Integrieren Sie ein Build-System mit einem Orchestrator.
  • Beginnen Sie mit der Analyse der Codequalität Statische Analyse von Software.
  • Nehmen Sie automatisierte Unit-Tests an.

Ein kritischer Aspekt von Continuous-Integration-Pipelines sind Toolchains, die einen manuellen, befehlszeilengesteuerten Betrieb unterstützen, meistens auf Linux-Serverhosts. Aus diesem Grund hat IAR Systems Tools für Linux entwickelt. Sie sind wichtig, um Embedded-Entwicklern beim Übergang zu einem CI/CD-Workflow-Ansatz zu helfen.

Unterstützung von Softwareentwicklern mit Build-Tools für Linux

Softwareentwickler, die sicherheitskritische Anwendungen erstellen, um direkt in ihrer Linux-Hostumgebung zu arbeiten, können mit IAR Build Tools for Linux die Versionsverwaltung der Toolchain eliminieren. Diese verwenden die führenden Build-Tools von IAR Embedded Workbench und sind gleichwertige Alternativen zu Build-Tools unter Windows. Sie können mit anderen Linux-Build-Tools und Orchestratoren wie Jenkins und GitLab integriert werden. IAR Systems bietet auch ein Build-Dienstprogramm namens IAR Build.

Steigern Sie die Produktivität mit Docker-Container-Entwicklungsumgebungen

Containerisierte Entwicklungsumgebungen werden in Softwareunternehmen immer beliebter, da sie eine einfach bereitzustellende, versionierte Toolsuite bieten, die für jeden Entwickler identisch ist. Entwicklungsteams können Flexibilität und Produktivität steigern, indem sie containerisierte Bereitstellungen der IAR Build Tools for Linux für die Verwendung mit Parasoft C/C++test ermöglichen.

Grafik, die die Architektur eines Containers mit IAR Systems-Toolchains zeigt. Von unten nach oben: Server (Host), Hypervisor, Gastbetriebssystem, Docker Engine, Toolchains Apps
Containerarchitektur mit IAR Systems Toolchains. Quelle: IAR Systems

Integration in typische CI-Workflows

Die Tools von IAR Systems lassen sich vollständig in typische CI-Workflows integrieren, wie unten unter Verwendung von GitHub- oder Jenkins-Runnern dargestellt. Die Integration beginnt im ursprünglichen Produktionszweig, in dem ein Entwickler normalerweise die Änderung und den produktionstauglichen Code in die eingebettete IAR-Workbench-IDE einfügt.

Flussdiagramm, das einen typischen CI-Workflow mit GitHub-Runnern zeigt.
Typischer CI-Workflow mit GitHub-Runnern. Quelle: IAR Systems

Die Ergebnisse

Der Übergang von einem herkömmlichen Workflow zu einem automatisierten CI/CD hilft Embedded-Entwicklern, die Entwicklungseffizienz und Produktqualität zu verbessern.

Die Integration von IAR Systems in CI/CD-Workflows bietet Embedded-Entwicklern:

  • Sofortiges Feedback zum Code
  • Bessere allgemeine Codequalität
  • Fokussierte manuelle Testbemühungen und Code-Reviews auf qualitativ hochwertigen Code
  • Schneller bessere Produkte aus der Tür
  • Deutlich bessere Verarbeitungszeiten für Build und Analyse

Durch die Implementierung eines modernen Workflows und die Automatisierung der gesamten CI/CD-Pipeline erreichen Teams einen Punkt, an dem sie keine Fehler mehr finden und alle Tests bestehen. Dieser gesamte Test- und Bereitstellungsprozess beschleunigt die Markteinführungszeit mit einem sauberen, soliden System.

Erfahren Sie, wie Ihr sicherheitskritisches Software-Entwicklungsteam automatisierte Builds und Tests vereinfachen kann, um seine CI/CD-Pipeline für kontinuierliche Compliance und Qualität zu beschleunigen.

  • Industrie: Technologie
  • Standort: Uppsala, Sweden
  • Lösung: C / C ++ - Test