VxWorks 6.x Board Support Package
Acquire the knowledge necessary to port VxWorks to custom hardware.
Course Description
The VxWorks® 6.x Board Support Package 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:
- Define a BSP development strategy
- Use a hardware bringup tool to initialize a board and download code
- Write and debug BSP initialization code
- Create a basic boot loader image
- Use Wind River® Workbench tools effectively to accelerate board bringup
- Integrate device drivers, including interrupt management, clock support, and timestamps
- Supply the required BSP routines to complete a BSP that complies with Wind River standards
- Migrate to a BSP with VxBus support
- Integrate a VxBus driver
- Achieve faster, more reliable program development
- Package and validate a BSP
Products Supported
- VxWorks 6.9
- Wind River Workbench 3.3
Who Should Attend
- Developers planning to port a BSP to a new board on a supported architecture
- Device driver writers
- 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 four-day expert-led course consists of lectures and lab sessions.
- Attendees use VxWorks 6.9, Workbench 3.3, 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 BSPs
- BSP overview
- BSP development workflow
- VxWorks BSP development environment
- LAB: Getting started
Pre-kernel Initialization Sequence
- romInit( )
- romStart( )
- usrInit( )
- sysHwInit( )
- Pre-kernel load and debug options
- LAB: Pre-kernel initialization
Day 2
Kernel Boot Sequence
- kernelInit( )
- usrRoot( )
- sysHwInit2( )
- BSP development cycle
- LAB: Kernel initialization, code browsing
Developing a Basic Boot Loader
- Boot ROM overview
- VxWorks and boot loader image types
- Boot loader/BSP project
- Makefiles and build tools
- LAB: BSP selection
Day 3
Developing a Basic VxWorks Image
- Differences from boot loader/BSP project
- VxWorks image project in Workbench
- Vxprj
- PROFILE_BOOTAPP
- Kernel diagnostics
- Memory management
- LAB: Developing a basic VxWorks image
VxWorks Components
- Workbench kernel editor
- Component descriptor language
- 20bsp.cdf
- LAB: VxWorks components
Day 4
Device Driver Integration
- Introduction to VxBus
- Statically configured VxBus devices
- Required device drivers
- Dynamically discovered VxBus devices
- Non-VxBus device drivers
- Drivers in a downloadable kernel module
- Driver considerations for RTPs
Validation Test Suite
- BSP development cycle—test and document
- Framework overview
- VTS files
- Configuring and running tests
- Analyzing results
- LAB: Validation test suite
Optional Modules
VxWorks BSP for Intel® Architecture
- IA vs. SoC
- BIOS, boot sequence, and processor modes
- IA interrupts
- Intel 64-bit
VxWorks BSP for SMP
- Requirements for SMP
- Optional BSP requirements
VxWorks BSP for Native AMP
- Multi-core AMP requirements
- MIPC enablement
- smLib
VxWorks BSP Considerations for Real-Time Process Support
- RTP overview
- Overlapped memory
Prerequisites
Prerequisite Course
Prerequisite Skills
- C programming, including experience with structures, pointers, pointers to structures, typedefs, macros, and bitwise operators
- Functional knowledge of UNIX or Windows
- Experience using the Workbench Debugger to debug target code
Related Courses
COURSE DETAILS SUMMARY
- Duration: 4 Days
- Course Information: View
- Format: Lectures and Labs
- Type: Instructor-led