Using CardBuilder
The first time CardBuilder was mentioned in
KylixDriver Architecture topic that assures of the possibility to automate the creation of your User-Mode driver. CardBuilder is constructively a Kylix IDE design window, a descendant of TClxDesignWindow class, not just a non-modal design-time window. This tool is established as the component editor for the device-modelling component whose class is TkdCustomCard. At the same time CardBuilder is established as the property editor for CardItems property of this component.Being of a design window class, CardBuilder itself becomes a part of Kylix IDE. By means of a greater part of specific interfaces this fact allows to do things by far easier, turning out CardBuilder to be the whole instrument for design-time work. Just as the native Kylix IDE designer simplifies the visual development (management of components, management of their properties, inter-consistency between source code and visual controls, streem work and other), CardBuilder behaves so over any project involving the device-modelling component and all other components that make up the KylixDriver Application Library.
Purposeful components from this library are represented by Final Resource Classes, called so in KylixDriver terminology.
These components are also called card resources (or device resources) because they are a software abstraction of real hardware resources of different natures: memory, ports, interrupts and other.
Not all design-time code is encapsulated in the implementation of CardBuilder class. The design-time work is also addicted to the object-oriented approach and this is a good chance and a convenient way to properly handle with the majority of card resources in the development stage now and in the future. That is why necessary design-time code is brought to the implementations of card resources themselves, and that is why there are two versions of the KylixDriver Application Library: run-time and design time (in /rtl and /dtl folders correspondingly).
CardBuilder is an excellent tool for two major phases in your hardware driver development:
To use CardBuilder:
./kappbuild.sh
./kapprun
Again, the testing application can be referenced as a sample of User Mode driving utility or can even be a starting point for you.
Figure 2: CardBuilder is effective in the definition of device model and in the diagnostics of corresponding hardware