Wind River Education Services Course Catalog

Wind River Education Services offers cost-effective training in various forms. Browse our course catalog below to plan and track a curriculum that will satisfy the training needs of your device software development engineers.

VxWorks 7 Board Support Packages and Device Drivers

Buy Now

Course Description

Course Results

Products Supported

Who Should Attend

Course Format

Please see course datasheet for further details here Buy Now

Course Details Summary

  • Duration: 3 Days
  • Course Information: View
  • Format: Lectures and Labs
  • Type: Instructor-led
  • Price/Schedule: View

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 customer hardware.

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.

  • VxWorks 7
  • Wind River Workbench 4 for VxWorks 7
  • 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

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

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
  • 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.