VLAB Software Suite
VLAB Software Suite is the go-to option for developing and debugging target software for embedded products. What makes it so special? Put simply, it provides an environment that blends the symbolic debug of a desktop software debugger with the control and observability of a traditional embedded system mode debugger.
For users who already have a preferred or required debugger, VLAB Software Suite can enhance your experience. VLAB Software Suite takes care of connecting debuggers to Virtual Platforms, while still letting you take advantage of the advanced introspection and control features within VLAB. The end result is an environment where you can select from and combine a range of the most appropriate tools to solve complex problems.
Start debugging with
VLAB Software Suite
… blends the symbolic debug of a desktop software debugger with the control and observability of a traditional embedded system mode debugger
VLAB Software Suite delivers …
VLAB Software Suite starts with the standard baseline functionality of any software debugger including being able to run, interrupt, step, continue execution, and working with both source and disassembly code.
VLAB Software Suite extends the normal debugging experience with features that include:
- Complete Python scripting access to all debug functionality
- Rich break points and watch points that can trigger scripted actions
- Tracing of software instructions, statements and functions
- Access to memory and memory mapped registers, both graphically and through APIs
- Type awareness of the symbol table to make it easy to view and modify variables and data structures, with support for using C expressions in the GUI
- Diverse support for multi-core debugging, including asynchronous control of cores
The result is an environment that users can trust to deterministically reproduce and diagnose issues, and build a regression test / CI environment.
For users that have invested in or would prefer to continue with an existing debugger, VLAB Software Suite bridges the gap between these tools and Virtual Platforms. Users can start quickly with seamless integration to a growing list of industry leading embedded debuggers including:
- Lauterbach TRACE32*
- Greenhills MULTI*
- TI Code Composer Studio*
- NXP CodeWarrior*
*Trademarks are the property of their respective owners.
VLAB Software Suite starts from a position that Software Analysis is possible without modifying your software. Function Profiling, Function Tracing, and Code Coverage including Statement, Branch and MCDC, are just some of the included capabilities that do not require modifying your software. All that is required is standard debug information already generated by compilers.
Once single or multirun data has been captured, users can analyze their software within VLAB Software Suite. Choices include annotated source code, various visualizations, output to standard open source file formats, or raw data for export to custom formats.
In embedded development environments, tracing plays a vital role in understanding software execution. VLAB Software Suite supports users with both controls and APIs for creating, querying, and analyzing event traces in an efficient and high-performance manner. For any data captured, VLAB Software Suite can store it in both custom and standard file formats for live or post processing.
When asked what they enjoy or use the most, users list:
- Executing custom scripted actions on any trace event associated with port or signal changes, bus transactions, register accesses or IP activity
- Adding custom trace points using C++ or Python
- Working with VLAB Trace Files (VTF) that can quickly capture and filter large data sets, with results accessed graphically or through scripts
For engineers tasked with verification and validation of embedded software, the debugging, analysis and tracing features of VLAB Software Suite are just the beginning. Users are also given the tools to:
- Verify and validate target software at the unit, module, integration and system level
- Create test benches suited to the level of testing
- Craft and easily replicate both simple and complex test cases in Python
- Script and automate the process of test discovery, execution and reporting
- Integrate with 3rd party test generation or execution environments
- Test continuously by developing and validating tests against reference models