README.txt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. ABOUT THE "Workstation" EXAMPLES
  2. ================================
  3. The examples in the "workstation" directory can be built on any workstation
  4. (Windows, Linux, and MacOS). The provided Makefiles support the
  5. GNU GCC toolchain.
  6. *** NOTE ***
  7. For Windows, the make utility and the GNU GCC toolchain (MinGW) are provided
  8. in the QTools collection, which is available for a separate download from:
  9. http://sourceforge.net/projects/qpc/files/QTools/
  10. *** NOTE ***
  11. The code can be also built with other tools as well, such as the
  12. Microsoft Visual Studio 2013 and newer.
  13. The QP/C Code
  14. =============
  15. For Windows, the QP/C framework used in the examples comes pre-compiled
  16. into a library.
  17. For POSIX platforms (Linux and MacOS), the QP/C framework is built from
  18. sources in every provided project.
  19. Single-Threaded and Multi-Threaded QP/C Ports
  20. ---------------------------------------------
  21. Each of the examples can be linked to either the single-threaded QP/C ports
  22. (win32-qv or posix-qv) or multi-threaded ports (win32 or posix). The choice
  23. is made in the Makefiles, by editing the line, which defines the
  24. QP_PORT_DIR symbol. For example, the following lines select the win32-qv
  25. port and leave the win32 port commented-out:
  26. QP_PORT_DIR := $(QPC)/ports/win32-qv
  27. #QP_PORT_DIR := $(QPC)/ports/win32
  28. To reverse the selection, you need to move the comment '#' character.
  29. *** NOTE ***
  30. The single-threaded QP/C ports (win32-qv and posix-qv) are recommended for
  31. emulating software intended for deeply-embedded targets.
  32. The multi-threaded QP/C ports (win32 and posix) are intended for the
  33. actual applications that run on (embedded)Windows or (embedded)Linux.
  34. Debug, Release, and Spy Build Configurations
  35. ============================================
  36. The Makefiles for the examples generally support the following three build
  37. configurations:
  38. Debug Configuration
  39. -------------------
  40. This is the default build configuration, with full debugging information and
  41. minimal optimization. To build this configuration, type:
  42. make
  43. To clean this build, type
  44. make clean
  45. The object files and the executable is located in the 'build' sub-directory.
  46. Release Configuration
  47. ---------------------
  48. This configuration is built with no debugging information and high
  49. optimization. Single-stepping and debugging might be difficult due
  50. to the lack of debugging information and optimized code. To build
  51. this configuration, type:
  52. make CONF=rel
  53. To clean this build, type
  54. make CONF=rel clean
  55. The object files and the executable is located in the 'build_rel' directory.
  56. Spy Configuration
  57. -----------------
  58. This configuration is built with the QP's Q-SPY trace functionality.
  59. The QP/Spy output is performed by a TCP/IP socket and requires launching
  60. the QSPY host application with the -t option. To build this configuration,
  61. type:
  62. make CONF=spy
  63. To clean this build, type
  64. make CONF=spy clean
  65. The object files and the executable are located in the 'build_spy' directory.
  66. *** NOTE ***
  67. Only specific examples support the Spy build configuration. The examples
  68. that don't support it, will report an error or will fail the linking stage.
  69. Support and Contact Information
  70. ===============================
  71. https://sourceforge.net/p/qpc/discussion/668726/
  72. https://www.state-machine.com
  73. info@state-machine.com