mirror of
https://github.com/QuantumLeaps/qpcpp.git
synced 2025-01-14 05:42:57 +08:00
6.1.1a
This commit is contained in:
parent
d01112d87b
commit
f869feacb7
@ -2,14 +2,14 @@ namespace QP {
|
||||
|
||||
/** @page history Revision History
|
||||
|
||||
@section qpcpp_6_1_1 Version 6.1.1, 2018-02-18
|
||||
The main purpose of this release is adding the context-switch callbacks to the preemptive @ref qk "QK" and @ref qxk "QXK" kernels. The QK_onContextSw() and QXK_onContextSw() callback functions provide a mechanism to perform additional custom operations when QK/QXK switches context from one thread to another. To avoid extra overhead when this functionality is not needed and for backwards-compatiblity with the existing applications, the callbacks are enabled only when the macros #QK_ON_CONTEXT_SW (for QK) and QXK_ON_CONTEXT_SW (for QXK) are defined. These macros can be defined either directly in command-line for the compiler, or in the QK/QXK port files (qk_port.c for QK and qxk_port.c for QXK). Examples for the context-switch callbacks have been provided for for the @ref arm-cm_dpp_nucleo-l053r8 "NUCLEO-L053R8" (Cortex-M0+) and the @ref arm-cm_dpp_nucleo-h743zi "NUCLEO-H743ZI" (Cortex-M7).
|
||||
@section qpcpp_6_1_1 Version 6.1.1, 2018-02-18
|
||||
The main purpose of this release is adding the context-switch callbacks to the preemptive @ref qk "QK" and @ref qxk "QXK" kernels. The QK_onContextSw() and QXK_onContextSw() callback functions provide a mechanism to perform additional custom operations when QK/QXK switches context from one thread to another. To avoid extra overhead when this functionality is not needed and for backwards-compatiblity with the existing applications, the callbacks are enabled only when the macros #QK_ON_CONTEXT_SW (for QK) and #QXK_ON_CONTEXT_SW (for QXK) are defined. These macros can be defined either directly in command-line for the compiler, or in the QK/QXK port files (qk_port.c for QK and qxk_port.c for QXK). Examples for the context-switch callbacks have been provided for for the @ref arm-cm_dpp_nucleo-l053r8 "NUCLEO-L053R8" (Cortex-M0+) and the @ref arm-cm_dpp_nucleo-h743zi "NUCLEO-H743ZI" (Cortex-M7).
|
||||
|
||||
Also, this release changes the ARM Cortex-M ports for the IAR-ARM toolchain in that it replaces the assembly modules with the equivalent C implementation. This change enables using the configuration macros #QK_ON_CONTEXT_SW (for QK) and QXK_ON_CONTEXT_SW (for QXK) in the ports. All existing example projects for IAR-ARM have been updated to use the `q(x)k_port.c` files instead of `q(x)k_port.s` files.
|
||||
|
||||
Also, this release adds new project files for the Atollic TRUEstudio for STM32. The TRUEstudio projects (Eclipse) have been added for the @ref arm-cm_dpp_nucleo-l053r8 "NUCLEO-L053R8" (Cortex-M0+) and the @ref arm-cm_dpp_nucleo-h743zi "NUCLEO-H743ZI" (Cortex-M7).
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
@section qpcpp_6_1_0 Version 6.1.0, 2018-02-04
|
||||
The main purpose of this release is adding the support for the [<strong>ARM Compiler 6 (ARM-Clang)</strong>](https://developer.arm.com/products/software-development-tools/compilers/arm-compiler), which is a C/C++ toolchain for ARM processors based on the modern [Clang frontend](https://clang.llvm.org/) and the [LLVM framework](https://llvm.org/). This release adds the ARM-Clang ports and examples for all built-in kernels (QV, QK, and QXK) for the ARM Cortex-M CPU cores.
|
||||
|
6478
doxygen/metrics.dox
6478
doxygen/metrics.dox
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for QUTEST self-test; QP/C++ on Win32 host
|
||||
# Last updated for version 5.9.0
|
||||
# Last updated on 2017-05-15
|
||||
# Last updated for version 6.1.1
|
||||
# Last updated on 2018-02-18
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
@ -28,15 +28,15 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact information:
|
||||
# https://state-machine.com
|
||||
# https://www.state-machine.com
|
||||
# mailto:info@state-machine.com
|
||||
##############################################################################
|
||||
#
|
||||
# examples of invoking this Makefile:
|
||||
# make # make and run all tests in the current directory
|
||||
# make # make and run the tests in the current directory
|
||||
# make TESTS=philo*.tcl # make and run the selected tests in the current directory
|
||||
# make norun # only make but not run the tests
|
||||
# make clean # cleanup the build
|
||||
# make norun # only make but not run the tests
|
||||
# make clean # cleanup the build
|
||||
#
|
||||
# NOTE:
|
||||
# To use this Makefile on Windows, you will need the GNU make utility, which
|
||||
|
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for EMF32-SLSTK3401A, QUTEST, GNU-ARM
|
||||
# Last Updated for Version: 6.1.0
|
||||
# Date of the Last Update: 2018-02-07
|
||||
# Last Updated for Version: 6.1.1
|
||||
# Date of the Last Update: 2018-02-18
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
@ -70,23 +70,23 @@ QP_PORT_DIR := $(QPCPP)/ports/arm-cm/qutest
|
||||
|
||||
# list of all source directories used by this project
|
||||
VPATH = \
|
||||
../$(TARGET) \
|
||||
../$(TARGET) \
|
||||
$(QPCPP)/src/qf \
|
||||
$(QPCPP)/src/qs \
|
||||
$(QP_PORT_DIR) \
|
||||
$(QPCPP)/3rd_party/efm32pg1b \
|
||||
$(QPCPP)/3rd_party/efm32pg1b/gnu
|
||||
$(QP_PORT_DIR) \
|
||||
$(QPCPP)/3rd_party/efm32pg1b \
|
||||
$(QPCPP)/3rd_party/efm32pg1b/gnu
|
||||
|
||||
# list of all include directories needed by this project
|
||||
INCLUDES = \
|
||||
-I. \
|
||||
-I.. \
|
||||
-I../$(TARGET) \
|
||||
-I$(QPCPP)/include \
|
||||
-I$(QPCPP)/src \
|
||||
-I$(QP_PORT_DIR) \
|
||||
-I$(QPCPP)/3rd_party/CMSIS/Include \
|
||||
-I$(QPCPP)/3rd_party/efm32pg1b
|
||||
-I. \
|
||||
-I.. \
|
||||
-I../$(TARGET) \
|
||||
-I$(QPCPP)/include \
|
||||
-I$(QPCPP)/src \
|
||||
-I$(QP_PORT_DIR) \
|
||||
-I$(QPCPP)/3rd_party/CMSIS/Include \
|
||||
-I$(QPCPP)/3rd_party/efm32pg1b
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# files
|
||||
@ -97,48 +97,48 @@ ASM_SRCS :=
|
||||
|
||||
# C source files
|
||||
C_SRCS := \
|
||||
startup_efm32pg1b.c \
|
||||
system_efm32pg1b.c \
|
||||
em_cmu.c \
|
||||
em_emu.c \
|
||||
em_gpio.c \
|
||||
em_usart.c
|
||||
startup_efm32pg1b.c \
|
||||
system_efm32pg1b.c \
|
||||
em_cmu.c \
|
||||
em_emu.c \
|
||||
em_gpio.c \
|
||||
em_usart.c
|
||||
|
||||
# C++ source files
|
||||
CPP_SRCS := \
|
||||
test_dpp.cpp \
|
||||
main.cpp \
|
||||
philo.cpp \
|
||||
table.cpp \
|
||||
bsp.cpp \
|
||||
qutest_port.cpp
|
||||
test_dpp.cpp \
|
||||
main.cpp \
|
||||
philo.cpp \
|
||||
table.cpp \
|
||||
bsp.cpp \
|
||||
qutest_port.cpp
|
||||
|
||||
OUTPUT := $(PROJECT)
|
||||
LD_SCRIPT := ../$(TARGET)/test.ld
|
||||
|
||||
QP_SRCS := \
|
||||
qep_hsm.cpp \
|
||||
qep_msm.cpp \
|
||||
qf_act.cpp \
|
||||
qf_defer.cpp \
|
||||
qf_dyn.cpp \
|
||||
qf_mem.cpp \
|
||||
qf_ps.cpp \
|
||||
qf_qact.cpp \
|
||||
qf_qeq.cpp \
|
||||
qf_qmact.cpp \
|
||||
qs.cpp \
|
||||
qs_64bit.cpp \
|
||||
qs_rx.cpp \
|
||||
qs_fp.cpp \
|
||||
qutest.cpp
|
||||
qep_hsm.cpp \
|
||||
qep_msm.cpp \
|
||||
qf_act.cpp \
|
||||
qf_defer.cpp \
|
||||
qf_dyn.cpp \
|
||||
qf_mem.cpp \
|
||||
qf_ps.cpp \
|
||||
qf_qact.cpp \
|
||||
qf_qeq.cpp \
|
||||
qf_qmact.cpp \
|
||||
qs.cpp \
|
||||
qs_64bit.cpp \
|
||||
qs_rx.cpp \
|
||||
qs_fp.cpp \
|
||||
qutest.cpp
|
||||
|
||||
QP_ASMS :=
|
||||
|
||||
QS_SRCS := \
|
||||
qs.cpp \
|
||||
qs_rx.cpp \
|
||||
qs_fp.cpp
|
||||
qs.cpp \
|
||||
qs_rx.cpp \
|
||||
qs_fp.cpp
|
||||
|
||||
LIB_DIRS :=
|
||||
LIBS :=
|
||||
@ -217,17 +217,17 @@ CPP_SRCS += $(QS_SRCS)
|
||||
ASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)
|
||||
|
||||
CFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \
|
||||
-ffunction-sections -fdata-sections \
|
||||
-O $(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST
|
||||
-ffunction-sections -fdata-sections \
|
||||
-O $(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST
|
||||
|
||||
CPPFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \
|
||||
-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \
|
||||
-O $(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST
|
||||
-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \
|
||||
-O $(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST
|
||||
|
||||
|
||||
LINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) \
|
||||
-mthumb -nostdlib \
|
||||
-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)
|
||||
-mthumb -nostdlib \
|
||||
-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)
|
||||
|
||||
ASM_OBJS := $(patsubst %.s,%.o, $(notdir $(ASM_SRCS)))
|
||||
C_OBJS := $(patsubst %.c,%.o, $(notdir $(C_SRCS)))
|
||||
@ -264,33 +264,33 @@ TESTS := *.tcl
|
||||
endif
|
||||
|
||||
$(TARGET_BIN): $(TARGET_ELF)
|
||||
$(BIN) -O binary $< $@
|
||||
$(JLINK) -device EFM32PG1B200F256GM48 $(TARGET).jlink
|
||||
$(BIN) -O binary $< $@
|
||||
$(JLINK) -device EFM32PG1B200F256GM48 $(TARGET).jlink
|
||||
|
||||
$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)
|
||||
$(CPP) $(CPPFLAGS) -c $(QPCPP)/include/qstamp.cpp -o $(BIN_DIR)/qstamp.o
|
||||
$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
|
||||
$(CPP) $(CPPFLAGS) -c $(QPCPP)/include/qstamp.cpp -o $(BIN_DIR)/qstamp.o
|
||||
$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
|
||||
|
||||
flash :
|
||||
$(JLINK) -device EFM32PG1B200F256GM48 $(TARGET).jlink
|
||||
$(JLINK) -device EFM32PG1B200F256GM48 $(TARGET).jlink
|
||||
|
||||
run : $(TARGET_BIN)
|
||||
$(TCLSH) $(QUTEST) $(TESTS)
|
||||
$(TCLSH) $(QUTEST) $(TESTS)
|
||||
|
||||
$(BIN_DIR)/%.d : %.c
|
||||
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
|
||||
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
|
||||
|
||||
$(BIN_DIR)/%.d : %.cpp
|
||||
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
|
||||
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
|
||||
|
||||
$(BIN_DIR)/%.o : %.s
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
|
||||
$(BIN_DIR)/%.o : %.c
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
$(BIN_DIR)/%.o : %.cpp
|
||||
$(CPP) $(CPPFLAGS) -c $< -o $@
|
||||
$(CPP) $(CPPFLAGS) -c $< -o $@
|
||||
|
||||
.PHONY : clean show
|
||||
|
||||
@ -302,29 +302,29 @@ ifneq ($(MAKECMDGOALS),clean)
|
||||
endif
|
||||
|
||||
clean :
|
||||
-$(RM) $(BIN_DIR)/*.o \
|
||||
$(BIN_DIR)/*.d \
|
||||
$(BIN_DIR)/*.bin \
|
||||
$(BIN_DIR)/*.elf \
|
||||
$(BIN_DIR)/*.map
|
||||
-$(RM) $(BIN_DIR)/*.o \
|
||||
$(BIN_DIR)/*.d \
|
||||
$(BIN_DIR)/*.bin \
|
||||
$(BIN_DIR)/*.elf \
|
||||
$(BIN_DIR)/*.map
|
||||
|
||||
show :
|
||||
@echo PROJECT = $(PROJECT)
|
||||
@echo TESTS = $(TESTS)
|
||||
@echo TARGET_ELF = $(TARGET_ELF)
|
||||
@echo CONF = $(CONF)
|
||||
@echo VPATH = $(VPATH)
|
||||
@echo C_SRCS = $(C_SRCS)
|
||||
@echo CPP_SRCS = $(CPP_SRCS)
|
||||
@echo ASM_SRCS = $(ASM_SRCS)
|
||||
@echo C_DEPS_EXT = $(C_DEPS_EXT)
|
||||
@echo C_OBJS_EXT = $(C_OBJS_EXT)
|
||||
@echo PROJECT = $(PROJECT)
|
||||
@echo TESTS = $(TESTS)
|
||||
@echo TARGET_ELF = $(TARGET_ELF)
|
||||
@echo CONF = $(CONF)
|
||||
@echo VPATH = $(VPATH)
|
||||
@echo C_SRCS = $(C_SRCS)
|
||||
@echo CPP_SRCS = $(CPP_SRCS)
|
||||
@echo ASM_SRCS = $(ASM_SRCS)
|
||||
@echo C_DEPS_EXT = $(C_DEPS_EXT)
|
||||
@echo C_OBJS_EXT = $(C_OBJS_EXT)
|
||||
|
||||
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
|
||||
@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)
|
||||
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
|
||||
@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)
|
||||
|
||||
@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)
|
||||
@echo LIB_DIRS = $(LIB_DIRS)
|
||||
@echo LIBS = $(LIBS)
|
||||
@echo DEFINES = $(DEFINES)
|
||||
@echo QUTEST = $(QUTEST)
|
||||
@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)
|
||||
@echo LIB_DIRS = $(LIB_DIRS)
|
||||
@echo LIBS = $(LIBS)
|
||||
@echo DEFINES = $(DEFINES)
|
||||
@echo QUTEST = $(QUTEST)
|
||||
|
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for EK-TM4C123GXL, QUTEST, GNU-ARM
|
||||
# Last Updated for Version: 6.1.0
|
||||
# Date of the Last Update: 2018-02-07
|
||||
# Last Updated for Version: 6.1.1
|
||||
# Date of the Last Update: 2018-02-18
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
|
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for QUTEST; QP/C++ on Win32 host
|
||||
# Last updated for version 5.9.0
|
||||
# Last updated on 2017-05-15
|
||||
# Last updated for version 6.1.1
|
||||
# Last updated on 2018-02-18
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
@ -28,7 +28,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact information:
|
||||
# https://state-machine.com
|
||||
# https://www.state-machine.com
|
||||
# mailto:info@state-machine.com
|
||||
##############################################################################
|
||||
#
|
||||
|
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for QUTEST; QP/C++ on Win32 host
|
||||
# Last updated for version 5.9.0
|
||||
# Last updated on 2017-05-15
|
||||
# Last updated for version 6.1.1
|
||||
# Last updated on 2018-02-18
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
@ -28,7 +28,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact information:
|
||||
# https://state-machine.com
|
||||
# https://www.state-machine.com
|
||||
# mailto:info@state-machine.com
|
||||
##############################################################################
|
||||
#
|
||||
|
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for QUTEST self-test; QP/C++ on Win32 host
|
||||
# Last updated for version 5.9.0
|
||||
# Last updated on 2017-05-15
|
||||
# Last updated for version 6.1.1
|
||||
# Last updated on 2018-02-18
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
@ -28,7 +28,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact information:
|
||||
# https://state-machine.com
|
||||
# https://www.state-machine.com
|
||||
# mailto:info@state-machine.com
|
||||
##############################################################################
|
||||
#
|
||||
|
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for EMF32-SLSTK3401A, QUTEST, GNU-ARM
|
||||
# Last Updated for Version: 6.1.0
|
||||
# Date of the Last Update: 2018-02-07
|
||||
# Last Updated for Version: 6.1.1
|
||||
# Date of the Last Update: 2018-02-18
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
@ -303,7 +303,7 @@ clean :
|
||||
$(BIN_DIR)/*.bin \
|
||||
$(BIN_DIR)/*.elf \
|
||||
$(BIN_DIR)/*.map
|
||||
|
||||
|
||||
show :
|
||||
@echo PROJECT = $(PROJECT)
|
||||
@echo TESTS = $(TESTS)
|
||||
|
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for EK-TM4C123GXL, QUTEST, GNU-ARM
|
||||
# Last Updated for Version: 6.1.0
|
||||
# Date of the Last Update: 2018-02-07
|
||||
# Last Updated for Version: 6.1.1
|
||||
# Date of the Last Update: 2018-02-18
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
|
@ -1,7 +1,7 @@
|
||||
##############################################################################
|
||||
# Product: Makefile for QUTEST self-test; QP/C on POSIX host
|
||||
# Last updated for version 5.9.0
|
||||
# Last updated on 2017-04-16
|
||||
# Product: Makefile for QUTEST self-test; QP/C++ on POSIX host
|
||||
# Last updated for version 6.1.1
|
||||
# Last updated on 2018-02-18
|
||||
#
|
||||
# Q u a n t u m L e a P s
|
||||
# ---------------------------
|
||||
@ -28,7 +28,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact information:
|
||||
# https://state-machine.com
|
||||
# https://www.state-machine.com
|
||||
# mailto:info@state-machine.com
|
||||
##############################################################################
|
||||
#
|
||||
|
Loading…
x
Reference in New Issue
Block a user