Skip to content

Commit a90d07e

Browse files
committed
7.2.1
1 parent a5f0a9e commit a90d07e

File tree

11 files changed

+220
-224
lines changed

11 files changed

+220
-224
lines changed

doxygen/gen/metrics.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
45 5 241 3 74 QMPool_get@119-192@..\src\qf\qf_mem.c
6262
19 3 117 3 28 QMPool_put@195-222@..\src\qf\qf_mem.c
6363
8 1 35 2 13 QActive_psInit@73-85@..\src\qf\qf_ps.c
64-
43 6 232 3 75 QActive_publish_@90-164@..\src\qf\qf_ps.c
64+
42 6 231 3 75 QActive_publish_@90-164@..\src\qf\qf_ps.c
6565
18 5 111 2 24 QActive_subscribe@169-192@..\src\qf\qf_ps.c
6666
18 5 111 2 27 QActive_unsubscribe@197-223@..\src\qf\qf_ps.c
6767
19 5 130 1 24 QActive_unsubscribeAll@228-251@..\src\qf\qf_ps.c
@@ -107,9 +107,9 @@
107107
19 5 105 1 26 QXK_contextSw@440-465@..\src\qxk\qxk.c
108108
13 2 104 1 23 QXK_threadExit_@472-494@..\src\qxk\qxk.c
109109
10 2 64 2 13 QXMutex_init@74-86@..\src\qxk\qxk_mutex.c
110-
81 11 724 2 138 QXMutex_lock@89-226@..\src\qxk\qxk_mutex.c
111-
59 9 502 1 97 QXMutex_tryLock@229-325@..\src\qxk\qxk_mutex.c
112-
78 12 670 1 135 QXMutex_unlock@328-462@..\src\qxk\qxk_mutex.c
110+
79 11 701 2 136 QXMutex_lock@89-224@..\src\qxk\qxk_mutex.c
111+
57 9 483 1 95 QXMutex_tryLock@227-321@..\src\qxk\qxk_mutex.c
112+
74 12 622 1 129 QXMutex_unlock@324-452@..\src\qxk\qxk_mutex.c
113113
9 1 51 3 11 QXSemaphore_init@73-83@..\src\qxk\qxk_sema.c
114114
57 7 389 2 84 QXSemaphore_wait@86-169@..\src\qxk\qxk_sema.c
115115
28 3 139 1 39 QXSemaphore_tryWait@172-210@..\src\qxk\qxk_sema.c
@@ -153,15 +153,15 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
153153
69 20.7 2.3 107.0 3 ..\src\qf\qf_defer.c
154154
138 18.4 3.3 111.4 7 ..\src\qf\qf_dyn.c
155155
103 32.0 4.3 197.0 3 ..\src\qf\qf_mem.c
156-
115 21.2 4.4 123.8 5 ..\src\qf\qf_ps.c
156+
114 21.0 4.4 123.6 5 ..\src\qf\qf_ps.c
157157
96 17.6 4.6 113.0 5 ..\src\qf\qf_qact.c
158158
152 36.2 4.8 200.8 4 ..\src\qf\qf_qeq.c
159159
18 16.0 2.0 79.0 1 ..\src\qf\qf_qmact.c
160160
218 26.2 4.1 155.6 8 ..\src\qf\qf_time.c
161161
191 22.9 5.0 129.1 8 ..\src\qk\qk.c
162162
81 18.5 5.0 109.2 4 ..\src\qv\qv.c
163163
260 22.9 5.0 138.5 11 ..\src\qxk\qxk.c
164-
235 57.0 8.5 490.0 4 ..\src\qxk\qxk_mutex.c
164+
227 55.0 8.5 467.5 4 ..\src\qxk\qxk_mutex.c
165165
143 34.0 4.5 213.5 4 ..\src\qxk\qxk_sema.c
166166
325 24.4 3.8 156.0 13 ..\src\qxk\qxk_xthr.c
167167

@@ -170,5 +170,5 @@ No thresholds exceeded (cyclomatic_complexity > 20 or length > 500 or nloc > 100
170170
==========================================================================================
171171
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
172172
------------------------------------------------------------------------------------------
173-
4058 24.5 4.3 151.2 125 0 0.00 0.00
173+
4049 24.4 4.3 150.5 125 0 0.00 0.00
174174
@endcode

doxygen/history.dox

+9-2
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,19 @@
66
@remark
77
This document is part of the @webref{products/qp#CERT,QP Certification Pack}, which has been specifically designed to aid companies in **safety certification** of their software based on the QP real-time embedded frameworks.
88

9-
@section qpc_7_2_1 Version 7.2.1, 2023-01-11
9+
@section qpc_7_2_1 Version 7.2.1, 2023-01-15
10+
__QP/C Source Code:__
11+
- Changed the design of the ::QXMutex class to include ::QActive by composition rather than inheritance.
12+
13+
__Ports:__
14+
- Fixed problems in QK ports for ARM Cortex-M: in case a regular IRQ is used for returning to the thread context. The port didn't handle correctly #QK_USE_IRQ_NUM above 32.
15+
- Fixed problems in QXK ports for ARM Cortex-M: in case a regular IRQ is used for returning to the thread context. The port didn't handle correctly #QK_USE_IRQ_NUM above 32.
16+
1017
__Bug Fixes:__
1118
- [bug#328 Assertion qxk:720 in QP/​C/​C++ 7.2.0](https://sourceforge.net/p/qpc/bugs/328)
1219

1320
@attention
14-
This bug in QXK affects releases QP/C 7.1.0 through 7.2.0
21+
This bug in QXK affects releases QP/C @ref qpc_7_1_0 "7.1.0" through @ref qpc_7_2_0 "7.2.0"
1522

1623

1724
@section qpc_7_2_0 Version 7.2.0, 2023-01-06

examples/arm-cm/dpp_efm32-slstk3401a/qxk/armclang/dpp-qxk.uvprojx

+3-4
Original file line numberDiff line numberDiff line change
@@ -1662,7 +1662,7 @@
16621662
<PlainCh>0</PlainCh>
16631663
<Ropi>0</Ropi>
16641664
<Rwpi>0</Rwpi>
1665-
<wLevel>3</wLevel>
1665+
<wLevel>2</wLevel>
16661666
<uThumb>0</uThumb>
16671667
<uSurpInc>1</uSurpInc>
16681668
<uC99>1</uC99>
@@ -1676,9 +1676,8 @@
16761676
<v6WtE>0</v6WtE>
16771677
<v6Rtti>0</v6Rtti>
16781678
<VariousControls>
1679-
<MiscControls></MiscControls>
1680-
<Define>Q_SPY QF_ON_CONTEXT_SW QXK_USE_IRQ_HANDLER=CRYPTO_IRQHandler QXK_USE_IRQ_NUM=25
1681-
</Define>
1679+
<MiscControls>-Wno-padded</MiscControls>
1680+
<Define>Q_SPY QF_ON_CONTEXT_SW QXK_USE_IRQ_HANDLER=FPUEH_IRQHandler QXK_USE_IRQ_NUM=33</Define>
16821681
<Undefine></Undefine>
16831682
<IncludePath>..\..;..\..\..\..\..\include;..\..\..\..\..\ports\arm-cm\qxk\armclang;..\..\..\..\..\3rd_party\CMSIS\Include;..\..\..\..\..\3rd_party\efm32pg1b</IncludePath>
16841683
</VariousControls>

examples/arm-cm/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.ewp

+3-1
Original file line numberDiff line numberDiff line change
@@ -2178,7 +2178,7 @@
21782178
</option>
21792179
<option>
21802180
<name>OGLastSavedByProductVersion</name>
2181-
<state>8.50.6.28950</state>
2181+
<state>9.10.2.39304</state>
21822182
</option>
21832183
<option>
21842184
<name>OGChipSelectEditMenu</name>
@@ -2324,6 +2324,8 @@
23242324
<name>CCDefines</name>
23252325
<state>Q_SPY</state>
23262326
<state>EFM32PG1B200F256GM48</state>
2327+
<state>QXK_USE_IRQ_HANDLER=FPUEH_IRQHandler</state>
2328+
<state>QXK_USE_IRQ_NUM=33</state>
23272329
</option>
23282330
<option>
23292331
<name>CCPreprocFile</name>

include/qep.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@
6363
*/
6464
#define QP_VERSION_STR "7.2.1"
6565

66-
/*! Encrypted current QP release (7.2.1) and date (2023-01-11) */
67-
#define QP_RELEASE 0x76D7D63EU
66+
/*! Encrypted current QP release (7.2.1) and date (2023-01-15) */
67+
#define QP_RELEASE 0x76D739FEU
6868

6969
/*==========================================================================*/
7070
/*$declare${glob-types} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/

include/qs.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ enum QSpyPre {
272272
QS_MTX_UNLOCK_ATTEMPT,/*!< a mutex unlock was attempted */
273273

274274
/* [81] */
275-
QS_PRE_MAX, /*!< the number of predefined signals */
275+
QS_PRE_MAX /*!< the number of predefined signals */
276276
};
277277

278278
/*${QS::QSpyGroups} ........................................................*/
@@ -319,7 +319,7 @@ enum QSpyIdOffsets {
319319
QS_AO_ID = 0, /*!< offset for AO priorities */
320320
QS_EP_ID = 64, /*!< offset for event-pool IDs */
321321
QS_EQ_ID = 80, /*!< offset for event-queue IDs */
322-
QS_AP_ID = 96, /*!< offset for Application-specific IDs */
322+
QS_AP_ID = 96 /*!< offset for Application-specific IDs */
323323
};
324324

325325
/*${QS::QSpyIdGroups} ......................................................*/
@@ -331,7 +331,7 @@ enum QSpyIdGroups {
331331
QS_AO_IDS = (0x80 + (enum_t)QS_AO_ID), /*!< AO IDs (priorities) */
332332
QS_EP_IDS = (0x80 + (enum_t)QS_EP_ID), /*!< event-pool IDs */
333333
QS_EQ_IDS = (0x80 + (enum_t)QS_EQ_ID), /*!< event-queue IDs */
334-
QS_AP_IDS = (0x80 + (enum_t)QS_AP_ID), /*!< Application-specific IDs */
334+
QS_AP_IDS = (0x80 + (enum_t)QS_AP_ID) /*!< Application-specific IDs */
335335
};
336336

337337
/*${QS::QSpyFunPtr} ........................................................*/
@@ -409,7 +409,7 @@ enum QS_preType {
409409
QS_OBJ_T, /*!< object pointer format */
410410
QS_FUN_T, /*!< function pointer format */
411411
QS_I64_T, /*!< signed 64-bit integer format */
412-
QS_U64_T, /*!< unsigned 64-bit integer format */
412+
QS_U64_T /*!< unsigned 64-bit integer format */
413413
};
414414

415415
/*${QS::QS-tx::priv_} ......................................................*/

include/qxk.h

+5-4
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,6 @@ bool QXSemaphore_signal(QXSemaphore * const me);
669669
/*${QXK::QXMutex} ..........................................................*/
670670
/*! @brief Blocking Mutex the QXK preemptive kernel
671671
* @class QXMutex
672-
* @extends QActive
673672
*
674673
* @details
675674
* ::QXMutex is a blocking mutual exclusion mechanism that can also apply
@@ -704,11 +703,13 @@ bool QXSemaphore_signal(QXSemaphore * const me);
704703
* @include qxk_mutex.c
705704
*/
706705
typedef struct {
707-
/* protected: */
708-
QActive super;
709-
710706
/* private: */
711707

708+
/*! active object used as a placeholder AO for this mutex
709+
* in QActive_registry_[]
710+
*/
711+
QActive ao;
712+
712713
/*! set of extended-threads waiting on this mutex */
713714
QPSet waitSet;
714715
} QXMutex;

0 commit comments

Comments
 (0)