January 10, 2020

The Top Three Challenges in Embedded Software Development

Embedded Systems
Version Control

Embedded development can be a challenging and complex endeavor. Codebases are increasing in size and complexity. Development teams are getting larger and more dispersed. And strict requirements must be attended to. This is all happening against a backdrop of immense competition and shortening design cycles.

Mixed Assets and Development Tools

Embedded developers work with a diverse range of assets. Source code, CAD files, simulations, artifacts, and more. Plus, development teams use various tools. Some may work in Visual Studio or MathWorks while others collaborate in Methodics or Eclipse.

And codebases are only growing in size. According to a 2017 Embedded Markets study, 19% of respondents said managing increases in code size and complexity will be their greatest technology challenge in 2018.

Creating a single source of truth for these varied assets is key to streamlining embedded development. Developers need a version control platform that can integrate with the entire tool chain. And they need one that can scale to accommodate a growing codebase.

Global Embedded Development at Scale

There’s a lot of change within the embedded world, but one thing is certain. Development teams are becoming more distributed. This makes it difficult to unite all development tasks into a seamless workflow. Because development is a team effort, systems must support concurrent design, review, and artifact sharing.

To compound the complexity, development timelines are shortening. Time to market remains a crucial factor to realize a competitive advantage. Companies are compelled to rethink how they can optimize their development process to improve productivity and maximize product success. To streamline release cycles, tools should promote automation of processes and design tasks.

[Related Blog: How to Optimize Your Software Delivery Pipeline]

Security and Traceability

Security and traceability are paramount in embedded development. Without a securable version control system, development teams lack assurance knowing their IP is secure. And vulnerable IP doesn’t just lead to ransomware attacks. It hampers developers’ ability to quickly reuse code and artifacts.

When digital assets are secure, they’re traceable. Embedded developers need to prove they’ve complied with requirements and compliance guidelines.  And they need to track the versions of every file that goes into the design of connected products. They must know what they’re sending to fabrication. In fact, traceability is a key differentiator for many of our clients. “We need traceability to remain intact,” said Steve Pacheco, Applications Engineer and Technical Lead Engineer at Woodward.

Version Control for Embedded Software

Version control systems for embedded development must be flexible, scalable, and securable. After all, they need to accommodate large digital assets, distributed teams, and traceability requirements.

When it comes to storing numerous file types, Helix Core is the version control platform of choice. It stores and versions design data, Cadence libraries, CAD files, simulations, and production artifacts. And Helix4Git, the native Git server, securely stores Git repos.

Helix Core also integrates with common tools used by embedded software developers. The Methodics integration ensures analog, digital and mixed-signal designers can effectively manage their IP. This plugin allows developers to access and manage their versioned files without leaving the Percipient or VersIc (i.e., Cadence Virtuoso) environment.

And with the MathWorks API, teams can safely store and share MATLAB and Simulink assets without leaving the MathWorks interface. Helix Core also integrates with Eclipse, Visual Studio and accommodates coding files written in C++ or C.

Most of our embedded development companies have numerous design centers scattered around the world. And they use Helix Core to foster collaboration and lightning-quick builds. Since Helix4Git resides inside the Helix Core server, global teams get 80% faster builds than a Git server. Plus, federated architecture ensures global teams can work as fast as their on-site counterparts. 

Lastly, Helix Core comes with robust security features out-of-the-box. Like file locking, file-level permissions, and secure replication. And Helix Core is the only version control solution that supports multi-factor authentication.

In terms of traceability, Helix Core tracks every file change with a full audit log. This means teams can easily trace artifacts all the way back to the originating source code. And for even more traceability and compliance, Helix Core integrates with Helix ALM, a modular suite of application lifecycle management tools. 

Versioning Best Practices for Embedded Development

Learn innovative version control tips and use cases from ADTRAN, u-blox, Transurban, Methodics, MathWorks, and Maxim.

Get the eBook