mirror of
https://github.com/QuantumLeaps/qpcpp.git
synced 2025-01-14 05:42:57 +08:00
6.3.1
This commit is contained in:
parent
b7f3e809c3
commit
7983ea3ca1
@ -3,8 +3,8 @@ namespace QP {
|
||||
/** @page history Revision History
|
||||
|
||||
@section qpcpp_6_3_1 Version 6.3.1, 2018-05-24
|
||||
This release migrates the [QUTest](https://www.state-machine.com/qtools/qutest.html) examples to [QM 4.2.1](https://www.state-machine.com/qm/history.html#qm_4_2_1), which now can generate QS_FUN_DICTIONARY() records automatically. This release also adds a generic, simple blinky example for QUTest located in `examples/qutest/blinky`. Also, this release fixes the QF_INT_DISABLE() / QF_INT_ENABLE() macros in the QUTest ports to use the QP namespace. Without this fix, the code fails to compile when the directive "using namespace QP" is not used.
|
||||
|
||||
This release migrates the [QUTest](https://www.state-machine.com/qtools/qutest.html) examples to [QM 4.2.1](https://www.state-machine.com/qm/history.html#qm_4_2_1), which now can generate QS_FUN_DICTIONARY() records automatically. This release also adds a generic, simple blinky example for QUTest located in `examples/qutest/blinky`. Also, this release fixes the QF_INT_DISABLE() / QF_INT_ENABLE() macros in the QUTest ports to use the QP namespace. Without this fix, the code fails to compile when the directive "using namespace QP" is not used.
|
||||
|
||||
Also, this release adds the missing QS macro QS_SIG() to produce symbolic signal output from [application specific QS records](https://www.state-machine.com/qtools/qs.html#qs_app).
|
||||
|
||||
Finally, this release adjusts the code in qs_rx.cpp to use QF_EVT_REF_CTR_INC_() instead of accessing the event's reference counter directly. This direct access fails in case, when event constructors are configured (Q_EVT_CTOR is defined). In that case, the QP::QEvt class protects the reference counter, so it cannot be accessed directly. This option is currently used only in the QP/C++ port to Qt.
|
||||
|
6522
doxygen/metrics.dox
6522
doxygen/metrics.dox
File diff suppressed because it is too large
Load Diff
@ -206,6 +206,7 @@ void BSP::init(void) {
|
||||
}
|
||||
QS_OBJ_DICTIONARY(&l_tickHook);
|
||||
QS_OBJ_DICTIONARY(&l_GPIOPortA_IRQHandler);
|
||||
QS_USR_DICTIONARY(PHILO_STAT);
|
||||
}
|
||||
//............................................................................
|
||||
void BSP::displayPhilStat(uint8_t n, char const *stat) {
|
||||
@ -250,7 +251,7 @@ void BSP::randomSeed(uint32_t seed) {
|
||||
INT8U err;
|
||||
|
||||
l_rnd = seed;
|
||||
l_rndMutex = OSMutexCreate(N_PHILO, &err);
|
||||
l_rndMutex = OSMutexCreate(N_PHILO, &err);
|
||||
}
|
||||
//............................................................................
|
||||
void BSP::terminate(int16_t result) {
|
||||
@ -334,17 +335,8 @@ bool QS::onStartup(void const *arg) {
|
||||
DPP::QS_tickTime_ = DPP::QS_tickPeriod_; // to start the timestamp at zero
|
||||
|
||||
// setup the QS filters...
|
||||
QS_FILTER_ON(QS_QEP_STATE_ENTRY);
|
||||
QS_FILTER_ON(QS_QEP_STATE_EXIT);
|
||||
QS_FILTER_ON(QS_QEP_STATE_INIT);
|
||||
QS_FILTER_ON(QS_QEP_INIT_TRAN);
|
||||
QS_FILTER_ON(QS_QEP_INTERN_TRAN);
|
||||
QS_FILTER_ON(QS_QEP_TRAN);
|
||||
QS_FILTER_ON(QS_QEP_IGNORED);
|
||||
QS_FILTER_ON(QS_QEP_DISPATCH);
|
||||
QS_FILTER_ON(QS_QEP_UNHANDLED);
|
||||
|
||||
QS_FILTER_ON(DPP::PHILO_STAT);
|
||||
QS_FILTER_ON(QS_SM_RECORDS);
|
||||
QS_FILTER_ON(QS_UA_RECORDS);
|
||||
|
||||
return true; // return success
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for DPP on EK-TM4C123GXL, uC/OS-II kernel, GNU-ARM
|
||||
# Last Updated for Version: 6.1.0
|
||||
# Date of the Last Update: 2018-02-07
|
||||
# Last Updated for Version: 6.3.1
|
||||
# Date of the Last Update: 2018-05-31
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
@ -94,7 +94,7 @@ INCLUDES = \
|
||||
#
|
||||
|
||||
# assembler source files
|
||||
ASM_SRCS := \
|
||||
ASM_SRCS := \
|
||||
os_cpu_a.s
|
||||
|
||||
# C source files
|
||||
@ -125,7 +125,7 @@ QP_SRCS := \
|
||||
qf_time.cpp \
|
||||
qf_port.cpp
|
||||
|
||||
RTOS_SRC = \
|
||||
RTOS_SRCS := \
|
||||
os_core.c \
|
||||
os_flag.c \
|
||||
os_mbox.c \
|
||||
@ -147,7 +147,7 @@ LIB_DIRS :=
|
||||
LIBS :=
|
||||
|
||||
# defines
|
||||
DEFINES := -DTARGET_IS_TM4C123_RB1
|
||||
DEFINES := -DTARGET_IS_TM4C123_RB1 -D__FPU_PRESENT
|
||||
|
||||
# ARM CPU, ARCH, FPU, and Float-ABI types...
|
||||
# ARM_CPU: [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]
|
||||
@ -159,6 +159,7 @@ ARM_CPU := -mcpu=cortex-m4
|
||||
ARM_ARCH := 7 # NOTE: must match the ARM_CPU!
|
||||
ARM_FPU := -mfpu=vfp
|
||||
FLOAT_ABI := -mfloat-abi=softfp
|
||||
ASM_FPU := -defsym=__FPU_PRESENT=1
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# GNU-ARM toolset (NOTE: You need to adjust to your machine)
|
||||
@ -195,7 +196,7 @@ RM := rm
|
||||
# combine all the soruces...
|
||||
VPATH += $(QPCPP)/3rd_party/gnu_cpp
|
||||
CPP_SRCS += $(QP_SRCS) mini_cpp.cpp
|
||||
C_SRCS += $(RTOS_SRC)
|
||||
C_SRCS += $(RTOS_SRCS)
|
||||
|
||||
ifeq (rel, $(CONF)) # Release configuration ..................................
|
||||
|
||||
|
@ -68,6 +68,10 @@ int main() {
|
||||
sizeof(smlPoolSto), sizeof(smlPoolSto[0]));
|
||||
|
||||
// start the active objects...
|
||||
// CAUTION:
|
||||
// Make sure to configure **SUFFICIENT** number of uC/OS-II tasks and
|
||||
// message queues in "os_cfg.h" for all your active objects!!!
|
||||
//
|
||||
for (uint8_t n = 0U; n < N_PHILO; ++n) {
|
||||
// NOTE: provide uC/OS-II task attributes for the AO's task
|
||||
DPP::AO_Philo[n]->setAttr(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK, 0);
|
||||
@ -90,3 +94,4 @@ int main() {
|
||||
|
||||
return QP::QF::run(); // run the QF application
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user