VxWorks Board Support Packages and Device Drivers

VxWorks Board Support Packages and Device Drivers

The VxWorks® 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.

Subscribe

rate limit

Code not recognized.

About this course

VxWorks Board Support Packages and Device Drivers

Buy Now

COURSE DESCRIPTION

The VxWorks® 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 board support package (BSP)
  • Create a flattened device tree file
  • Boot VxWorks with U-Boot boot loader
  • 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
  • Implement PCI Controller Driver Routines
  • Initialize, configure, and integrate END drivers

Hands-on exercises are included, using the Wind River Simics® virtual target.

                                                

PRODUCTS SUPPORTED

  • VxWorks 22.09
  • Wind River Workbench 4

COURSE FORMAT

  • This three-day expert-led course consists of lectures and lab sessions.
  • Attendees use VxWorks, 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.

AUDIENCE

  • 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

PREREQUISITE SKILLS

  • C programming, including experience with structures, pointers, pointers to structures, typedefs, macros, and bitwise operators
  • Functional knowledge of Linux or Windows host operating system.
  • Experience using the Workbench debugger to debug target code

PREREQUISITE COURSES

  • Real-Time Programming for Embedded Systems
  • VxWorks and Workbench Essentials

RELATED COURSES

  • VxWorks 6.9 to VxWorks 7 Migration

SYLLABUS

Day 1

Introduction to VxWorks BSPs

  • 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

  • VxWorks Boot Loaders Overview
  • U-Boot for PowerPC, ARM and RISC-V
  • Boot Loaders for Intel
  • VxWorks Boot Application
  • LAB: Using Boot Loaders for VxWorks

VxWorks BSP Infrastructure

  • BSP infrastructure overview
  • BSP board layer
  • Processor support library (PSL)
  • Board subsystem
  • Quick steps for BSP development

VxWorks Kernel Initialization

  • Pre-kernel initialization overview
  • Pre-kernel early debug options
  • Kernel initialization overview
  • kernelInit() function
  • usrRoot( ) function
  • Hardware initialization
  • LAB: Browsing VxWorks Initialization Code

 

Day 2

Component Description Language

  • Language and file essentials
  • Adding components examples
  • LAB: Adding VxWorks 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

VxBus and Device Drivers 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

 

Day 3

VxWorks Serial Drivers

  • Serial drivers overview
  • High level serial driver architecture
  • Serial driver data structures
  • Header files
  • Serial driver routines
  • VxBus driver methods
  • Configuring and initializing serial drivers
  • Implementing driver routines
  • LAB: Creating a Serial Driver

VxWorks Timer Drivers

  • Timer Drivers overview
  • VxBus driver methods
  • Timer driver routines
  • Header files
  • Configuring and initializing timer drivers
  • Integrating timer drivers
  • Implementing driver routines
  • LAB: Examining Timer Drivers Implementations

PCI Drivers

  • Overview
  • PCI hardware architecture
  • PCI controller driver description
  • PCI bridge driver description
  • Data structures
  • Header files
  • Configuring and initializing PCI controller and bridge drivers
  • Implementing PCI controller driver routines

VxWorks Network Drivers

  • 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
Buy Now

COURSE DETAILS SUMMARY

  • Duration: Estimated Course Duration: 3 Days
  • Course Information: View
  • Format: Instructor-led lectures and hands-on lab sessions; instructor-led Live
    Remote delivery available
  • Type: Instructor-led

CONTACT US

About this course

VxWorks Board Support Packages and Device Drivers

Buy Now

COURSE DESCRIPTION

The VxWorks® 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 board support package (BSP)
  • Create a flattened device tree file
  • Boot VxWorks with U-Boot boot loader
  • 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
  • Implement PCI Controller Driver Routines
  • Initialize, configure, and integrate END drivers

Hands-on exercises are included, using the Wind River Simics® virtual target.

                                                

PRODUCTS SUPPORTED

  • VxWorks 22.09
  • Wind River Workbench 4

COURSE FORMAT

  • This three-day expert-led course consists of lectures and lab sessions.
  • Attendees use VxWorks, 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.

AUDIENCE

  • 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

PREREQUISITE SKILLS

  • C programming, including experience with structures, pointers, pointers to structures, typedefs, macros, and bitwise operators
  • Functional knowledge of Linux or Windows host operating system.
  • Experience using the Workbench debugger to debug target code

PREREQUISITE COURSES

  • Real-Time Programming for Embedded Systems
  • VxWorks and Workbench Essentials

RELATED COURSES

  • VxWorks 6.9 to VxWorks 7 Migration

SYLLABUS

Day 1

Introduction to VxWorks BSPs

  • 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

  • VxWorks Boot Loaders Overview
  • U-Boot for PowerPC, ARM and RISC-V
  • Boot Loaders for Intel
  • VxWorks Boot Application
  • LAB: Using Boot Loaders for VxWorks

VxWorks BSP Infrastructure

  • BSP infrastructure overview
  • BSP board layer
  • Processor support library (PSL)
  • Board subsystem
  • Quick steps for BSP development

VxWorks Kernel Initialization

  • Pre-kernel initialization overview
  • Pre-kernel early debug options
  • Kernel initialization overview
  • kernelInit() function
  • usrRoot( ) function
  • Hardware initialization
  • LAB: Browsing VxWorks Initialization Code

 

Day 2

Component Description Language

  • Language and file essentials
  • Adding components examples
  • LAB: Adding VxWorks 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

VxBus and Device Drivers 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

 

Day 3

VxWorks Serial Drivers

  • Serial drivers overview
  • High level serial driver architecture
  • Serial driver data structures
  • Header files
  • Serial driver routines
  • VxBus driver methods
  • Configuring and initializing serial drivers
  • Implementing driver routines
  • LAB: Creating a Serial Driver

VxWorks Timer Drivers

  • Timer Drivers overview
  • VxBus driver methods
  • Timer driver routines
  • Header files
  • Configuring and initializing timer drivers
  • Integrating timer drivers
  • Implementing driver routines
  • LAB: Examining Timer Drivers Implementations

PCI Drivers

  • Overview
  • PCI hardware architecture
  • PCI controller driver description
  • PCI bridge driver description
  • Data structures
  • Header files
  • Configuring and initializing PCI controller and bridge drivers
  • Implementing PCI controller driver routines

VxWorks Network Drivers

  • 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
Buy Now

COURSE DETAILS SUMMARY

  • Duration: Estimated Course Duration: 3 Days
  • Course Information: View
  • Format: Instructor-led lectures and hands-on lab sessions; instructor-led Live
    Remote delivery available
  • Type: Instructor-led

CONTACT US