This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
In this preface you'll find:
The following table may help you find information quickly:
For information about: | See: |
---|---|
How Photon uses graphics drivers | Introduction to Graphics Drivers |
Graphics drivers | Writing Your Own Driver |
The entry points your driver provides, and macros and data it uses | Graphics Driver API |
Other useful functions | Libraries |
How to debug a graphics driver | Debugging a Graphics Driver |
Definitions of terms used in this guide | Glossary |
You must use this DDK with QNX Neutrino 6.3.0 or later. |
We assume you have a basic familiarity with graphics cards, concepts, and terminology (e.g. pixels, spans, blitting, alpha-blending, chroma-keying, and raster operations).
You'll also need sufficient hardware documentation for your graphics chip in order to be able to program all the registers. A working knowledge of the C programming language is essential.
You can compile the DDK from the IDE or the command line.
Please refer to the Managing Source Code chapter, and "QNX Source Package" in the Common Wizards Reference chapter of the IDE User's Guide.
Please refer to the release notes or the installation notes for information on the location of the DDK archives.
DDKs are simple zipped archives, with no special requirements. You must manually expand their directory structure from the archive. You can install them into whichever directory you choose, assuming you have write permissions for the chosen directory.
Historically, DDKs were placed in /usr/src/ddk_VERSION directory, e.g. /usr/src/ddk-6.2.1. This method is no longer required, as each DDK archive is completely self-contained.
The following example indicates how you create a directory and unzip the archive file:
# cd ~ # mkdir my_DDK # cd my_DDK # unzip /path_to_ddks/ddk-device_type.zip
The top-level directory structure for the DDK looks like this:
Directory structure for this DDK.
You must run:
. ./setenv.shbefore running make, or make install. Additionally, on Windows hosts you'll need to run the Bash shell (bash.exe) before you run the . ./setenv.sh command. If you fail to run the . ./setenv.sh shell script prior to building the DDK, you can overwrite existing binaries or libs that are installed in $QNX_TARGET. Each time you start a new shell, run the . ./setenv.sh command. The shell needs to be initialized before you can compile the archive. |
The script will be located in the same directory where you unzipped the archive file. It must be run in such a way that it modifies the current shell's environment, not a sub-shell environment.
In ksh and bash shells, All shell scripts are executed in a sub-shell by default. Therefore, it's important that you use the syntax
. <script>
which will prevent a sub-shell from being used.
Each DDK is rooted in whatever directory you copy it to. If you type make within this directory, you'll generate all of the buildable entities within that DDK no matter where you move the directory.
all binaries are placed in a scratch area within the DDK directory that mimics the layout of a target system.
When you build a DDK, everything it needs, aside from standard system headers, is pulled in from within its own directory. Nothing that's built is installed outside of the DDK's directory. The makefiles shipped with the DDKs copy the contents of the prebuilt directory into the install directory. The binaries are built from the source using include files and link libraries in the install directory.