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.
Jump to Section
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.
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.
Getting feedback on code.
Getting feedback on code in a timely manner—often and early.
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.
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:
Build, analysis, and test tools
Containerized development environment
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:
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.
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.
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.
TAKE THE NEXT STEP
Learn how your safety-critical software development team can simplify automated Linux builds and testing to accelerate its CI/CD pipeline for delivery of continuous compliance and quality. Watch the on-demand webinar.