Stages: Board Support Packages and Kernel Initialization
Explore the VxWorks compatible boot loaders, the BSP infrastructure layers, and step through the VxWorks BSP pre- and post-kernel initialization steps.
Course Description
Explore the VxWorks compatible boot loaders, the BSP infrastructure layers, and step through the VxWorks BSP pre- and post-kernel initialization steps.
Course Results
After this course, participants will be able to perform the following:
- Boot VxWorks 7 with VxBL and U-Boot boot loaders
- Explain the kernel initialization sequence and its routines
Hands-on exercises are included, utilizing the Wind River Simics® virtual target.
Products Supported
- VxWorks 7
- Wind River Workbench 4 for VxWorks 7
The Course is Suited For
- 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 Structure
- This eLearning course consists of lectures and lab sessions.
- Viewers use VxWorks 7, Workbench 4, and Simics to gain experience with the topics presented.
Syllabus
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
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
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