CN17500C/N1750 - Building OS/2 Device Drivers: Difference between revisions

From OS2World.Com Wiki
Jump to navigation Jump to search
Tomh (talk | contribs)
Created page with " 4 days, hands-on labs Public, private 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..."
 
Tomh (talk | contribs)
No edit summary
Line 1: Line 1:
= Course N1750: Building OS/2 Device Drivers =


4 days, hands-on labs
==Synopsis==
Public, private
 
You'll learn to develop, compile, install, and test device driver programs for the OS/2 1.3 and 2.X platforms.  
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:  
==How you will benefit==
 
You'll be able to:  
oDevelop, compile, install, and test device driver programs  
* Develop, compile, install, and test device driver programs  
 
* Understand programming and operational characteristics common to both character and block device drivers  
oUnderstand 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  
oGrasp the structure and operation of OS/2 device drivers  
* Understand bimodal operation (real and protected-model), ROM BIOS compatibility support, interrupt handling, serialization, and the use of device helper services  
 
oDesign and implement an OS/2 device driver for a peripheral  
 
oUnderstand bimodal operation (real and protected-model), ROM BIOS compatibility support, interrupt handling, serialization, and the use of device helper services  
 
Topics:
 
oDevice 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
 
oOperation
 
-task time (init)
-interrupt time (timer, IRQ's)
 
oStructure
 
-Device header
 
oDevice attribute
 
-Strategy entry point
-Initialization, command 0 (special case)
 
oRing 3
oApplication context
oIOPL OK
oSome API's available
oSome development helpers
 
-Sample code fragments
 
oOS/2 Strategy Commands
 
oTools


-MASM
==Topics==
-ASDT - demo
-ASDTSYM
-IBM C/2
-LINK 16-bit
-Kernel debugger/ASDT


oOS/2 Device Helpers
* 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


oUsing External Interrupts
* Operation
** task time (init)
** interrupt time (timer, IRQ's)


oDesigning Block Device Drivers
* 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


oDrivers That Use ABIOS
* OS/2 Strategy Commands


-Device ID
* Tools
-Logical ID
** MASM
** ASDT - demo
** ASDTSYM
** IBM C/2
** LINK 16-bit
** Kernel debugger/ASDT


oOS/2 32-bit Enhancements
* OS/2 Device Helpers


-Using 32-bit code
* Using External Interrupts
-Using 32-bit device helpers


oDesign Tips
* Designing Block Device Drivers


-Performance
* Drivers That Use ABIOS
-3 MS rule
** Device ID
-Interrupt rules
** Logical ID
-Testing


oDevice Helper Reference
* OS/2 32-bit Enhancements
** Using 32-bit code
** Using 32-bit device helpers


oDemo Device Driver
* Design Tips
** Performance
** 3 MS rule
** Interrupt rules
** Testing


oDemo Device Driver Using C
* Device Helper Reference


oApplication/System Debug Tool - ASDT Reference
* Demo Device Driver


oLab Exercises
* Demo Device Driver Using C


-Character driver with initialization context only
* Application/System Debug Tool - ASDT Reference
-Character driver with strategy commands, open, and write


oWrite under interrupt  
* Lab Exercises
oHandling multiple overlapping requests  
** 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


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


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


Prices:  
[[Category:Courseware]]
Tuition                        1,260
Private Class Price:
1-14 Students:                20,000
Each additional student:        400

Revision as of 14:09, 1 June 2016

Course N1750: Building OS/2 Device Drivers

Synopsis

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