Platform-independent QP/C++ Framework API.
qpcpp/ // qpcpp installation directory
|
+---include/
| qs.hpp // QS target-resident software tracing public header file
| qs_pkg.hpp // QS target-resident software tracing package-scope header
| qxk.hpp // QXK dual-mode real-time kernel header file
|
+---src/
| |
| +---qs/ // QS target-resident software tracing component implementation
| | qs.cpp
| | qs_64bit.cpp
| | qs_fp.cpp
| | qs_rx.cpp
| | qutest.cpp
| |
| \---qxk/ // QXK dual-mode component implementation
| qxk.cpp
| qxk_mutex.cpp
| qxk_sema.cpp
| qxk_xthr.cpp
|
+---ports/
| +---arm-cm/
| | +---qxk/
| | | +---armclang/
| | | | qxk_port.cpp
| | | | qp_port.hpp
| | | | qs_port.hpp
| | | |
| | | +---gnu/
| | | | qxk_port.cpp
| | | | qp_port.hpp
| | | | qs_port.hpp
| | | |
| | | \---iar/
| | | qxk_port.cpp
| | | qp_port.hpp
| | | qs_port.hpp
| | |
| | \---qutest/
| | qp_port.hpp
| | qs_port.hpp
| |
| +---posix-qutest/
| | qp_port.hpp
| | qs_port.hpp
| | qutest_port.cpp
| | safe_std.hpp
| |
| \---win32-qutest/
| qp_port.hpp
| qs_port.hpp
| qutest_port.cpp
| safe_std.hpp
|
|
+---static-analysis/
| |
| \---pclp
| | au-ds.lnt // Dan Saks' recommendations for placing 'const' and 'volatile'
| | au-misra-cpp2.lnt // PCLP MISRA-C++:2023 (MP2) confiuration for rules checking
| | co-gnu_arm.bat // script to generate configuration for GNU-ARM toolset
| | co-gnu_arm.h // generated PCLP header file for GNU-ARM (14.3 at this time)
| | co-gnu_arm.lnt // generated PCLP configuration file for GNU-ARM (14.3 at this time)
| | co-mingw32.bat // script to generate configuration for MinGW32 toolset
| | co-mingw32.h // generated PCLP header file for MinGW32 (14.2 at this time)
| | co-mingw32.lnt // generated PCLP configuration for MinGW32 (14.2 at this time)
| | make.bat // script to run the PCLP analysis
| | metrics_file.py // Python script to generate file metrics report from PCLP data
| | metrics_func.py // Python script to generate function metrics report from PCLP data
| | options.lnt // PCLP configuration with Deviation Records in QP source code
| | qpcpp.lnt // PCLP configuration with Deviation Permits in QP applications
| | qp_config.h // QP compile-time configuration used for "linting" QP source code
| | std.lnt // PCLP standard configuration used for "linting" QP source code
| |
| +---qk/
| | qp_port.hpp // "QK port" for "linting" QK kernel code
| | qs_port.hpp // "QS port" for "linting" QK kernel code
| |
| +---qv/
| | qp_port.hpp // "QV port" for "linting" QV kernel code
| | qs_port.hpp // "QS port" for "linting" QV kernel code
| |
| \---qxk/
| qp_port.hpp // "QXK port" for "linting" QXK kernel code
| qs_port.hpp // "QS port" for "linting" QXK kernel code
|
\---tests/
|
| // unit tests (TUN) (host and embedded target)
+---TUN_QP_qep_hsm/ // unit tests (TUN) for the qep_hsm module
| +---src/ // code for exercising the module under test
| | tstsm.c // QM-generated state machine implementation
| | tstsm.h // QM-generated state machine interface
| | tstsm.qm // QM model to generate code
| | tstsm_sf.c // QM-generated state machines for Safety Functions
| | tstsm_sf.h // QM-generated state machines interface
| \---test/
| | Makefile // makefile to build & run tests on the host
| | nucleo-u545re.mak // makefile to build & run tests on NUCLEO-U545
| | test_fixture.c // QUTest fixture
| | TUN_QP_qep_hsm.py // QUTest script for main functionality
| | TUN_QP_qep_hsm_sf.py // QUTest script for Safety Functions
| |
+---TUN_QP_qep_msm/ // unit tests (TUN) for the qep_msm module
| ...
+---TUN_QP_qf_act/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_actq/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_defer/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_dyn/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_mem/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_ps/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_qact32/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_qact64/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_qeq/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_qmact/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qf_time/ // unit tests (TUN) for the qf_act module
| ...
+---TUN_QP_qutest/ // unit tests (TUN) for the qf_act module
| ...
|
| // integration tests (TIN) (embedded target only)
+---TIN_QP_mem/ // integration tests (TIN) for memory protection
| \---test_mpu/
+---TIN_QP_qk/ // integration tests (TIN) for QK kernel
| \---test_sched/
+---TIN_QP_qv/ // integration tests (TIN) for QV kernel
| \---test_sched/
+---TIN_QP_qxk/ // integration tests (TIN) for QXK kernel
+---test_mutex/
\---test_sched/