Skip to content

Commit

Permalink
7.2.1
Browse files Browse the repository at this point in the history
  • Loading branch information
quantum-leaps committed Jan 15, 2023
1 parent c502b0e commit 6b7d766
Show file tree
Hide file tree
Showing 14 changed files with 271 additions and 250 deletions.
14 changes: 7 additions & 7 deletions doxygen/gen/metrics.txt
Original file line number Diff line number Diff line change
Expand Up @@ -158,10 +158,10 @@
19 5 105 1 26 QXK_contextSw@461-486@..\src\qxk\qxk.cpp
14 2 110 0 23 QXK_threadExit_@490-512@..\src\qxk\qxk.cpp
3 1 15 0 3 QP::QXMutex::QXMutex@76-78@..\src\qxk\qxk_mutex.cpp
8 2 54 1 11 QP::QXMutex::init@81-91@..\src\qxk\qxk_mutex.cpp
61 9 422 0 95 QP::QXMutex::tryLock@94-188@..\src\qxk\qxk_mutex.cpp
81 11 599 1 133 QP::QXMutex::lock@191-323@..\src\qxk\qxk_mutex.cpp
77 12 578 0 129 QP::QXMutex::unlock@326-454@..\src\qxk\qxk_mutex.cpp
8 2 60 1 11 QP::QXMutex::init@81-91@..\src\qxk\qxk_mutex.cpp
59 9 467 0 94 QP::QXMutex::tryLock@94-187@..\src\qxk\qxk_mutex.cpp
80 11 644 1 133 QP::QXMutex::lock@190-322@..\src\qxk\qxk_mutex.cpp
76 13 599 0 128 QP::QXMutex::unlock@325-452@..\src\qxk\qxk_mutex.cpp
9 1 58 2 11 QP::QXSemaphore::init@76-86@..\src\qxk\qxk_sema.cpp
54 7 346 1 79 QP::QXSemaphore::wait@89-167@..\src\qxk\qxk_sema.cpp
27 3 131 0 38 QP::QXSemaphore::tryWait@170-207@..\src\qxk\qxk_sema.cpp
Expand Down Expand Up @@ -199,7 +199,7 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
25 0.0 0.0 0.0 0 ..\include\qs_pkg.hpp
9 0.0 0.0 0.0 0 ..\include\quit.hpp
8 0.0 0.0 0.0 0 ..\include\qv.hpp
118 6.0 1.0 30.0 2 ..\include\qxk.hpp
119 6.0 1.0 30.0 2 ..\include\qxk.hpp
364 31.3 5.1 182.1 11 ..\src\qf\qep_hsm.cpp
317 42.9 7.6 236.1 7 ..\src\qf\qep_msm.cpp
2 0.0 0.0 0.0 0 ..\src\qf\qf_act.cpp
Expand All @@ -215,7 +215,7 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
210 23.5 5.0 146.0 8 ..\src\qk\qk.cpp
92 18.2 5.0 109.2 4 ..\src\qv\qv.cpp
279 23.4 5.0 144.7 11 ..\src\qxk\qxk.cpp
241 46.0 7.0 333.6 5 ..\src\qxk\qxk_mutex.cpp
237 45.2 7.2 357.0 5 ..\src\qxk\qxk_mutex.cpp
142 32.8 4.5 196.5 4 ..\src\qxk\qxk_sema.cpp
309 21.3 3.5 128.8 14 ..\src\qxk\qxk_xthr.cpp

Expand All @@ -228,5 +228,5 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
4541 18.1 3.3 108.0 178 1 0.01 0.04
4538 18.1 3.3 108.7 178 1 0.01 0.04
@endcode
11 changes: 9 additions & 2 deletions doxygen/history.dox
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,19 @@
@remark
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.

@section qpcpp_7_2_1 Version 7.2.1, 2023-01-11
@section qpcpp_7_2_1 Version 7.2.1, 2023-01-15
__QP/C++ Source Code:__
- Changed the design of the QP::QXMutex class to include QP::QActive by composition rather than inheritance.

__Ports:__
- 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.
- 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.

__Bug Fixes:__
- [bug#328 Assertion qxk:720 in QP/​C/​C++ 7.2.0](https://sourceforge.net/p/qpc/bugs/328)

@attention
This bug in QXK affects releases QP/C++ 7.1.0 through 7.2.0
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"


@section qpcpp_7_2_0 Version 7.2.0, 2023-01-06
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,7 @@
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>0</nTsel>
<nTsel>4</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
Expand All @@ -496,9 +496,14 @@
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>BIN\UL2CM3.DLL</pMon>
<pMon>Segger\JL2CM3.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>JL2CM3</Key>
<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>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>UL2CM3</Key>
Expand Down
8 changes: 5 additions & 3 deletions examples/arm-cm/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.ewp
Original file line number Diff line number Diff line change
Expand Up @@ -2143,11 +2143,11 @@
</option>
<option>
<name>Input description</name>
<state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>
<state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>
</option>
<option>
<name>Output description</name>
<state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>
<state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibyte support.</state>
</option>
<option>
<name>GOutputBinary</name>
Expand Down Expand Up @@ -2177,7 +2177,7 @@
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>8.50.6.28950</state>
<state>9.10.2.39304</state>
</option>
<option>
<name>OGChipSelectEditMenu</name>
Expand Down Expand Up @@ -2323,6 +2323,8 @@
<name>CCDefines</name>
<state>Q_SPY</state>
<state>EFM32PG1B200F256GM48</state>
<state>QXK_USE_IRQ_HANDLER=FPUEH_IRQHandler</state>
<state>QXK_USE_IRQ_NUM=33</state>
</option>
<option>
<name>CCPreprocFile</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -484,7 +484,7 @@
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>8</nTsel>
<nTsel>19</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1290,7 +1290,7 @@
<TargetName>dpp-spy</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<pCCUsed>6130001::V6.13.1::.\ARMCLANG</pCCUsed>
<pCCUsed>6160000::V6.16::ARMCLANG</pCCUsed>
<uAC6>1</uAC6>
<TargetOption>
<TargetCommonOption>
Expand Down Expand Up @@ -1602,7 +1602,7 @@
<PlainCh>0</PlainCh>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<wLevel>3</wLevel>
<wLevel>2</wLevel>
<uThumb>0</uThumb>
<uSurpInc>1</uSurpInc>
<uC99>0</uC99>
Expand All @@ -1616,7 +1616,7 @@
<v6WtE>0</v6WtE>
<v6Rtti>0</v6Rtti>
<VariousControls>
<MiscControls></MiscControls>
<MiscControls>-Wno-c++98-compat -Wno-non-virtual-dtor -Wno-padded</MiscControls>
<Define>Q_SPY TARGET_IS_TM4C123_RB1</Define>
<Undefine></Undefine>
<IncludePath>..\..;..\..\..\..\..\include;..\..\..\..\..\ports\arm-cm\qxk\armclang;..\..\..\..\..\3rd_party\CMSIS\Include;..\..\..\..\..\3rd_party\ek-tm4c123gxl</IncludePath>
Expand Down
4 changes: 2 additions & 2 deletions include/qep.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@
//
#define QP_VERSION_STR "7.2.1"

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

//============================================================================
// Global namespace...
Expand Down
12 changes: 6 additions & 6 deletions include/qs.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ enum QSpyPre : std::int8_t {
QS_MTX_UNLOCK_ATTEMPT,//!< a mutex unlock was attempted

// [81]
QS_PRE_MAX, //!< the number of predefined signals
QS_PRE_MAX //!< the number of predefined signals
};

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

//${QS::QSpyUserOffsets} .....................................................
Expand All @@ -300,7 +300,7 @@ enum QSpyUserOffsets : std::int16_t {
QS_USER1 = QS_USER0 + 5, //!< offset of Group 1
QS_USER2 = QS_USER1 + 5, //!< offset of Group 2
QS_USER3 = QS_USER2 + 5, //!< offset of Group 3
QS_USER4 = QS_USER3 + 5, //!< offset of Group 4
QS_USER4 = QS_USER3 + 5 //!< offset of Group 4
};

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

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

//${QS::QSpyFunPtr} ..........................................................
Expand Down Expand Up @@ -398,7 +398,7 @@ enum QSType : std::uint8_t {
OBJ_T, //!< object pointer format
FUN_T, //!< function pointer format
I64_T, //!< signed 64-bit integer format
U64_T, //!< unsigned 64-bit integer format
U64_T //!< unsigned 64-bit integer format
};

//${QS::QS-tx::priv_} ........................................................
Expand Down
4 changes: 2 additions & 2 deletions include/qs_dummy.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ enum QSpyIdOffsets : std::int16_t {
QS_AO_ID = 0, //!< offset for AO priorities
QS_EP_ID = 64, //!< offset for event-pool IDs
QS_EQ_ID = 80, //!< offset for event-queue IDs
QS_AP_ID = 96, //!< offset for Appl-spec IDs
QS_AP_ID = 96 //!< offset for Appl-spec IDs
};

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

} // namespace QP
Expand Down
6 changes: 5 additions & 1 deletion include/qxk.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -564,9 +564,13 @@ namespace QP {
//! in your application.
//! @include qxk_mutex.cpp
//!
class QXMutex : public QP::QActive {
class QXMutex {
private:

//! active object used as a placeholder AO for this mutex
//! in QActive::registry_[]
QActive m_ao;

//! set of extended-threads waiting on this mutex
QPSet m_waitSet;

Expand Down
8 changes: 4 additions & 4 deletions ports/arm-cm/qxk/armclang/qep_port.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@
// <www.state-machine.com>
// <[email protected]>
//============================================================================
//! @date Last updated on: 2021-12-23
//! @version Last updated for: @ref qpcpp_7_0_0
//! @date Last updated on: 2022-01-15
//! @version Last updated for: @ref qpcpp_7_2_1
//!
//! @file
//! @brief QEP/C++ port, ARM-CLANG C++11 compiler

#ifndef QEP_PORT_HPP
#define QEP_PORT_HPP

//! no-return function specifier (C11/C++11 Standard)
#define Q_NORETURN _Noreturn void
//! no-return function specifier (C++11 Standard)
#define Q_NORETURN [[noreturn]] void

#include <cstdint> // Exact-width types. C++11 Standard

Expand Down
Loading

0 comments on commit 6b7d766

Please sign in to comment.