VxWorks and Workbench Essentials
The VxWorks® and Workbench Essentials training course provides engineers with a fast, cost-effective way to acquire the skills necessary to develop real-time applications with VxWorks and Wind River® Workbench.
COURSE DESCRIPTION
The VxWorks® and Workbench Essentials training course provides engineers with a fast, cost-effective way to acquire the skills necessary to develop real-time applications with VxWorks and Wind River® Workbench.
After this course, participants will be able to perform the following:
- Design and develop real-time applications in kernel and user modes
- Debug, build, and test real-time applications in a target host development environment with Workbench and VxWorks
PRODUCTS SUPPORTED
- VxWorks 22.06 and later
- Wind River Workbench 4
- Earlier product releases (topics may vary)
COURSE FORMAT
- This four-day expert-led course consists of lectures and lab sessions.
- Attendees use VxWorks and Wind River Workbench 4 to gain experience with the topics presented.
- Participants examine and exercise simulated target systems in hands-on labs.
- Participants receive individual guidance from an expert engineer who has extensive experience with Wind River technologies.
AUDIENCE
- Anyone who will receive Workbench 4 and VxWorks within 60 days
- Developers who work with Workbench and VxWorks
- New project members on teams already using Wind River products
- Senior engineers who want to evaluate VxWorks technology
PREREQUISITE SKILLS
- One year of C programming
- Basic understanding of operating systems and debugging techniques
RELATED COURSES
- VxWorks 7 Board Support Package and Device Drivers
- VxWorks 6.9.x to VxWorks 7 Migration
- VxWorks 7 Symmetric Multiprocessing
Day 1
Getting Started with VxWorks
- Product overview
- Workbench 4 features
- VxWorks features
VxWorks Targets and Connections
- Hardware target configuration
- Booting the hardware target
- Workbench tools architecture
- Configuring and connecting the TCF server
- QEMU - Processor Simulation
- Wind River Simics® - a true hardware simulation
- LAB: Getting Started with VxWorks
Managing Projects in Workbench
- Introduction to projects and workspaces
- VxWorks installation directory structure
- VxWorks layers and package management
- VxWorks source build projects
- VxWorks image projects
- Configuring the kernel
- The vxprj utility
- ROMFS
- Configuring application projects
- Importing and exporting
- Building projects
- LAB: Managing VxWorks Projects
VxWorks Kernel Shell
- Introduction to kernel shell
- Kernel shell configuration
- Kernel shell commands and help
- Kernel shell usage
- Command-line history and editing
- Object module loader
- LAB: Using the VxWorks Kernel Shell
Day 2
Debugging in Workbench
- Debugger overview
- Application mode and stop mode debugger
- Setting breakpoints
- Downloading code
- Attaching to running tasks
- Attaching to system
- LAB: Debugging with Workbench
- LAB: Debugging VxWorks in Stop Mode
Real-Time Multitasking
- Introduction to real-time requirements
- Task states in VxWorks
- Context switching
- Spawning new tasks
- Task control routines
- Task information
- Alternative POSIX support
- System tasks
- LAB: Working with VxWorks Tasks
VxWorks Events
- VxWorks events overview
- Task event register
- Event handling in VxWorks
- Receiving events
- Sending events
- Other eventLib routines
- Usage caveats
- LAB: Working with VxWorks Events
Day 3
Semaphores
- Semaphore types
- Synchronization issues
- Binary and counting semaphores
- VxWorks events and semaphores
- Mutual exclusion issues
- Mutex semaphores
- Deletion and inversion safe mutex semaphores
- Other preemption locks for tasks and ISRs
- LAB: Using Semaphores
Inter-task Communication
- Overview of communication methods
- Shared memory and data structures
- Message queues
- Creating, sending, and receiving messages
- Message queue events
- Pipes in VxWorks
- LAB: Communicating between VxWorks Tasks
Real-Time Processes
- Overview of the RTP model
- MMU use
- Memory allocation and tasks
- VxWorks component support for RTPs
- RTP execution and termination
- Debugging RTPs
- Shared library usage
- Shared data usage
- Public and private objects
- RTP application security
- Design considerations
- LAB: Working with Real-Time Processes
VxWorks Memory
- Introduction
- Physical memory layout
- Virtual memory layout
- Heap memory allocation
- Virtual memory allocation
- Examining memory
- LAB: Managing VxWorks Memory
Day 4
Exceptions, Interrupts, and Timers
- Exception handling and signals
- Installing signals to handle exceptions
- Interrupt service routine basics
- Interrupt handling example
- ISR guidelines
- Timing and the system clock
- Watchdog timers
- Polling
- The auxiliary clock
- LAB: Using VxWorks Exceptions, Interrupts, and Timers
Error Detection and Reporting
- Error reporting features
- Error reporting capabilities
- Error reporting framework
- Persistent memory manager
- Configuring ED&R in the kernel
- Error records and log
- Extending ED&R recording
- LAB: Using VxWorks Error Detection and Reporting
System Viewer
- System Viewer overview
- Configuring System Viewer
- Collecting and displaying event data
- User-defined events
- Additional analysis views
- LAB: Using System Viewer
Analysis Tools
- Overview
- System browser
- CPU profiler
- Memory analyzer
- LAB: Using VxWorks Analysis Tools
Optional Labs (Available for Tailored Courses)
- Debugging with dprintf
- Using kprintf
- Debugging from a Core Dump
- Debugging an Interrupt Service Routine
- Using RTP Shared Libraries
- Using the Time Partition Scheduler
COURSE DETAILS SUMMARY
- Duration: Estimated Course Duration: 4 Days
- Course Information: View
- Format: Instructor-led lectures and hands-on lab sessions; instructor-led Live
Remote delivery available - Type: Instructor-led