This commit is contained in:
MMS 2022-04-20 10:05:26 -04:00
parent d0160c8c7b
commit 90feff97a0
135 changed files with 14237 additions and 12480 deletions

2
.gitignore vendored
View File

@ -33,11 +33,9 @@
*.Release
*.bak
*.qlc
*.dox
JLink*.*
version-*
doxygen/
html/
test_priv/
dbg/

View File

@ -1,9 +1,9 @@
The following trace tools are supported:
#####################################################################################
SEGGER SystemView for uC/OS-III
Download the embedded target code to support Segger's SystemView for uC/OS-III
from the following website https://www.segger.com/downloads/free_tools#SystemView
and place the files in this folder.
The following trace tools are supported:
#####################################################################################
SEGGER SystemView for uC/OS-III
Download the embedded target code to support Segger's SystemView for uC/OS-III
from the following website https://www.segger.com/downloads/free_tools#SystemView
and place the files in this folder.
#####################################################################################

View File

@ -1,29 +1,29 @@
ATTENTION ALL USERS OF THIS REPOSITORY:
The original work found in this repository is provided by Silicon Labs under the
Apache License, Version 2.0.
Any third party may contribute derivative works to the original work in which
modifications are clearly identified as being licensed under:
(1) the Apache License, Version 2.0 or a compatible open source license; or
(2) under a proprietary license with a copy of such license deposited.
All posted derivative works must clearly identify which license choice has been
elected.
No such posted derivative works will be considered to be a “Contribution” under
the Apache License, Version 2.0.
SILICON LABS MAKES NO WARRANTY WITH RESPECT TO ALL POSTED THIRD PARTY CONTENT
AND DISCLAIMS ALL OTHER WARRANTIES OR LIABILITIES, INCLUDING ALL WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, OWNERSHIP,
NON-INFRINGEMENT, AND NON-MISAPPROPRIATION.
In the event a derivative work is desired to be submitted to Silicon Labs as a
“Contribution” under the Apache License, Version 2.0, a “Contributor” must give
written email notice to micrium@weston-embedded.com. Unless an email response in
the affirmative to accept the derivative work as a “Contribution”, such email
submission should be considered to have not been incorporated into the original
work.
ATTENTION ALL USERS OF THIS REPOSITORY:
The original work found in this repository is provided by Silicon Labs under the
Apache License, Version 2.0.
Any third party may contribute derivative works to the original work in which
modifications are clearly identified as being licensed under:
(1) the Apache License, Version 2.0 or a compatible open source license; or
(2) under a proprietary license with a copy of such license deposited.
All posted derivative works must clearly identify which license choice has been
elected.
No such posted derivative works will be considered to be a “Contribution” under
the Apache License, Version 2.0.
SILICON LABS MAKES NO WARRANTY WITH RESPECT TO ALL POSTED THIRD PARTY CONTENT
AND DISCLAIMS ALL OTHER WARRANTIES OR LIABILITIES, INCLUDING ALL WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, OWNERSHIP,
NON-INFRINGEMENT, AND NON-MISAPPROPRIATION.
In the event a derivative work is desired to be submitted to Silicon Labs as a
“Contribution” under the Apache License, Version 2.0, a “Contributor” must give
written email notice to micrium@weston-embedded.com. Unless an email response in
the affirmative to accept the derivative work as a “Contribution”, such email
submission should be considered to have not been incorporated into the original
work.

View File

@ -97,7 +97,7 @@ GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS = QPC CERT
ENABLED_SECTIONS = QPC
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_FILES = YES

10
doxygen/Doxyfile-CERT Normal file
View File

@ -0,0 +1,10 @@
# Doxyfile 1.9.3
@INCLUDE = Doxyfile
#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------
ENABLED_SECTIONS += CERT

60
doxygen/dir.dox Normal file
View File

@ -0,0 +1,60 @@
/*##########################################################################*/
/*! @dir ../include
Platform-independent QP™/C API
@attention
The QP&trade;/C <span class="img folder">include</span> directory needs to be added to the compiler's include path in the applications using QP&trade;/C.
*/
/*##########################################################################*/
/*! @dir ../src
Platform-independent QP&trade;/C source code
Files from this directory need to be added to the project, to build the QP&trade;/C framework from source code.
@attention
The QP&trade;/C <span class="img folder">src</span> directory needs to be added to the compiler's include path in the applications that build QP&trade;/C framework from sources (as opposed to using QP as a pre-built library).
*/
/*##########################################################################*/
/*! @dir ../src/qf
Platform-independent implementation of the @ref qep and @ref qf components.
@note
Typically, files in this directory need to be added to the application build, but some QP ports might not need all the files in this directory. For example, a QP port to a 3rd-party RTOS kernel might be using a message queue of the RTOS instead of the native QP event queue, in which case the file qf_actq.c would not be needed and should be excluded from the build.
*/
/*##########################################################################*/
/*! @dir ../src/qv
Platform-independent implementation of the @ref qv built-in kernel.
@attention
Files in this directory need to be included in the QP application build only if the application uses the @ref qv kernel.
*/
/*##########################################################################*/
/*! @dir ../src/qk
Platform-independent implementation of the @ref qk built-in kernel.
@attention
Files in this directory need to be included in the QP application build only if the application uses the @ref qk kernel.
*/
/*##########################################################################*/
/*! @dir ../src/qxk
Platform-independent implementation of the @ref qxk built-in kernel.
@attention
Files in this directory need to be included in the QP application build only if the application uses the @ref qxk kernel.
*/
/*##########################################################################*/
/*! @dir ../src/qs
Platform-independent implementation of the @ref qs component (software tracing).
*/
/*##########################################################################*/
/*! @dir ../3rd_party
3rd-Party code used in the QP&trade;/C @ref ports "ports" and @ref exa "examples"
*/

BIN
doxygen/images/AN-game.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
doxygen/images/AN_DPP.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
doxygen/images/SM_calc.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
doxygen/images/game.mp4 Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
doxygen/images/gs-video.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

BIN
doxygen/images/misra3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
doxygen/images/psicc1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

BIN
doxygen/images/psicc2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
doxygen/images/qk_synch.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
doxygen/images/qpc_gh.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
doxygen/images/qwin_ani.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

BIN
doxygen/img/logo_github.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

190
doxygen/metrics.dox Normal file
View File

@ -0,0 +1,190 @@
/** @page metrics Code Metrics
@code{cpp}
Code Metrics
================================================
NLOC CCN token PARAM length location
------------------------------------------------
3 1 19 1 3 QHsm_state@379-381@..\include\qep.h
3 1 16 1 3 QMsm_stateObj@470-472@..\include\qep.h
3 1 14 1 3 QEQueue_getNFree@186-188@..\include\qequeue.h
3 1 14 1 3 QEQueue_getNMin@201-203@..\include\qequeue.h
3 1 20 1 3 QEQueue_isEmpty@218-220@..\include\qequeue.h
3 1 15 1 3 QPSet_setEmpty@71-73@..\include\qpset.h
3 1 16 1 3 QPSet_isEmpty@76-78@..\include\qpset.h
3 1 16 1 3 QPSet_notEmpty@81-83@..\include\qpset.h
3 1 36 2 3 QPSet_hasElement@86-88@..\include\qpset.h
3 1 31 2 3 QPSet_insert@91-93@..\include\qpset.h
3 1 36 2 3 QPSet_remove@96-98@..\include\qpset.h
3 1 17 1 3 QPSet_findMax@103-105@..\include\qpset.h
4 1 27 1 4 QPSet_setEmpty@120-123@..\include\qpset.h
5 2 34 1 6 QPSet_isEmpty@126-131@..\include\qpset.h
5 2 34 1 6 QPSet_notEmpty@134-139@..\include\qpset.h
5 2 74 2 5 QPSet_hasElement@142-146@..\include\qpset.h
8 2 66 2 8 QPSet_insert@149-156@..\include\qpset.h
8 2 76 2 8 QPSet_remove@159-166@..\include\qpset.h
5 2 45 1 5 QPSet_findMax@171-175@..\include\qpset.h
6 1 23 1 15 Q_DEFINE_THIS_MODULE@45-59@..\src\qf\qep_hsm.c
5 1 31 3 5 QHsm_trig_@77-81@..\src\qf\qep_hsm.c
10 2 56 2 12 QHsm_ctor@142-153@..\src\qf\qep_hsm.c
48 8 357 2 73 QHsm_init_@173-245@..\src\qf\qep_hsm.c
5 1 32 2 5 QHsm_top@265-269@..\src\qf\qep_hsm.c
104 15 670 2 157 QHsm_dispatch_@292-448@..\src\qf\qep_hsm.c
95 15 500 2 133 QHsm_tran_@472-604@..\src\qf\qep_hsm.c
3 1 16 1 3 QHsm_getStateHandler_@608-610@..\src\qf\qep_hsm.c
16 3 107 2 23 QHsm_isIn@630-652@..\src\qf\qep_hsm.c
22 4 131 2 30 QHsm_childState@678-707@..\src\qf\qep_hsm.c
10 2 59 2 13 QMsm_ctor@115-127@..\src\qf\qep_msm.c
24 5 211 2 44 QMsm_init_@146-189@..\src\qf\qep_msm.c
122 23 847 2 185 QMsm_dispatch_@210-394@..\src\qf\qep_msm.c
3 1 18 1 3 QMsm_getStateHandler_@398-400@..\src\qf\qep_msm.c
52 9 328 2 65 QMsm_execTatbl_@425-489@..\src\qf\qep_msm.c
20 4 120 3 28 QMsm_exitToTranSource_@509-536@..\src\qf\qep_msm.c
41 6 236 2 50 QMsm_enterHistory_@557-606@..\src\qf\qep_msm.c
13 3 69 2 14 QMsm_isInState@624-637@..\src\qf\qep_msm.c
21 4 97 2 27 QMsm_childStateObj@658-684@..\src\qf\qep_msm.c
10 3 65 1 16 QF_add_@66-81@..\src\qf\qf_act.c
10 3 79 1 15 QF_remove_@99-113@..\src\qf\qf_act.c
7 2 46 2 7 QF_bzero@130-136@..\src\qf\qf_act.c
24 6 143 1 29 QF_LOG2@143-171@..\src\qf\qf_act.c
79 13 422 3 115 QActive_post_@88-202@..\src\qf\qf_actq.c
42 7 268 2 65 QActive_postLIFO_@223-287@..\src\qf\qf_actq.c
34 3 235 1 45 QActive_get_@312-356@..\src\qf\qf_actq.c
9 2 60 1 12 QF_getQueueMin@378-389@..\src\qf\qf_actq.c
14 2 78 2 18 QTicker_ctor@421-438@..\src\qf\qf_actq.c
7 2 39 2 10 QTicker_init_@445-454@..\src\qf\qf_actq.c
14 3 87 2 20 QTicker_dispatch_@461-480@..\src\qf\qf_actq.c
27 2 150 4 35 QTicker_post_@487-521@..\src\qf\qf_actq.c
5 1 30 2 5 QTicker_postLIFO_@524-528@..\src\qf\qf_actq.c
14 1 84 3 16 QActive_defer@72-87@..\src\qf\qf_defer.c
32 3 169 2 52 QActive_recall@112-163@..\src\qf\qf_defer.c
13 2 68 2 13 QActive_flushDeferred@182-194@..\src\qf\qf_defer.c
5 1 37 2 6 QEvt_ctor@63-68@..\src\qf\qf_dyn.c
15 3 117 3 24 QF_poolInit@108-131@..\src\qf\qf_dyn.c
37 7 234 3 55 QF_newX_@161-215@..\src\qf\qf_dyn.c
30 4 186 1 47 QF_gc@242-288@..\src\qf\qf_dyn.c
16 2 94 2 24 QF_newRef_@306-329@..\src\qf\qf_dyn.c
11 1 67 1 13 QF_deleteRef_@343-355@..\src\qf\qf_dyn.c
3 1 17 1 3 QF_poolGetMaxBlockSize@363-365@..\src\qf\qf_dyn.c
30 5 235 4 48 QMPool_init@83-130@..\src\qf\qf_mem.c
16 2 113 3 23 QMPool_put@155-177@..\src\qf\qf_mem.c
43 4 238 3 66 QMPool_get@213-278@..\src\qf\qf_mem.c
9 3 59 1 13 QF_getPoolMin@294-306@..\src\qf\qf_mem.c
5 1 35 2 10 QF_psInit@85-94@..\src\qf\qf_ps.c
37 5 211 3 64 QF_publish_@120-183@..\src\qf\qf_ps.c
16 5 113 2 22 QActive_subscribe@205-226@..\src\qf\qf_ps.c
16 5 113 2 25 QActive_unsubscribe@254-278@..\src\qf\qf_ps.c
19 5 134 1 24 QActive_unsubscribeAll@304-327@..\src\qf\qf_ps.c
14 2 71 2 21 QActive_ctor@60-80@..\src\qf\qf_qact.c
13 2 85 3 13 QEQueue_init@65-77@..\src\qf\qf_qeq.c
55 8 303 4 74 QEQueue_post@104-177@..\src\qf\qf_qeq.c
35 5 201 3 45 QEQueue_postLIFO@203-247@..\src\qf\qf_qeq.c
36 4 221 2 46 QEQueue_get@269-314@..\src\qf\qf_qeq.c
14 2 78 2 32 QMActive_ctor@68-99@..\src\qf\qf_qmact.c
66 7 368 1 98 QF_tickX_@89-186@..\src\qf\qf_time.c
14 3 75 1 17 QF_noTimeEvtsActiveX@203-219@..\src\qf\qf_time.c
13 2 99 4 30 QTimeEvt_ctorX@240-269@..\src\qf\qf_time.c
32 8 225 3 58 QTimeEvt_armX@302-359@..\src\qf\qf_time.c
31 3 173 1 41 QTimeEvt_disarm@381-421@..\src\qf\qf_time.c
34 8 230 2 62 QTimeEvt_rearm@445-506@..\src\qf\qf_time.c
5 1 36 1 5 QTimeEvt_wasDisarmed@531-535@..\src\qf\qf_time.c
7 1 30 1 8 QTimeEvt_currCtr@554-561@..\src\qf\qf_time.c
11 2 76 1 16 QF_init@65-80@..\src\qk\qk.c
3 1 10 1 4 QF_stop@99-102@..\src\qk\qk.c
6 2 26 1 8 initial_events@107-114@..\src\qk\qk.c
12 3 45 1 19 QF_run@125-143@..\src\qk\qk.c
21 5 144 7 31 QActive_start_@167-197@..\src\qk\qk.c
22 2 111 1 33 QK_schedLock@221-253@..\src\qk\qk.c
21 4 123 1 33 QK_schedUnlock@271-303@..\src\qk\qk.c
14 3 76 1 17 QK_sched_@320-336@..\src\qk\qk.c
61 16 353 1 105 QK_activate_@348-452@..\src\qk\qk.c
9 2 64 1 13 QF_init@66-78@..\src\qv\qv.c
3 1 10 1 4 QF_stop@97-100@..\src\qv\qv.c
39 9 197 1 76 QF_run@110-185@..\src\qv\qv.c
14 3 114 7 20 QActive_start_@209-228@..\src\qv\qv.c
14 2 108 1 22 QF_init@68-89@..\src\qxk\qxk.c
3 1 10 1 4 QF_stop@108-111@..\src\qxk\qxk.c
6 2 26 1 8 initial_events@116-123@..\src\qxk\qxk.c
12 3 45 1 20 QF_run@133-152@..\src\qxk\qxk.c
23 6 164 7 33 QActive_start_@177-209@..\src\qxk\qxk.c
23 3 130 1 34 QXK_schedLock@241-274@..\src\qxk\qxk.c
20 4 123 1 33 QXK_schedUnlock@297-329@..\src\qxk\qxk.c
47 7 268 1 65 QXK_sched_@345-409@..\src\qxk\qxk.c
73 16 474 1 128 QXK_activate_@421-548@..\src\qxk\qxk.c
12 2 72 1 18 QXK_current@551-568@..\src\qxk\qxk.c
16 4 113 2 25 QXMutex_init@80-104@..\src\qxk\qxk_mutex.c
69 12 542 2 110 QXMutex_lock@127-236@..\src\qxk\qxk_mutex.c
43 10 315 1 67 QXMutex_tryLock@259-325@..\src\qxk\qxk_mutex.c
64 16 502 1 111 QXMutex_unlock@347-457@..\src\qxk\qxk_mutex.c
8 1 49 3 10 QXSemaphore_init@72-81@..\src\qxk\qxk_sema.c
43 7 321 2 69 QXSemaphore_wait@107-175@..\src\qxk\qxk_sema.c
15 2 61 1 20 QXSemaphore_tryWait@192-211@..\src\qxk\qxk_sema.c
28 6 195 1 46 QXSemaphore_signal@233-278@..\src\qxk\qxk_sema.c
20 2 112 3 25 QXThread_ctor@105-129@..\src\qxk\qxk_xthr.c
8 2 38 3 11 QXThread_init_@136-146@..\src\qxk\qxk_xthr.c
8 2 38 3 11 QXThread_dispatch_@152-162@..\src\qxk\qxk_xthr.c
25 6 202 7 47 QXThread_start_@189-235@..\src\qxk\qxk_xthr.c
97 13 519 3 131 QXThread_post_@280-410@..\src\qxk\qxk_xthr.c
5 1 30 2 5 QXThread_postLIFO_@423-427@..\src\qxk\qxk_xthr.c
58 7 497 1 84 QXThread_queueGet@449-532@..\src\qxk\qxk_xthr.c
5 1 51 1 7 QXThread_block_@542-548@..\src\qxk\qxk_xthr.c
8 3 58 1 8 QXThread_unblock_@558-565@..\src\qxk\qxk_xthr.c
19 3 153 3 37 QXThread_teArm_@576-612@..\src\qxk\qxk_xthr.c
11 2 46 1 13 QXThread_teDisarm_@622-634@..\src\qxk\qxk_xthr.c
21 4 195 1 38 QXThread_delay@650-687@..\src\qxk\qxk_xthr.c
14 2 68 1 16 QXThread_delayCancel@699-714@..\src\qxk\qxk_xthr.c
13 2 106 1 23 QXK_threadRet_@727-749@..\src\qxk\qxk_xthr.c
37 file analyzed.
==============================================================
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
--------------------------------------------------------------
4 0.0 0.0 0.0 0 ..\include\qassert.h
108 3.0 1.0 17.5 2 ..\include\qep.h
28 3.0 1.0 16.0 3 ..\include\qequeue.h
93 0.0 0.0 0.0 0 ..\include\qf.h
20 0.0 0.0 0.0 0 ..\include\qk.h
21 0.0 0.0 0.0 0 ..\include\qmpool.h
8 0.0 0.0 0.0 0 ..\include\qpc.h
71 4.4 1.4 37.4 14 ..\include\qpset.h
238 0.0 0.0 0.0 0 ..\include\qs.h
3 0.0 0.0 0.0 0 ..\include\qstamp.c
2 0.0 0.0 0.0 0 ..\include\qstamp.h
0 0.0 0.0 0.0 0 ..\include\qs_dummy.h
9 0.0 0.0 0.0 0 ..\include\quit.h
5 0.0 0.0 0.0 0 ..\include\qv.h
23 0.0 0.0 0.0 0 ..\include\qxk.h
32 0.0 0.0 0.0 0 ..\include\qxthread.h
337 31.4 5.1 192.3 10 ..\src\qf\qep_hsm.c
346 34.0 6.3 220.6 9 ..\src\qf\qep_msm.c
59 12.8 3.5 83.2 4 ..\src\qf\qf_act.c
257 25.7 3.9 152.1 9 ..\src\qf\qf_actq.c
66 19.7 2.0 107.0 3 ..\src\qf\qf_defer.c
126 16.7 2.7 107.4 7 ..\src\qf\qf_dyn.c
105 24.5 3.5 161.2 4 ..\src\qf\qf_mem.c
103 18.6 4.2 121.2 5 ..\src\qf\qf_ps.c
16 14.0 2.0 71.0 1 ..\src\qf\qf_qact.c
146 34.8 4.8 202.5 4 ..\src\qf\qf_qeq.c
16 14.0 2.0 78.0 1 ..\src\qf\qf_qmact.c
211 25.2 4.1 154.5 8 ..\src\qf\qf_time.c
180 19.0 4.2 107.1 9 ..\src\qk\qk.c
73 16.2 3.8 96.2 4 ..\src\qv\qv.c
243 23.3 4.6 142.0 10 ..\src\qxk\qxk.c
199 48.0 10.5 368.0 4 ..\src\qxk\qxk_mutex.c
101 23.5 4.0 156.5 4 ..\src\qxk\qxk_sema.c
339 22.3 3.6 150.9 14 ..\src\qxk\qxk_xthr.c
19 0.0 0.0 0.0 0 ..\src\qf_pkg.h
30 0.0 0.0 0.0 0 ..\src\qs_pkg.h
16 0.0 0.0 0.0 0 ..\src\qxk_pkg.h
=========================================================================================================
!!!! Warnings (cyclomatic_complexity > 20 or length > 500 or nloc > 1000000 or parameter_count > 10) !!!!
================================================
NLOC CCN token PARAM length location
------------------------------------------------
122 23 847 2 185 QMsm_dispatch_@210-394@..\src\qf\qep_msm.c
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
3653 21.6 3.9 137.3 129 1 0.01 0.04
@endcode
*/

1442
doxygen/ports_arm-cm.dox Normal file

File diff suppressed because it is too large Load Diff

View File

@ -19,8 +19,8 @@ system (RTOS). The currently supported 3rd-party RTOS kernels are:
- @subpage embos
- @subpage freertos
- @subpage threadx
- @subpage ucos-ii
- <a href="http://erika.tuxfamily.org/drupal/news/qp-framework-erika-enterprise" target="_blank" class="extern">OSEK/VDX RTOS ERIKA Enterprise</a>
- @subpage uc-os2
- <a href="https://www.erika-enterprise.com" target="_blank" class="extern">OSEK/VDX RTOS ERIKA Enterprise</a>
Combined with a conventional RTOS, QP/C takes full advantage of the multitasking capabilities of the RTOS by executing each active object in a separate RTOS task. The QP/C Platform Abstraction Layer (PAL) includes an abstract RTOS interface to enable integration between QP/C and the underlying RTOS. Specifically, the PAL allows adapting most message queue variants as event queues of active objects as well as most memory partitions as QP/C event pools.
@ -30,7 +30,7 @@ Combined with a conventional RTOS, QP/C takes full advantage of the multitasking
/*##########################################################################*/
/*! @page embos embOS
<p>The QP/C/C++ ports and examples for embOS are described in the Quantum Leaps Application Note <a class="extern" target="_blank" href="https://www.state-machine.com/doc/AN_RTOS-embOS.pdf"><strong>QP and embOS</strong></a>.
<p>The QP/C/C++ ports and examples for embOS are described in the Quantum Leaps Application Note @webref{doc/AN_RTOS-embOS.pdf, QP and embOS}.
</p>
@htmlonly
@ -78,7 +78,6 @@ The design of FreeRTOS requires the use of special "FromISR" API inside ISRs, wh
- The QP port does not mandate any specific method to manage the QP time events, but the provided examples use the FreeRTOS "hook" `vApplicationTickHook()` to periodically invoke the QP clock tick QF_TICK_X_FROM_ISR(). (NOTE: the `vApplicationTickHook()` executes in the ISR context and therefore mandates the use of the "FromISR" APIs).
@section freertos_examples Example Code
The QP port to FreeRTOS comes with examples located in the directory `qpc/examples/freertos/`. Currently, the examples are provided for the following boards and development toolchains:
@ -164,8 +163,8 @@ int main() {
tableQueueSto, /* event queue storage */
Q_DIM(tableQueueSto), /* queue length [events] */
tableStack, /* stack storage */
sizeof(tableStack), /* stack size [bytes] */
(QEvt *)0); /* initialization event (not used) */
sizeof(tableStack), /* stack size [bytes] */
(void *)0); /* initialization param (not used) */
. . .
return QF_run(); /* run the QF application */
}
@ -177,7 +176,7 @@ int main() {
/*##########################################################################*/
/*! @page threadx ThreadX
<p>The QP/C/C++ ports and examples for ThreadX are described in the Quantum Leaps Application Note <a class="extern" target="_blank" href="https://www.state-machine.com/doc/AN_RTOS-ThreadX.pdf"><strong>QP and ThreadX</strong></a>.
<p>The QP/C/C++ ports and examples for ThreadX are described in the Quantum Leaps Application Note @webref{doc/AN_RTOS-ThreadX.pdf, QP and ThreadX}.
</p>
@htmlonly
@ -189,31 +188,30 @@ Application Note: QP and ThreadX
</div>
@endhtmlonly
@next{ucos-ii}
@next{uc-os2}
*/
/*##########################################################################*/
/*! @page ucos-ii uC/OS-II
/*! @page uc-os2 uC-OS
@section ucos-ii_about About the QP Port to uC/OS-II
This directory contains a generic platform-independent QP/C port to uC/OS-II V2.92.
@section uc-os2_about About the QP Port to uC-OS2
This directory contains a generic platform-independent QP/C port to uC-OS2 V2.92.
Typically, you should not need to change the files in this directory to adapt the QP-uC/OS port on any CPU/Compiler to which uC/OS-II has been ported, because all the CPU and compiler specifics are handled by the uC/OS-II RTOS.
Typically, you should not need to change the files in this directory to adapt the QP-uC-OS2 port on any CPU/Compiler to which uC-OS2 has been ported, because all the CPU and compiler specifics are handled by the uC-OS2 RTOS.
@note
Currently, the port has been tested only on ARM Cortex-M3 and M4F.
@section ucos-ii_source uC/OS-II Source and ARM Cortex-M3/M4 Ports
The uC/OS-II V2.92 source code and ports are located in `3rd_party/uCOS-II`. Please make sure to read about uC/OS-II licensing in the README file found in this directory.
@section uc-os2_source uC-OS2 Source and ARM Cortex-M3/M4 Ports
The uC-OS2 V2.92 source code and ports are located in `3rd_party/uc-os2`. Please make sure to read about uC-OS2 licensing in the README file found in this directory.
@note
The official Micrium ARM-Cortex-M ports have been modified by Quantum Leaps to remove the dependencies on the Micrium's uC-CPU and uC-LIB components, and instead to inter-operate with the Cortex Microcontroller Software Interface Standard (CMSIS).
@section ucos-ii_using Using this QP Port to uC/OS-II
The example projects for this port are located in @ref exa_ucos-ii "examples/ucos-ii/arm-cm/dpp_ek-tm4c123gxl".
@section uc-os2_using Using this QP Port to uC-OS2
The example projects for this port are located in @ref exa_uc-os2 "examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl".
Currently, ARM-KEIL and IAR-ARM toolsets are supported (in the <span class="img folder">arm</span> and <span class="img folder">iar</span> sub-directories within this example project).
@ -222,42 +220,45 @@ The example projects use this port by directly including the QP source code (and
However, this port can also be used as a library, in which case you need to build the QP library yourself and include in your project.
@subsection ucos-ii_build QP Source Files Needed in this QP Port
Whether you use this QP port as source files or as a library, it is important to note that not all QP soruce files should be included. Here is the list of QP source files needed:
@subsection uc-os2_build QP Source Files Needed in this QP Port
Whether you use this QP port as source files or as a library, it is important to note that not all QP source files should be included. Here is the list of QP source files needed:
@verbatim
qpc
+-source
| +-qep_hsm.c
| +-qep_msm.c
| +-qf_act.c
| +-qf_defer.c
| +-qf_dyn.c
| +-qf_ps.c
| +-qf_qeq.c
| +-qf_qmact.c
| +-qf_time.c
qpc/
+-src/
| | +-qf/
| | | +-qep_hsm.c
| | | +-qep_msm.c
| | | +-qf_act.c
| | | +-qf_actq.c - NOT included (implemented in uC-OS2)
| | | +-qf_defer.c
| | | +-qf_dyn.c
| | | +-qf_mem.c - NOT included (implemented in uC-OS2)
| | | +-qf_ps.c
| | | +-qf_qeq.c
| | | +-qf_qmact.c
| | | +-qf_time.c
| |
| +-qs.c - included only in the Spy build configuration
| +-qs_fp.c - included only in the Spy build configuration
| | +-qs/
| | | +-qs.c - included only in the Spy build configuration
| | | +-qs_fp.c - included only in the Spy build configuration
|
+-ports
| +-ucos-ii
| +-uc-os2
| | +-qf_port.c
|
@endverbatim
@note
Specifically, the QP source files qf_actq.c and qf_mem.c must **NOT** be included in the build, because this functionality is taken from uC/OS-II.
Specifically, the QP source files qf_actq.c and qf_mem.c must **NOT** be included in the build, because this functionality is taken from uC-OS2.
<p>The QP/C/C++ ports and examples for uC/OS-II are described in the Quantum Leaps Application Note <a class="extern" target="_blank" href="https://www.state-machine.com/doc/AN_RTOS-uCOS2.pdf"><strong>QP and uC/OS-II</strong></a>.
</p>
The QP/C/C++ ports and examples for uC-OS2 are described in the Quantum Leaps Application Note @webref{doc/AN_RTOS-uCOS2.pdf, QP and uC-OS2}.
@htmlonly
<div class="image">
<a target="_blank" href="https://www.state-machine.com/doc/AN_RTOS-uCOS2.pdf"><img border="0" src="img/AN.jpg" title="Download PDF"></a>
<div class="caption">
Application Note: QP and uC/OS-II
Application Note: QP and uC-OS2
</div>
</div>
@endhtmlonly

View File

@ -0,0 +1,20 @@
QState Blinky_off(Blinky * const me, QEvt const * const e) {
QState status;
switch (e->sig) {
case Q_ENTRY_SIG: {
BSP_ledOff();
status = Q_HANDLED();
break;
}
case TIMEOUT_SIG: {
status = Q_TRAN(&Blinky_on);
break;
}
default: {
status = Q_SUPER(&QHsm_top); /*<--- */
break;
}
}
return status;
}

View File

@ -0,0 +1,36 @@
/* bsp.h ----------------- */
extern QTicker ticker0; /* "ticker" AO for clock rate 0 */
extern QTicker ticker1; /* "ticker" AO for clock rate 1 */
/* bsp.c ----------------- */
QTicker ticker0; /* "ticker" AO for clock rate 0 */
QTicker ticker1; /* "ticker" AO for clock rate 1 */
/* system clock tick ISR for clock rate 0 */
void SysTick_Handler(void) {
. . .
QACTIVE_POST(&ticker0.super, (QEvt *)0, &qs_tick0_id);
. . .
}
/* system clock tick ISR for clock rate 1 */
void Timer0A_IRQHandler(void) {
. . .
QACTIVE_POST(&ticker1.super, (QEvt *)0, &qs_tick1_id);
. . .
}
/* main.c --------------- */
main () {
. . .
QACTIVE_START(&ticker0.super,
1U, /* priority */
0, 0, 0, 0, 0); /* not used */
QACTIVE_START(&ticker1.super,
2U, /* priority */
0, 0, 0, 0, 0); /* not used */
. . .
}

View File

@ -1,7 +1,7 @@
About uCOS-II for ARM Cortex-M Examples
About uC-OS2 for ARM Cortex-M Examples
=======================================
This folder contains examples for uCOS-II V2.93 running on ARM Cortex-M.
This uCOS-II version has been released under the permissive Apache License,
This folder contains examples for uC-OS2 V2.93 running on ARM Cortex-M.
This uC-OS2 version has been released under the permissive Apache License,
Version 2.0 (see GitHub https://github.com/SiliconLabs/uC-OS2 ).
@ -23,9 +23,9 @@ generated automatically by the QM graphical modeling tool. The DPP examples
contain projects for the ARM (MDK-ARM) compiler and the IAR compiler.
uCOS-II Source and QP-Port
==========================
The QP-Port to uCOS-II is located in qpc\ports\ucos-ii
uC-OS2 Source and QP-Port
=========================
The QP-Port to uC-OS2 is located in qpc\ports\uC-OS2
The uCOS-II source code and ports are located in 3rd_party\ucos-ii.
The uC-OS2 source code and ports are located in 3rd_party\uC-OS2.
Please make sure to read the README.md file found in that directory.

View File

@ -103,7 +103,7 @@
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>8</nTsel>
<nTsel>-1</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
@ -941,7 +941,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\ports\ucos-ii\qf_port.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\ports\uc-os2\qf_port.c</PathWithFileName>
<FilenameWithoutPath>qf_port.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -953,7 +953,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\ports\ucos-ii\qep_port.h</PathWithFileName>
<PathWithFileName>..\..\..\..\..\ports\uc-os2\qep_port.h</PathWithFileName>
<FilenameWithoutPath>qep_port.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -965,7 +965,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\ports\ucos-ii\qf_port.h</PathWithFileName>
<PathWithFileName>..\..\..\..\..\ports\uc-os2\qf_port.h</PathWithFileName>
<FilenameWithoutPath>qf_port.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -977,7 +977,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\ports\ucos-ii\qs_port.h</PathWithFileName>
<PathWithFileName>..\..\..\..\..\ports\uc-os2\qs_port.h</PathWithFileName>
<FilenameWithoutPath>qs_port.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1041,7 +1041,7 @@
</Group>
<Group>
<GroupName>ucos-ii</GroupName>
<GroupName>uC-OS2</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
@ -1053,7 +1053,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_core.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_core.c</PathWithFileName>
<FilenameWithoutPath>os_core.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1065,7 +1065,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_task.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_task.c</PathWithFileName>
<FilenameWithoutPath>os_task.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1077,7 +1077,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_flag.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_flag.c</PathWithFileName>
<FilenameWithoutPath>os_flag.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1089,7 +1089,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mbox.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mbox.c</PathWithFileName>
<FilenameWithoutPath>os_mbox.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1101,7 +1101,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mem.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mem.c</PathWithFileName>
<FilenameWithoutPath>os_mem.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1113,7 +1113,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mutex.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mutex.c</PathWithFileName>
<FilenameWithoutPath>os_mutex.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1125,7 +1125,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_q.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_q.c</PathWithFileName>
<FilenameWithoutPath>os_q.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1137,7 +1137,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_sem.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_sem.c</PathWithFileName>
<FilenameWithoutPath>os_sem.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1149,7 +1149,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_time.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_time.c</PathWithFileName>
<FilenameWithoutPath>os_time.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1161,7 +1161,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Source\os_tmr.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Source\os_tmr.c</PathWithFileName>
<FilenameWithoutPath>os_tmr.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1169,7 +1169,7 @@
</Group>
<Group>
<GroupName>ucos-ii_port</GroupName>
<GroupName>uC-OS2_port</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
@ -1181,7 +1181,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\os_cpu_c.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\os_cpu_c.c</PathWithFileName>
<FilenameWithoutPath>os_cpu_c.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1193,7 +1193,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu.h</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu.h</PathWithFileName>
<FilenameWithoutPath>os_cpu.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1205,7 +1205,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu_a.asm</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu_a.asm</PathWithFileName>
<FilenameWithoutPath>os_cpu_a.asm</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -1217,7 +1217,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_dbg.c</PathWithFileName>
<PathWithFileName>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_dbg.c</PathWithFileName>
<FilenameWithoutPath>os_dbg.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>

View File

@ -133,7 +133,7 @@
<UseExternalTool>0</UseExternalTool>
<RunIndependent>0</RunIndependent>
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
<Capability>1</Capability>
<Capability>0</Capability>
<DriverSelection>4097</DriverSelection>
</Flash1>
<bUseTDR>1</bUseTDR>
@ -339,7 +339,7 @@
<MiscControls></MiscControls>
<Define>__FPU_PRESENT</Define>
<Undefine></Undefine>
<IncludePath>..;..\..\..\..\..\include;..\..\..\..\..\src;..\..\..\..\..\ports\ucos-ii;..\..\..\..\..\3rd_party\ucos-ii\Source;..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM;..\..\..\..\..\3rd_party\CMSIS\Include;..\..\..\..\..\3rd_party\ek-tm4c123gxl</IncludePath>
<IncludePath>..;..\..\..\..\..\include;..\..\..\..\..\src;..\..\..\..\..\ports\uc-os2;..\..\..\..\..\3rd_party\uC-OS2\Source;..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM;..\..\..\..\..\3rd_party\CMSIS\Include;..\..\..\..\..\3rd_party\ek-tm4c123gxl</IncludePath>
</VariousControls>
</Cads>
<Aads>
@ -536,22 +536,22 @@
<File>
<FileName>qf_port.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qf_port.c</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qf_port.c</FilePath>
</File>
<File>
<FileName>qep_port.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qep_port.h</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qep_port.h</FilePath>
</File>
<File>
<FileName>qf_port.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qf_port.h</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qf_port.h</FilePath>
</File>
<File>
<FileName>qs_port.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qs_port.h</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qs_port.h</FilePath>
</File>
</Files>
</Group>
@ -650,82 +650,82 @@
</Files>
</Group>
<Group>
<GroupName>ucos-ii</GroupName>
<GroupName>uC-OS2</GroupName>
<Files>
<File>
<FileName>os_core.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_core.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_core.c</FilePath>
</File>
<File>
<FileName>os_task.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_task.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_task.c</FilePath>
</File>
<File>
<FileName>os_flag.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_flag.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_flag.c</FilePath>
</File>
<File>
<FileName>os_mbox.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mbox.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mbox.c</FilePath>
</File>
<File>
<FileName>os_mem.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mem.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mem.c</FilePath>
</File>
<File>
<FileName>os_mutex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mutex.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mutex.c</FilePath>
</File>
<File>
<FileName>os_q.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_q.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_q.c</FilePath>
</File>
<File>
<FileName>os_sem.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_sem.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_sem.c</FilePath>
</File>
<File>
<FileName>os_time.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_time.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_time.c</FilePath>
</File>
<File>
<FileName>os_tmr.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_tmr.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_tmr.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>ucos-ii_port</GroupName>
<GroupName>uC-OS2_port</GroupName>
<Files>
<File>
<FileName>os_cpu_c.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\os_cpu_c.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\os_cpu_c.c</FilePath>
</File>
<File>
<FileName>os_cpu.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu.h</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu.h</FilePath>
</File>
<File>
<FileName>os_cpu_a.asm</FileName>
<FileType>2</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu_a.asm</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu_a.asm</FilePath>
</File>
<File>
<FileName>os_dbg.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_dbg.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_dbg.c</FilePath>
</File>
</Files>
</Group>
@ -1064,7 +1064,7 @@
<MiscControls></MiscControls>
<Define>NDEBUG __FPU_PRESENT</Define>
<Undefine></Undefine>
<IncludePath>..;..\..\..\..\..\include;..\..\..\..\..\src;..\..\..\..\..\ports\ucos-ii;..\..\..\..\..\3rd_party\ucos-ii\Source;..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM;..\..\..\..\..\3rd_party\CMSIS\Include;..\..\..\..\..\3rd_party\ek-tm4c123gxl</IncludePath>
<IncludePath>..;..\..\..\..\..\include;..\..\..\..\..\src;..\..\..\..\..\ports\uc-os2;..\..\..\..\..\3rd_party\uC-OS2\Source;..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM;..\..\..\..\..\3rd_party\CMSIS\Include;..\..\..\..\..\3rd_party\ek-tm4c123gxl</IncludePath>
</VariousControls>
</Cads>
<Aads>
@ -1261,22 +1261,22 @@
<File>
<FileName>qf_port.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qf_port.c</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qf_port.c</FilePath>
</File>
<File>
<FileName>qep_port.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qep_port.h</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qep_port.h</FilePath>
</File>
<File>
<FileName>qf_port.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qf_port.h</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qf_port.h</FilePath>
</File>
<File>
<FileName>qs_port.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qs_port.h</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qs_port.h</FilePath>
</File>
</Files>
</Group>
@ -1375,82 +1375,82 @@
</Files>
</Group>
<Group>
<GroupName>ucos-ii</GroupName>
<GroupName>uC-OS2</GroupName>
<Files>
<File>
<FileName>os_core.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_core.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_core.c</FilePath>
</File>
<File>
<FileName>os_task.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_task.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_task.c</FilePath>
</File>
<File>
<FileName>os_flag.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_flag.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_flag.c</FilePath>
</File>
<File>
<FileName>os_mbox.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mbox.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mbox.c</FilePath>
</File>
<File>
<FileName>os_mem.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mem.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mem.c</FilePath>
</File>
<File>
<FileName>os_mutex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mutex.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mutex.c</FilePath>
</File>
<File>
<FileName>os_q.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_q.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_q.c</FilePath>
</File>
<File>
<FileName>os_sem.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_sem.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_sem.c</FilePath>
</File>
<File>
<FileName>os_time.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_time.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_time.c</FilePath>
</File>
<File>
<FileName>os_tmr.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_tmr.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_tmr.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>ucos-ii_port</GroupName>
<GroupName>uC-OS2_port</GroupName>
<Files>
<File>
<FileName>os_cpu_c.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\os_cpu_c.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\os_cpu_c.c</FilePath>
</File>
<File>
<FileName>os_cpu.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu.h</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu.h</FilePath>
</File>
<File>
<FileName>os_cpu_a.asm</FileName>
<FileType>2</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu_a.asm</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu_a.asm</FilePath>
</File>
<File>
<FileName>os_dbg.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_dbg.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_dbg.c</FilePath>
</File>
</Files>
</Group>
@ -1789,7 +1789,7 @@
<MiscControls></MiscControls>
<Define>Q_SPY __FPU_PRESENT</Define>
<Undefine></Undefine>
<IncludePath>..;..\..\..\..\..\include;..\..\..\..\..\src;..\..\..\..\..\ports\ucos-ii;..\..\..\..\..\3rd_party\ucos-ii\Source;..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM;..\..\..\..\..\3rd_party\CMSIS\Include;..\..\..\..\..\3rd_party\ek-tm4c123gxl</IncludePath>
<IncludePath>..;..\..\..\..\..\include;..\..\..\..\..\src;..\..\..\..\..\ports\uc-os2;..\..\..\..\..\3rd_party\uC-OS2\Source;..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM;..\..\..\..\..\3rd_party\CMSIS\Include;..\..\..\..\..\3rd_party\ek-tm4c123gxl</IncludePath>
</VariousControls>
</Cads>
<Aads>
@ -1986,22 +1986,22 @@
<File>
<FileName>qf_port.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qf_port.c</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qf_port.c</FilePath>
</File>
<File>
<FileName>qep_port.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qep_port.h</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qep_port.h</FilePath>
</File>
<File>
<FileName>qf_port.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qf_port.h</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qf_port.h</FilePath>
</File>
<File>
<FileName>qs_port.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\ports\ucos-ii\qs_port.h</FilePath>
<FilePath>..\..\..\..\..\ports\uc-os2\qs_port.h</FilePath>
</File>
</Files>
</Group>
@ -2031,82 +2031,82 @@
</Files>
</Group>
<Group>
<GroupName>ucos-ii</GroupName>
<GroupName>uC-OS2</GroupName>
<Files>
<File>
<FileName>os_core.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_core.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_core.c</FilePath>
</File>
<File>
<FileName>os_task.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_task.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_task.c</FilePath>
</File>
<File>
<FileName>os_flag.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_flag.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_flag.c</FilePath>
</File>
<File>
<FileName>os_mbox.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mbox.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mbox.c</FilePath>
</File>
<File>
<FileName>os_mem.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mem.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mem.c</FilePath>
</File>
<File>
<FileName>os_mutex.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_mutex.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_mutex.c</FilePath>
</File>
<File>
<FileName>os_q.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_q.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_q.c</FilePath>
</File>
<File>
<FileName>os_sem.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_sem.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_sem.c</FilePath>
</File>
<File>
<FileName>os_time.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_time.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_time.c</FilePath>
</File>
<File>
<FileName>os_tmr.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Source\os_tmr.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Source\os_tmr.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>ucos-ii_port</GroupName>
<GroupName>uC-OS2_port</GroupName>
<Files>
<File>
<FileName>os_cpu_c.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\os_cpu_c.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\os_cpu_c.c</FilePath>
</File>
<File>
<FileName>os_cpu.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu.h</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu.h</FilePath>
</File>
<File>
<FileName>os_cpu_a.asm</FileName>
<FileType>2</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu_a.asm</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_cpu_a.asm</FilePath>
</File>
<File>
<FileName>os_dbg.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\..\3rd_party\ucos-ii\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_dbg.c</FilePath>
<FilePath>..\..\..\..\..\3rd_party\uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\ARM\os_dbg.c</FilePath>
</File>
</Files>
</Group>

Some files were not shown because too many files have changed in this diff Show More