Virtualization Based Development in Action

Readers who are new to the blog, might not be aware that VLABWorks is just one part of ASTC. The development of VLAB and Virtual Platforms by VLABWorks, is complimented by the Embedded Software Group (ESG). Within ASTC, the ESG team are seen as pioneers of Virtualization Based Development. Often the first and frontline users for new VLAB features and Virtual Platforms, we asked them to share just some of their experiences.

As one of the leaders of the ESG, Phil Mulholland has made extensive use of VLAB Virtual Platforms to support Embedded Firmware Development. Starting below, and followed up by a series of posts we hope you enjoy this ‘users’ view of VLAB. Over to you Phil.

Embedded SystemS Group

In the Embedded Systems Group we typcially use a test driven development flow for creating embedded software. Examples of the type of sofware we work on include:

  • USBPD and USB-C protocol stacks,
  • Embedded Linux
  • ECU firmware
Virtualization Base Development for USB-C Protocol Stack

As the name suggests, using test driven development means that we look to start testing as early as possible, and continue to build our testing as product development progresses. The benefits of such an approach are well established and documented and we think are backed up by results. For example we have:

  • Delivered ROM based firmware that is fully operational on first tape out of silicon.
  • Demonstrated successful interoperable testing of USB-C at USB Plugfest.

Virtualization Based Development

Key to our success has been making extensive use of virtual platforms and virtualization based development. This has allowed us to:

  • Develop, test and validate firmware prior to hardware becoming available. On numerous occasions, when hardware does arrive, our firmware has worked from first powerup. By removing firmware as a source of problems, it significantly simplifies the task of bring up for new hardware. The added benefit of having proven firmware available early is the cost saving associated with placing firmware in ROM or OTP.
  • Experiment with and discover issues in algoritms. Typically we create testing scenarios using virtualised test benches or environments which are used to prove cases such as motor control algorithms handling of invalid PWM parameters.
  • Prepare for compliance testing by directly testing scenarios set out by industry specifications. Implementing the scenarios published by the USB Implementers Forum was one such example that significantly reduced issues found during compliance testing.

Virtual platforms are obviously not the only way to achieve all of these benefits. There are however other advantages to virtual platforms that we regularly take advantage of to compliment hardware across the whole project life cycle. Across this series of blogs I hope to show you how the ESG:

  • Test corner and dangerous use cases not possible with actual hardware.
  • Use Continuous integration (CI) with nightly regressions.
  • Implement protocol compliance tests without expensive third-party testers.
  • Support customers by reproducing in-field failures and validating fixes before deployment.
Posted in Test, VLAB and tagged , .

Leave a Reply

Your email address will not be published. Required fields are marked *