VxWorks 7 Board Support Packages and Device Drivers
Acquire the knowledge necessary to port VxWorks to custom hardware.
Course Description
The VxWorks® 7 Board Support Packages and Device Drivers course provides engineers with a fast, cost-effective way to acquire the knowledge necessary to port VxWorks to custom hardware.
Course Results
After this course, participants will be able to perform the following:
- Explain the architecture of the VxWorks 7 board support package (BSP)
- Create a flattened device tree file
- Boot VxWorks 7 with VxBL and U-Boot boot loaders
- Explain the kernel initialization sequence and its routines
- Create and make add-on VxWorks kernel components available in the kernel configuration editor
- Implement a VxWorks I/O system driver and access I/O devices from both user and kernel space
- Explain the VxBus general architecture and describe how VxBus device drivers are managed and integrated
- Explain the roles of ttyDrv, tyLib, and implement and integrate a serial driver
- Implement and integrate a timer driver
- Initialize, configure and integrate END drivers
Hands-on exercises are included, utilizing the Wind River Simics® virtual target.
Products Supported
- VxWorks 7
- Wind River Workbench 4 for VxWorks 7
Who Should Attend
- Developers planning to write a BSP for a new board on a supported architecture
- Device driver developers
- Application programmers interested in learning what occurs at the hardware level of a VxWorks image
- Senior engineers who will decide on a final production image of their product
Course Format
- This three-day expert-led course consists of lectures and lab sessions.
- Attendees use VxWorks 7, Workbench 4, and Simics to gain experience with the topics presented.
- Participants receive individual guidance from an expert engineer who has extensive experience with Wind River technologies.
Syllabus
Day 1
Introduction to VxWorks 7 BSP
- BSP overview
- BSP high level architecture
- LAB: Getting Started with VxWorks BSPs and Device Drivers
Flattened Device Tree
- Flattened device tree overview
- Flattened device tree syntax
- Flattened device tree initialization
- Device discovery
- LAB: Porting a BSP to Support a Board Variant
Boot Loaders for VxWorks 7
- VxBL for PowerPC and ARM
- VxWorks boot application
- U-Boot for PowerPC and ARM
- Boot Loaders for Intel
- LAB: Building a U-Boot Boot Loader
- LAB: Building a VxBL
VxWorks 7 BSP Infrastructure
- Overview
- BSP board layer
- Processor support library (PSL)
- Board subsystem
- Quick steps for BSP development
Day 2
Kernel Initialization
- Pre-kernel initialization overview
- Pre-kernel early debug options
- Kernel initialization overview
- The kernelInit() function
- The usrRoot( ) function
- Hardware initialization
- LAB: Browsing VxWorks Initialization Code
Component Description Language
- Language and file essentials
- Adding components
- LAB: Adding VxWorks 7 Components
VxWorks I/O Interface
- VxWorks I/O system
- I/O system structure
- User space and I/O facilities
- LAB: Creating a VxWorks I/O Device Driver
Day 3
VxBus and Device Driver Fundamentals
- VxBus architecture
- The VXB_DRV structure
- Device driver methods
- VxBus initialization sequence
- Device discovery
- Resource management
- Dealing with device interdependency
- Driver debug aids
- Using I/O system with VxBus-compatible drivers
- LAB: Integrating a VxWorks I/O Device Driver with VxBus
Serial Drivers
- Overview
- High level serial driver architecture
- Serial driver data structures
- Header files
- Serial driver routines
- VxBus driver routines
- Configuring and initializing serial drivers
- Implementing driver routines
- LAB: Creating a Serial Driver
Timer Drivers
- Overview
- Timers
- VxBus driver routines
- Timer driver routines
- Header files
- Configuring and initializing timer drivers
- Integrating timer drivers
- Implementing driver routines
- LAB: Creating a Timer Driver
VxWorks Network Drivers
- Overview
- VxBus driver methods
- END
- Network framing
- Receiving packets
- Sending packets
- Contexts of execution
- MDIO
- LAB: Adding Polling Mode to the VxBus Network Driver
Prerequisites
Prerequisite Course
Prerequisite Skills
- C programming, including experience with structures, pointers, pointers to structures, typedefs, macros, and bitwise operators
- Windows Functional knowledge of Linux or Windows host operating systems
- Experience using the Workbench debugger to debug target code
Related Courses
Buy NowCOURSE DETAILS SUMMARY
- Duration: 3 Days
- Course Information: View
- Format: Lectures and Labs
- Type: Instructor-led