QP/C
Directories and Files in the QP/C Distribution

The following annotated directory tree lists the most important directories and files provided in the standard QP distribution. The explanation section immediately following the directory tree explains the structure in more detail.

 (1) qpc\                 - QP/C root directory
       |
 (2)   +-qpc.chm          - "QP/C Reference Manual" in CHM Help format
       |
 (3)   +-doxygen\         - QP documentation generated with Doxygen
       | +-html\          - "QP/C Reference Manual" in HTML format
 (4)   | | +-index.html   - The HTML index page for the "QP/C Reference Manual"
       | | +- . . .
       | +-Doxyfile       - Doxygen configuration file to generate the Manual
       | +- . . .
       |
 (5)   +-examples\        - QP examples
 (6)   | +-80x86\         - Examples for the 80x86 processor
 (7)   | | +-dos\         - Examples for DOS with the "vanilla" cooperative kernel
 (8)   | | | +-watcom\    - Examples with the Open Watcom compiler
 (9)   | | | | +-l\       - Examples using the Large memory model
(10)   | | | | | +-dpp\   - Dining Philosopher Problem (DPP) example for DOS
       | | | | | | +-dbg\ - Debug build
       | | | | | | | +-dpp.exe - Debug executable
(11)   | | | | | | +-rel\      - Release build
       | | | | | | | +-dpp.exe - Release executable
(12)   | | | | | | +-spy\      - Spy build (with QS tracing instrumentation)
       | | | | | | | +-dpp.exe - Spy executable
(13)   | | | | | | +-make.bat  - batch script to build the application
       | | | | | |
       | | | | | +-game\       - "Fly 'n' Shoot" game example
       | | | | | | +-dbg\      - Debug build
       | | | | | | | +-GAME.EXE   - Debug executable
       | | | | | | +-make.bat  - batch script to build the application
       | | | | | | +-game.h    - The application header file
       | | | | | | +-bsp.c     - BSP for the application
       | | | | | | +-main.c    - main() function
       | | | | | |
       | | | | | +-calc\    - Calculator example
       | | | | | +-qhsmtst\ - QHsmTst example (PSiCC2  in Chapter 2)
       | | | | | |
(14)   | | | | | +-comp\    - "Orthogonal Component" pattern (PSiCC2 Chapter 5)
       | | | | | +-defer\   - "Deferred Event" pattern (PSiCC2 Chapter 5)
       | | | | | +-history\ - "Transition to History" pattern (PSiCC2 Chapter 5)
       | | | | | +-hook\    - "Ultimate Hook" pattern (Chapter 5)
       | | | | | +-reminder\ - "Reminder" pattern (PSiCC2 Chapter 5)
       | | |
(15)   | | +-qk\          - Examples for the QK preemptive kernel
(16)   | | +-ucos2\       - Examples for the µC/OS-II RTOS
       | | |
(17)   | | +-linux\       - Examples for Linux (POSIX)
       | | | +-gnu\       - Examples with the GNU compiler
       | | | | +-dpp\     - Dining Philosopher Problem (DPP) example for Linux
       | | | | | +-dbg\   - Debug build
       | | | | | +-rel\      - Release build
       | | | | | +-spy\      - Spy build (with software instrumentation)
(18)   | | | | | +-Makefile  - GNU Makefile to build the DPP application
       | | | | | +-. . .
       | |
(19)   | +-arm-cortex\    - Examples for ARM Cortex processor
       | | +-vanilla\     - Examples for the cooperative "vanilla" kernel
       | | | +-iar\       - Examples with the IAR compiler
       | | | | +-dpp-ev-lm3s811\  - DPP example for for EV-LM3S811 board
       | | | | +-game-ev-lm3s811\ - "Fly 'n' Shoot" example for EV-LM3S811 board
       | | | | +-. . .    - Other examples for ARM Cortex
       | | | +-gnu\       - Examples with the GNU compiler (Code Sourcery G++)
       | | | | +-dpp-ev-lm3s811\  - DPP example for for EV-LM3S811 board
       | | | | +-game-ev-lm3s811\ - "Fly 'n' Shoot" example for EV-LM3S811 board
       | | | | +-. . .    - Other examples for ARM Cortex
       | | |
       | | +-qk\          - Examples for the preemptive QK kernel
       | | | +-iar\       - Examples with the IAR compiler
       | | | | +-dpp-qk-ev-lm3s811\  - DPP example for for EV-LM3S811 board
       | | | | +-game-qk-ev-lm3s811\ - "Fly 'n' Shoot" example for EV-LM3S811 board
       | | | | +-. . .    - Other examples for ARM Cortex
       | | | +-gnu\       - Examples with the GNU compiler (Code Sourcery G++)
       | | | | +-dpp-qk-ev-lm3s811\  - DPP example for for EV-LM3S811 board
       | | | | +-game-qk-ev-lm3s811\ - "Fly 'n' Shoot" example for EV-LM3S811 board
       | | | | +-. . .    - Other examples for ARM Cortex
       | |
       | +-. . .          - Examples for other CPUs and compiler
       |
(20)   +-include\         - QP platform-independent header files
       | +-qassert.h      - QP assertions
       | +-qep.h          - QEP platform-independent interface
       | +-qf.h           - QF platform-independent interface
       | +-qk.h           - QK platform-independent interface
       | +-qs.h           - QS platform-independent active interface
       | +-qs_dummy.h     - QS platform-independent inactive interface
       | +-qequeue.h      - QF native event queue facility
       | +-qmpool.h       - QF native memory pool facility
       | +-qpset.h        - QF native priority set facility
       | +-qvanilla.h     - QF native "vanilla" cooperative kernel interface
       |
(21)   +-qep\             - QEP hierarchical event processor
       | +-source\        - QEP platform-independent source code (*.c files)
       | | +- . . .
       |
(22)   +-qf\              - QF real-time framework
       | +-source\        - QF platform-independent source code (*.c files)
       | | +- . . .
       |
(23)   +-qk\              - QK preemptive kernel
       | +-source\        - QK platform-independent source code (*.c files)
       | | +- . . .
       |
(24)   +-qs\              - QS software tracing (target component)
       | +-source\        - QS platform-independent source code (*.c files)
       | | +- . . .
       |
(25)   +-ports\           - Platform-specific QP ports
(26)   | +-80x86\         - Ports to the 80x86 processor
(27)   | | +-dos\         - Ports to DOS with the "vanilla" cooperative kernel
(28)   | | | +-watcom\    - Ports with the Open Watcom compiler
(29)   | | | | +-l\       - Ports using the Large memory model
(30)   | | | | | +-dbg\   - Debug build
(31)   | | | | | | +-qf.lib   - QF  library
(32)   | | | | | | +-qep.lib  - QEP library
       | | | | | +-rel\   - Release build
       | | | | | +-spy\   - Spy build (with software instrumentation)
       | | | | | | +-qep.lib  - QEP library
       | | | | | | +-qf.lib   - QF  library
       | | | | | | +-qs.lib   - QS  library
       | | | | | |
(33)   | | | | | +-make.bat   - batch script for building the QP libraries
(34)   | | | | | +-qep_port.h - QEP platform-dependent include file
(35)   | | | | | +-qf_port.h  - QF  platform-dependent include file
(36)   | | | | | +-qs_port.h  - QS  platform-dependent include file
(37)   | | | | | +-qp_port.h  - QP  platform-dependent include file
       | | |
       | | +-qk\          - Ports to the QK preemptive kernel
       | | | +-. . .
       | | |
       | | +-ucos2\       - Ports to the MicroC/OS-II RTOS
       | | | +-watcom\    - Ports with the Open Watcom compiler
       | | | | +-l\       - Ports using the Large memory model
(38)   | | | | | +-ucos2.86\  - MicroC/OS-II v2.86 object code and header files
(39)   | | | | | +-src\       - Port-specific source files
(40)   | | | | | | +-qf_port.c - QF port to µC/OS-II source file
       | | | | | +-. . .
       | | |
       | | +-linux\       - Ports to the Linux operating system (POSIX)
       | | | +-gnu\       - Ports with the GNU compiler
       | | | | +-src\         - Port-specific source files
       | | | | | +- qf_port.c - QF port to Linux source file
       | | | | +-. . .
       | |
       | +-arm-cortex\    - Ports to the ARM Cortex processor
       | | +-vanilla\     - Ports to the cooperative "vanilla" kernel
       | | | +-iar\       - Ports with the IAR compiler
       | | | | | +-dbg\   - Debug build
       | | | | | +-rel\   - Release build
       | | | | | +-spy\   - Spy build (with software instrumentation)
       | | | | | +-make_cortex-m3.bat - batch script for building QP libraries
       | | | | | +-qep_port.h - QEP platform-dependent include file
       | | | | | +-qf_port.h  - QF  platform-dependent include file
       | | | | | +-qs_port.h  - QS  platform-dependent include file
       | | | | | +-qp_port.h  - QP  platform-dependent include file
       | | | . . .
       | | | +-gnu\       - Ports with the GNU compiler (Code Sourcery G++)
       | | | | | +-dbg\   - Debug build
       | | | | | +-rel\   - Release build
       | | | | | +-spy\   - Spy build (with software instrumentation)
       | | | | | +-make_cortex-m3_cs.bat - batch script for building QP libraries
       | | | | | +-qep_port.h - QEP platform-dependent include file
       | | | | | +-qf_port.h  - QF  platform-dependent include file
       | | | | | +-qs_port.h  - QS  platform-dependent include file
       | | | | | +-qp_port.h  - QP  platform-dependent include file
       | | | . . .
       | | +-qk\          - Ports to the preemptive QK kernel
       | |   +-iar\       - Ports with the IAR compiler
       | |   +-gnu\       - Ports with the GNU compiler (Code Sourcery G++)
       | +-. . .          - Ports to other CPUs
       |
(41)   +-tools\           - QP-related tools for the host machine
(42)   | +-qspy\          - QSPY host application
       | | +-include\     - QSPY header files
       | | +-source\      - QSPY platform-independent source files
(43)   | | +-linux\       - QSPY port to Linux
       | | | +-gnu\       - QSPY port with the GNU compiler
       | | | | +-rel\     - Release build
       | | | | | +-qspy       - Linux executable (not provided -- must be built)
(44)   | | | | +-Makefile     - GNU Makefile to bulid QSPY for Linux
(45)   | | +-win32\       - QSPY ports to Win32
(46)   | | | +-mingw\     - QSPY port with the open source MinGW GNU compiler
       | | | | +-rel\     - Release build
       | | | | | +-qspy.exe   - Windows executable (console app)
       | | | | +-Makefile     - GNU Makefile to bulid QSPY for Win32 under MinGW
       | | | +-vc2008\    - QSPY port with Visual C++ 2008
(47)   | | | | +-Release\ - Release build
       | | | | | +-qspy.exe   - Windows executable (console app)
       | | | | +-qspy.sln     - Visual C++ solution to build QSPY
(48)   | | | +-vc6\       - QSPY port with Visual C++ 6.0
       | | | | +-Release\ - Release build
       | | | | | +-qspy.exe   - Windows executable (console app)
       | | | | +-qspy.dsw     - Visual C++ 6.0 workspace to build QSPY
(49)   | | +-matlab\      - MATLAB scripts to import QSPY data to MATLAB
Note:
The ordering of directory levels reflects the embedded focus in the QP design. In most standalone QF applications the CPU architecture is typically more important than the RTOS/OS. For general-purpose operating systems, such as Linux, the reversed order (operating system at a higher level than the CPU architecture) would perhaps feel more natural.
Note:
The port to Linux also runs on many POSIX-compliant OSes/RTOSes, such as BSD, Solaris, MacOS X, and QNX.
Note:
The ordering of directory levels reflects the embedded focus in the QP design. In most standalone QF applications the CPU architecture is typically more important than the RTOS/OS. For general-purpose operating systems, such as Linux, the reversed order (operating system at a higher level than the CPU architecture) would perhaps feel more natural.
 Build Configuration

 Build Command

 Debug 

make

 Release 

make rel

 Spy  make spy
logo_ql_TM.jpg

Copyright © 2002-2011 Quantum Leaps, LLC. All Rights Reserved.