
Wind River Simics Essentials
Learn to use Wind River Simics, a full-system simulator, and leverage it to improve efficiency during product development and testing.
Course Description
The Wind River® Simics® Essentials course provides developers and testers with a fast, cost-effective way to learn to use Wind River Simics, a full-system simulator, and leverage it to improve efficiency during product development and testing.
Course Results
After this course, participants will be able to perform the following:
- Start a simulated target in Simics and load target software
- Leverage Simics to improve product development, testing, and integration processes
- Efficiently debug target software using Simics features such as reverse execution, checkpointing, breakpoints, and control and inspection
- Configure and customize Simics virtual target systems using script parameters and command-line scripting
- Connect a Simics simulated target to another target via virtual Ethernet networking
- Use Simics features such as tracing, logging, and code coverage to analyze the behavior and performance of a target system
Products Supported
- Wind River Simics 5
Who Should Attend
- Software developers and testers
- System integrators and testers
Course Format
- This two-day, expert-led course consists of lectures and lab sessions.
- Specialized topics are included in lecture and lab books, and taught depending on student preferences and available time.
- Attendees use Wind River Simics 5 to gain experience with the topics presented.
- Participants examine and work with simulated targets in hands-on labs. Labs are performed on a PowerPC®-based virtual target platform (Wind River Simics Quick Start Platform).
- Participants receive individual guidance from an expert engineer who has extensive experience with Wind River technologies.
Syllabus
Day 1
Simics Overview
- Overview
- Architecture
- Directory structure and project
Simics Eclipse
- Introduction
- The Simics project
- Perspectives and specific views
- Other views
- Starting Simics
- Hands-on lab
- LAB: Getting Started with Simics Eclipse
Simics Command Line
- Simics commands
- Scripting
- Hands-on lab
- LAB: Using the Simics Command Line
- LAB: Synchronizing Script Branches (Optional)
Simics Target Structure
- Terminology
- Inspecting the configuration
- Checkpoints
- Hands-on lab
- LAB: Exploring the Target Structure
Simics Logging and Tracing
- Logging vs. tracing
- Logging
- Tracing
- Controlling log/trace output
- Hands-on lab
- LAB: Logging and Tracing in Simics
- LAB: Advanced Logging and Tracing in Simics (Optional)
Simics Classical Debugging
- Overview
- Built-in debugger
- External debuggers
- Hands-on lab
- LAB: Classical Debugging in Simics
Day 2
Simics Advanced Debugging
- Reverse execution
- Advanced breakpoints
- OS awareness
- Code coverage
- Hands-on lab
- LAB: Advanced Debugging in Simics
Moving Data In and Out of a Simics Target
- Using memory images for data exchange
- Loading files into memory
- Host as a network resource
- Simics agent
- Hands-on lab
- Appendix: Simics file system (Linux/Solaris targets only)
- LAB: Moving Simics Data
Simics Networking
- Simulated networking without the host
- Simulated networking infrastructure
- Real networking host connections
- Real networking Ethernet bridging
- Hands-on lab
- LAB: Networking in Simics
Simics Multi-target Simulation
- Terminology
- Synchronizing multiple targets in Simics
- The multi-machine accelerator
- The multi-core accelerator
- Hands-on lab
- LAB: Simulating Multiple Targets
Specialized Topics
Simics Simulation Performance
- Terminology
- Overview
- Benchmarking
- Performance tuning
- Hands-on lab
- LAB: Benchmarking Simics Performance
Simics Networking Details
- Ethernet link details
- Simics service node details
- Real networking details
Distributed Simulation
- Distributed simulation
Prerequisites
Prerequisite Courses
- None
Prerequisite Skills
- Some experience with embedded software development
- Some experience with object oriented programming
- Some debugging experience