CN17500C/N1750 - Building OS/2 Device Drivers

From OS2World.Com Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

You'll learn to develop, compile, install, and test device driver programs for the OS/2 1.3 and 2.X platforms.

How you will benefit

You'll be able to:

  • Develop, compile, install, and test device driver programs
  • Understand programming and operational characteristics common to both character and block device drivers
  • Grasp the structure and operation of OS/2 device drivers
  • Design and implement an OS/2 device driver for a peripheral
  • Understand bimodal operation (real and protected-model), ROM BIOS compatibility support, interrupt handling, serialization, and the use of device helper services

Topics

  • Device Driver Introduction
    • dd def PMD's, BDD's, PDD's, VDD's (char v. block)
    • Real versus protected
    • 16-bit segmented model - enhanced for OS/2 2.0
  • Operation
    • task time (init)
    • interrupt time (timer, IRQ's)
  • Structure
    • Device header
      • Device attribute
    • Strategy entry point
    • Initialization, command 0 (special case)
      • Ring 3
      • Application context
      • IOPL OK
      • Some API's available
      • Some development helpers
    • Sample code fragments
  • OS/2 Strategy Commands
  • Tools
    • MASM
    • ASDT - demo
    • ASDTSYM
    • IBM C/2
    • LINK 16-bit
    • Kernel debugger/ASDT
  • OS/2 Device Helpers
  • Using External Interrupts
  • Designing Block Device Drivers
  • Drivers That Use ABIOS
    • Device ID
    • Logical ID
  • OS/2 32-bit Enhancements
    • Using 32-bit code
    • Using 32-bit device helpers
  • Design Tips
    • Performance
    • 3 MS rule
    • Interrupt rules
    • Testing
  • Device Helper Reference
  • Demo Device Driver
  • Demo Device Driver Using C
  • Application/System Debug Tool - ASDT Reference
  • Lab Exercises
    • Character driver with initialization context only
    • Character driver with strategy commands, open, and write
      • Write under interrupt
      • Handling multiple overlapping requests
    • ABIOS with hardware interrupts

Prerequisites

You should have experience programming in Assembler or C language. You should also have completed "OS/2 2.X for Software Developers" (N1740) or have equivalent programming experience.

Download

N/A