Skip to content

Commit 6b7d766

Browse files
committed
7.2.1
1 parent c502b0e commit 6b7d766

File tree

14 files changed

+271
-250
lines changed

14 files changed

+271
-250
lines changed

doxygen/gen/metrics.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,10 @@
158158
19 5 105 1 26 QXK_contextSw@461-486@..\src\qxk\qxk.cpp
159159
14 2 110 0 23 QXK_threadExit_@490-512@..\src\qxk\qxk.cpp
160160
3 1 15 0 3 QP::QXMutex::QXMutex@76-78@..\src\qxk\qxk_mutex.cpp
161-
8 2 54 1 11 QP::QXMutex::init@81-91@..\src\qxk\qxk_mutex.cpp
162-
61 9 422 0 95 QP::QXMutex::tryLock@94-188@..\src\qxk\qxk_mutex.cpp
163-
81 11 599 1 133 QP::QXMutex::lock@191-323@..\src\qxk\qxk_mutex.cpp
164-
77 12 578 0 129 QP::QXMutex::unlock@326-454@..\src\qxk\qxk_mutex.cpp
161+
8 2 60 1 11 QP::QXMutex::init@81-91@..\src\qxk\qxk_mutex.cpp
162+
59 9 467 0 94 QP::QXMutex::tryLock@94-187@..\src\qxk\qxk_mutex.cpp
163+
80 11 644 1 133 QP::QXMutex::lock@190-322@..\src\qxk\qxk_mutex.cpp
164+
76 13 599 0 128 QP::QXMutex::unlock@325-452@..\src\qxk\qxk_mutex.cpp
165165
9 1 58 2 11 QP::QXSemaphore::init@76-86@..\src\qxk\qxk_sema.cpp
166166
54 7 346 1 79 QP::QXSemaphore::wait@89-167@..\src\qxk\qxk_sema.cpp
167167
27 3 131 0 38 QP::QXSemaphore::tryWait@170-207@..\src\qxk\qxk_sema.cpp
@@ -199,7 +199,7 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
199199
25 0.0 0.0 0.0 0 ..\include\qs_pkg.hpp
200200
9 0.0 0.0 0.0 0 ..\include\quit.hpp
201201
8 0.0 0.0 0.0 0 ..\include\qv.hpp
202-
118 6.0 1.0 30.0 2 ..\include\qxk.hpp
202+
119 6.0 1.0 30.0 2 ..\include\qxk.hpp
203203
364 31.3 5.1 182.1 11 ..\src\qf\qep_hsm.cpp
204204
317 42.9 7.6 236.1 7 ..\src\qf\qep_msm.cpp
205205
2 0.0 0.0 0.0 0 ..\src\qf\qf_act.cpp
@@ -215,7 +215,7 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
215215
210 23.5 5.0 146.0 8 ..\src\qk\qk.cpp
216216
92 18.2 5.0 109.2 4 ..\src\qv\qv.cpp
217217
279 23.4 5.0 144.7 11 ..\src\qxk\qxk.cpp
218-
241 46.0 7.0 333.6 5 ..\src\qxk\qxk_mutex.cpp
218+
237 45.2 7.2 357.0 5 ..\src\qxk\qxk_mutex.cpp
219219
142 32.8 4.5 196.5 4 ..\src\qxk\qxk_sema.cpp
220220
309 21.3 3.5 128.8 14 ..\src\qxk\qxk_xthr.cpp
221221

@@ -228,5 +228,5 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
228228
==========================================================================================
229229
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
230230
------------------------------------------------------------------------------------------
231-
4541 18.1 3.3 108.0 178 1 0.01 0.04
231+
4538 18.1 3.3 108.7 178 1 0.01 0.04
232232
@endcode

doxygen/history.dox

Lines changed: 9 additions & 2 deletions
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 qpcpp_7_2_1 Version 7.2.1, 2023-01-11
9+
@section qpcpp_7_2_1 Version 7.2.1, 2023-01-15
10+
__QP/C++ Source Code:__
11+
- Changed the design of the QP::QXMutex class to include QP::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 qpcpp_7_1_0 "7.1.0" through @ref qpcpp_7_2_0 "7.2.0"
1522

1623

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

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@
485485
<bEvRecOn>1</bEvRecOn>
486486
<bSchkAxf>0</bSchkAxf>
487487
<bTchkAxf>0</bTchkAxf>
488-
<nTsel>0</nTsel>
488+
<nTsel>4</nTsel>
489489
<sDll></sDll>
490490
<sDllPa></sDllPa>
491491
<sDlgDll></sDlgDll>
@@ -496,9 +496,14 @@
496496
<tDlgDll></tDlgDll>
497497
<tDlgPa></tDlgPa>
498498
<tIfile></tIfile>
499-
<pMon>BIN\UL2CM3.DLL</pMon>
499+
<pMon>Segger\JL2CM3.dll</pMon>
500500
</DebugOpt>
501501
<TargetDriverDllRegistry>
502+
<SetRegEntry>
503+
<Number>0</Number>
504+
<Key>JL2CM3</Key>
505+
<Name>-U440060969 -O14 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\GECKOP2.FLM)</Name>
506+
</SetRegEntry>
502507
<SetRegEntry>
503508
<Number>0</Number>
504509
<Key>UL2CM3</Key>

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2143,11 +2143,11 @@
21432143
</option>
21442144
<option>
21452145
<name>Input description</name>
2146-
<state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>
2146+
<state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>
21472147
</option>
21482148
<option>
21492149
<name>Output description</name>
2150-
<state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>
2150+
<state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibyte support.</state>
21512151
</option>
21522152
<option>
21532153
<name>GOutputBinary</name>
@@ -2177,7 +2177,7 @@
21772177
</option>
21782178
<option>
21792179
<name>OGLastSavedByProductVersion</name>
2180-
<state>8.50.6.28950</state>
2180+
<state>9.10.2.39304</state>
21812181
</option>
21822182
<option>
21832183
<name>OGChipSelectEditMenu</name>
@@ -2323,6 +2323,8 @@
23232323
<name>CCDefines</name>
23242324
<state>Q_SPY</state>
23252325
<state>EFM32PG1B200F256GM48</state>
2326+
<state>QXK_USE_IRQ_HANDLER=FPUEH_IRQHandler</state>
2327+
<state>QXK_USE_IRQ_NUM=33</state>
23262328
</option>
23272329
<option>
23282330
<name>CCPreprocFile</name>

examples/arm-cm/dpp_ek-tm4c123gxl/qxk/armclang/dpp-qxk.uvoptx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@
484484
<bEvRecOn>1</bEvRecOn>
485485
<bSchkAxf>0</bSchkAxf>
486486
<bTchkAxf>0</bTchkAxf>
487-
<nTsel>8</nTsel>
487+
<nTsel>19</nTsel>
488488
<sDll></sDll>
489489
<sDllPa></sDllPa>
490490
<sDlgDll></sDlgDll>

examples/arm-cm/dpp_ek-tm4c123gxl/qxk/armclang/dpp-qxk.uvprojx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1290,7 +1290,7 @@
12901290
<TargetName>dpp-spy</TargetName>
12911291
<ToolsetNumber>0x4</ToolsetNumber>
12921292
<ToolsetName>ARM-ADS</ToolsetName>
1293-
<pCCUsed>6130001::V6.13.1::.\ARMCLANG</pCCUsed>
1293+
<pCCUsed>6160000::V6.16::ARMCLANG</pCCUsed>
12941294
<uAC6>1</uAC6>
12951295
<TargetOption>
12961296
<TargetCommonOption>
@@ -1602,7 +1602,7 @@
16021602
<PlainCh>0</PlainCh>
16031603
<Ropi>0</Ropi>
16041604
<Rwpi>0</Rwpi>
1605-
<wLevel>3</wLevel>
1605+
<wLevel>2</wLevel>
16061606
<uThumb>0</uThumb>
16071607
<uSurpInc>1</uSurpInc>
16081608
<uC99>0</uC99>
@@ -1616,7 +1616,7 @@
16161616
<v6WtE>0</v6WtE>
16171617
<v6Rtti>0</v6Rtti>
16181618
<VariousControls>
1619-
<MiscControls></MiscControls>
1619+
<MiscControls>-Wno-c++98-compat -Wno-non-virtual-dtor -Wno-padded</MiscControls>
16201620
<Define>Q_SPY TARGET_IS_TM4C123_RB1</Define>
16211621
<Undefine></Undefine>
16221622
<IncludePath>..\..;..\..\..\..\..\include;..\..\..\..\..\ports\arm-cm\qxk\armclang;..\..\..\..\..\3rd_party\CMSIS\Include;..\..\..\..\..\3rd_party\ek-tm4c123gxl</IncludePath>

include/qep.hpp

Lines changed: 2 additions & 2 deletions
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
// Global namespace...

include/qs.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ enum QSpyPre : std::int8_t {
268268
QS_MTX_UNLOCK_ATTEMPT,//!< a mutex unlock was attempted
269269

270270
// [81]
271-
QS_PRE_MAX, //!< the number of predefined signals
271+
QS_PRE_MAX //!< the number of predefined signals
272272
};
273273

274274
//${QS::QSpyGroups} ..........................................................
@@ -289,7 +289,7 @@ enum QSpyGroups : std::int16_t {
289289
QS_U2_RECORDS, //!< User Group 110-114 records
290290
QS_U3_RECORDS, //!< User Group 115-119 records
291291
QS_U4_RECORDS, //!< User Group 120-124 records
292-
QS_UA_RECORDS, //!< All User records
292+
QS_UA_RECORDS //!< All User records
293293
};
294294

295295
//${QS::QSpyUserOffsets} .....................................................
@@ -300,7 +300,7 @@ enum QSpyUserOffsets : std::int16_t {
300300
QS_USER1 = QS_USER0 + 5, //!< offset of Group 1
301301
QS_USER2 = QS_USER1 + 5, //!< offset of Group 2
302302
QS_USER3 = QS_USER2 + 5, //!< offset of Group 3
303-
QS_USER4 = QS_USER3 + 5, //!< offset of Group 4
303+
QS_USER4 = QS_USER3 + 5 //!< offset of Group 4
304304
};
305305

306306
//${QS::QSpyIdOffsets} .......................................................
@@ -309,7 +309,7 @@ enum QSpyIdOffsets : std::int16_t {
309309
QS_AO_ID = 0, //!< offset for AO priorities
310310
QS_EP_ID = 64, //!< offset for event-pool IDs
311311
QS_EQ_ID = 80, //!< offset for event-queue IDs
312-
QS_AP_ID = 96, //!< offset for Appl-spec IDs
312+
QS_AP_ID = 96 //!< offset for Appl-spec IDs
313313
};
314314

315315
//${QS::QSpyIdGroups} ........................................................
@@ -319,7 +319,7 @@ enum QSpyIdGroups : std::int16_t {
319319
QS_AO_IDS = 0x80 + QS_AO_ID, //!< AO IDs (priorities)
320320
QS_EP_IDS = 0x80 + QS_EP_ID, //!< event-pool IDs
321321
QS_EQ_IDS = 0x80 + QS_EQ_ID, //!< event-queue IDs
322-
QS_AP_IDS = 0x80 + QS_AP_ID, //!< Application-specific IDs
322+
QS_AP_IDS = 0x80 + QS_AP_ID //!< Application-specific IDs
323323
};
324324

325325
//${QS::QSpyFunPtr} ..........................................................
@@ -398,7 +398,7 @@ enum QSType : std::uint8_t {
398398
OBJ_T, //!< object pointer format
399399
FUN_T, //!< function pointer format
400400
I64_T, //!< signed 64-bit integer format
401-
U64_T, //!< unsigned 64-bit integer format
401+
U64_T //!< unsigned 64-bit integer format
402402
};
403403

404404
//${QS::QS-tx::priv_} ........................................................

include/qs_dummy.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ enum QSpyIdOffsets : std::int16_t {
105105
QS_AO_ID = 0, //!< offset for AO priorities
106106
QS_EP_ID = 64, //!< offset for event-pool IDs
107107
QS_EQ_ID = 80, //!< offset for event-queue IDs
108-
QS_AP_ID = 96, //!< offset for Appl-spec IDs
108+
QS_AP_ID = 96 //!< offset for Appl-spec IDs
109109
};
110110

111111
} // namespace QP
@@ -120,7 +120,7 @@ enum QSpyIdGroups : std::int16_t {
120120
QS_AO_IDS = 0x80 + QS_AO_ID, //!< AO IDs (priorities)
121121
QS_EP_IDS = 0x80 + QS_EP_ID, //!< event-pool IDs
122122
QS_EQ_IDS = 0x80 + QS_EQ_ID, //!< event-queue IDs
123-
QS_AP_IDS = 0x80 + QS_AP_ID, //!< Application-specific IDs
123+
QS_AP_IDS = 0x80 + QS_AP_ID //!< Application-specific IDs
124124
};
125125

126126
} // namespace QP

include/qxk.hpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -564,9 +564,13 @@ namespace QP {
564564
//! in your application.
565565
//! @include qxk_mutex.cpp
566566
//!
567-
class QXMutex : public QP::QActive {
567+
class QXMutex {
568568
private:
569569

570+
//! active object used as a placeholder AO for this mutex
571+
//! in QActive::registry_[]
572+
QActive m_ao;
573+
570574
//! set of extended-threads waiting on this mutex
571575
QPSet m_waitSet;
572576

0 commit comments

Comments
 (0)