Device Driver writing or automation needs two distinct set of information or knowledge bank. One of it being the hardware knowledge for which the device driver has to be developed or automated. By hardware, we mean a piece of electronic hardware (device) or Integrated Circuit(IC) or a programmable IP (silicon Intellectual Property), or even a systemC model of a device/IP. The other bank of information is that of the environment in which device driver is to function/run. Typically environment refers to an Operating System or a bare metal (NO OS) scenario or it could even be an IC validation environment.
The hardware knowledge is captured in a High Level Specification called Device Programming Sequence (DPS). Similarly the environment for the driver is specified in a configuration file called Run Time Specification (RTS).
The two specifications (hardware and run-time) are used as input to Device Driver Generator (DDGen) tool. One can think of DDGen tool as an intelligent Compiler that can understand and interpret the input specifications and then outputs a device driver (ANSI C) code!
In the Developer Reference sections we explain, in detail, the DPS and RTS constructs and how device driver developer could create high level input specifications by themselves. We hope this will act as a User Reference Manual for anyone interested to learn about software device drivers automation using the DDGen Tool.
We would love to hear your feedback on the DeviceDrivers.Org!