Simplify Compliance Workflows With New C/C++test 2024.2 & AI-Driven Automation | Register Now

Reading Time: 4 minutes

Overview

IAR Systems, founded in 1983 in Uppsala, Sweden, has been supplying best-in-class development tools for embedded systems for over 30 years. This leading software and services provider for embedded development specializes in C and C++ compilers, debuggers, and other tools for developing and debugging firmware for 8, 16, 32-bit, and modern 64-bit processors. Their tools are prevalent in embedded, consumer, and industrial marketplaces where development engineers likely use one of their products more than 30 times each day.

Traditional development workflows are prone to bottlenecks. IAR Systems takes a DevOps approach to aid teams in removing bottlenecks and accelerate modern development workflows. IAR Systems also supplies Linux-based build tools to facilitate a wide variety of build environments and continuous integration and delivery (CI/CD) pipelines.

Watch a preview of the IAR Systems presentation at the Embedded Software Testing & Compliance Summit 2021. Learn how your embedded development team can get instant feedback on code with better quality when implementing a modern workflow and automating the entire CI/CD pipeline.

FULL PRESENTATION AVAILABLE HERE >>

The Challenges

While the overall approach is to move embedded software development teams to DevOps and embrace continuous integration, testing, and delivery, it does come with challenges. There are three primary difficulties that embedded developers face when adopting a modern development environment and implementing CI pipelines within the limitations of their current workflow.

  1. Getting feedback on code.
  2. Getting feedback on code in a timely manner—often and early.
  3. Poor source quality slowing downstream reviews and testing.

To increase development efficiency and product quality, companies are looking for solutions to automate the entire CI/CD pipeline. Moving to a CI/CD workflow is one thing. Automating it is another.

The Approach

By automating the CI/CD workflow, developers get almost instant feedback on code. To seamlessly blend automation into their modern workflows, developers need build tools and automated software testing technologies.

IAR Systems’ tools integrate into practically any CI build system as part of a DevOps pipeline. Along with CI/CD and automation, Linux development platforms, Git-based workflows with a dynamic approach to branching, and dockerized toolchains are becoming critical components for teams to incorporate into their environments.

A collaborative set of tools is integral to a seamless CI/CD pipeline. Here’s an example:

  • Orchestration
  • Version control
  • Build, analysis, and test tools
  • Containerized development environment
Table filled with icons showing Orchestration (Jenkins, GitHub, GitLab); Version Control (git, Subversion, mercurial); Build, Analysis, Test Tools (IAR Systems, Parasoft); Containerized Dev Environment (docker)
Tool components of a continuous integration environment. Source: IAR Systems

The Solution

Embedded development teams are looking for a solution that works with their IAR tools like compilers. The partnership between IAR Systems and Parasoft enables integration of modern development workflows, primarily automating the CI/CD pipeline.

“IAR tools for Linux integrate well with Parasoft. The combination speeds up development and raises the quality for your organization.”

—Felipe Torrezan, Field Applications Engineer, IAR Systems

Adopting DevOps for Embedded Software Development

Following a DevOps methodology—or life cycle—ensures that teams aren’t working in silos. With the integration of IAR Systems and Parasoft, development and operations can communicate during the entire SLDC, including while:

  • Developing software.
  • Finding and fixing bugs.
  • Adding new features.

This back and forth communication ensures that teams can collaborate without anything falling through the cracks.

While DevOps is suitable for embedded software development, it often has constraints that other types of development don’t, such as limited processing power and memory. The target hardware may impact your toolchain choice and the types of testing that are possible, but the basic components of the CI/CD pipeline remain the same.

The best way to evolve a legacy build system to CI/CD is to start with simple objectives like:

A critical aspect of continuous integration pipelines is toolchains that support a hands-off, command line-driven operation, most often on Linux server hosts. This is why IAR Systems built tools for Linux. They’re important in helping embedded developers move to a CI/CD workflow approach.

Empowering Software Developers With Build Tools for Linux

Software developers who build safety-critical applications to work directly on their Linux host environment can eliminate toolchain version management with IAR Build Tools for Linux. These use the leading build tools from IAR Embedded Workbench and are equivalent alternatives to build tools on Windows. They can integrate with other Linux build tools and orchestrators like Jenkins and GitLab. IAR Systems also provide a build utility called IAR Build.

Boosting Productivity With Docker Container Development Environments

Containerized development environments are becoming popular in software organizations because they provide an easy-to-deploy, version controlled tool suite that’s identical for each developer. Development teams can boost flexibility and productivity by enabling containerized deployments of the IAR Build Tools for Linux for use with Parasoft C/C++test.

Graphic showing the architecture of a container with IAR Systems toolchains. From bottom to top: Server (host), Hypervisor, Guest OS, Docker Engine, Toolchains Apps
Container architecture with IAR Systems toolchains. Source: IAR Systems

Integrating With Typical CI Workflows

IAR Systems’ tools integrate completely with typical CI workflows as illustrated below using GitHub or Jenkins runners. The integration starts from the origin production branch where a developer usually pulls the change and the production-grade code into the IAR embedded workbench IDE.

Flowchart showing typical CI workflow with GitHub runners.
Typical CI workflow with GitHub runners. Source: IAR Systems

The Results

Transitioning to an automated CI/CD from a traditional workflow helps embedded developers improve development efficiency and product quality.

IAR Systems’ integration with CI/CD workflows gives embedded developers:

  • Instant feedback on code
  • Better overall code quality
  • Focused manual testing efforts and code reviews on high-quality code
  • Better products out the door faster
  • Significantly better build and analysis processing times

By implementing a modern workflow and automating the entire CI/CD pipeline, teams reach a point where they no longer find flaws and all tests are passing. This entire testing and delivery process speeds up time to market with a clean, solid system.

Learn how your safety-critical software dev team can simplify automated builds and testing to accelerate its CI/CD pipeline for continuous compliance and quality.

  • Industry: Technology
  • Location: Uppsala, Sweden
  • Solution: C/C++test