diff --git a/README.md b/README.md index 9c214cfd..62542af6 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,15 @@ # What's New? View QP/C++ Revision History at: https://www.state-machine.com/qpcpp/history.html ->**NOTE:** If you're interested in the latest QP/C++ version from Git, -it is highly recommened that you download the latest -[QP/C++ Release](https://github.com/QuantumLeaps/qpcpp/releases) -as opposed to cloning the repo directy. This is because the `3rd_party` -directory needed to build the examples is no longer provided in the -`qpcpp` repository (and is provided in the QP/C++ release). +> **NOTE:** If you're interested in the latest QP/C++ version from GitHub, +it is highly recommened that you clone this repo like that: + +``` +git clone https://github.com/QuantumLeaps/qpcpp --recurse-submodules --depth 1 +``` + +Alternatively, you can also download the latest +[QP/C++ Release](https://github.com/QuantumLeaps/qpcpp/releases). # Getting Started with QP/C++ diff --git a/doxygen/.gitignore b/doxygen/.gitignore new file mode 100644 index 00000000..a1669073 --- /dev/null +++ b/doxygen/.gitignore @@ -0,0 +1 @@ +metrics.dox diff --git a/doxygen/Doxyfile b/doxygen/Doxyfile index 1f124ebe..041e6914 100644 --- a/doxygen/Doxyfile +++ b/doxygen/Doxyfile @@ -1,5 +1,7 @@ # Doxyfile 1.9.5 +@INCLUDE = ../../ql-doxygen/ql-doxyfile + #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- @@ -40,17 +42,6 @@ PYTHON_DOCSTRING = YES INHERIT_DOCS = YES SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 4 -ALIASES = "nav{2}=@ref \1@ref \2" \ - "nav_prev{1}=@ref \1" \ - "nav_next{1}=@ref \1" \ - "next{1}=@ref \1" \ - "description=@par Description" \ - "usage=@par Usage" \ - "hint=@par Hint" \ - "label{1}=
\1
" \ - "caption{1}=
\1
" \ - "webref{2}=\2" \ - "tr{1}=@xrefitem tr \"Traceability\" \"\" traces to: @ref \1" OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO @@ -150,13 +141,17 @@ INPUT = main.dox \ ../../cert-pack/srs.dox \ ../../cert-pack/sas.dox \ ../../cert-pack/sds.dox \ + ../../cert-pack/sds_sm-cpp.dox \ ../../cert-pack/autosar.dox \ ../../cert-pack/tr.dox \ metrics.dox \ dir.dox \ config.hpp \ ../include \ - ../src + ../src \ + ../ports/lint-plus/std.lnt \ + ../ports/lint-plus/qpcpp.lnt \ + ../ports/lint-plus/options.lnt INPUT_ENCODING = UTF-8 INPUT_FILE_ENCODING = FILE_PATTERNS = *.dox \ @@ -195,7 +190,7 @@ FORTRAN_COMMENT_AFTER = 72 #--------------------------------------------------------------------------- SOURCE_BROWSER = YES INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES +STRIP_CODE_COMMENTS = NO REFERENCED_BY_RELATION = NO REFERENCES_RELATION = NO REFERENCES_LINK_SOURCE = YES @@ -283,68 +278,6 @@ SEARCHDATA_FILE = searchdata.xml EXTERNAL_SEARCH_ID = QPCPP EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- -# Configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -LATEX_MAKEINDEX_CMD = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = letter -EXTRA_PACKAGES = -LATEX_HEADER = -LATEX_FOOTER = -LATEX_EXTRA_STYLESHEET = -LATEX_EXTRA_FILES = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -LATEX_BIB_STYLE = plain -LATEX_TIMESTAMP = NO -LATEX_EMOJI_DIRECTORY = -#--------------------------------------------------------------------------- -# Configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# Configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_SUBDIR = -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# Configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_PROGRAMLISTING = YES -XML_NS_MEMB_FILE_SCOPE = NO -#--------------------------------------------------------------------------- -# Configuration options related to the DOCBOOK output -#--------------------------------------------------------------------------- -GENERATE_DOCBOOK = NO -DOCBOOK_OUTPUT = docbook -#--------------------------------------------------------------------------- -# Configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# Configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES @@ -373,51 +306,3 @@ PREDEFINED = Q_SPY \ QXK_ON_CONTEXT_SW EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration options related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -EXTERNAL_PAGES = YES -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -DIA_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO -DOT_NUM_THREADS = 0 -DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" -DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" -DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = NO -GROUP_GRAPHS = YES -UML_LOOK = YES -UML_LIMIT_NUM_FIELDS = 10 -DOT_UML_DETAILS = NO -DOT_WRAP_THRESHOLD = 17 -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DIR_GRAPH_MAX_DEPTH = 1 -DOT_IMAGE_FORMAT = png -INTERACTIVE_SVG = NO -DOT_PATH = C:/tools/graphviz/bin -DOTFILE_DIRS = -MSCFILE_DIRS = -DIAFILE_DIRS = -PLANTUML_JAR_PATH = -PLANTUML_CFG_FILE = -PLANTUML_INCLUDE_PATH = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 0 -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES diff --git a/doxygen/Doxyfile-CERT b/doxygen/Doxyfile-CERT index 7cc0d69b..35353902 100644 --- a/doxygen/Doxyfile-CERT +++ b/doxygen/Doxyfile-CERT @@ -1,11 +1,8 @@ -# Doxyfile 1.9.3 +# Doxyfile 1.9.5 @INCLUDE = Doxyfile -#--------------------------------------------------------------------------- -# Configuration options related to the input files -#--------------------------------------------------------------------------- - -ENABLED_SECTIONS += CERT +ENABLED_SECTIONS += CERT LATEX +GENERATE_LATEX = YES HTML_OUTPUT = ../cert-pack - +LATEX_OUTPUT = ../cert-latex diff --git a/doxygen/Doxyfile-CHM b/doxygen/Doxyfile-CHM index 0065b281..3755a354 100644 --- a/doxygen/Doxyfile-CHM +++ b/doxygen/Doxyfile-CHM @@ -1,4 +1,4 @@ -# Doxyfile 1.9.3 +# Doxyfile 1.9.4 @INCLUDE = Doxyfile diff --git a/doxygen/Doxyfile-LATEX b/doxygen/Doxyfile-LATEX new file mode 100644 index 00000000..483336c9 --- /dev/null +++ b/doxygen/Doxyfile-LATEX @@ -0,0 +1,7 @@ +# Doxyfile 1.9.5 + +@INCLUDE = Doxyfile + +GENERATE_HTML = NO +GENERATE_LATEX = YES +ENABLED_SECTIONS += LATEX diff --git a/doxygen/exa_rtos.dox b/doxygen/exa_rtos.dox index b9c2f1e9..d1e3cf31 100644 --- a/doxygen/exa_rtos.dox +++ b/doxygen/exa_rtos.dox @@ -343,47 +343,76 @@ The QP/C++ examples for Zephyr are as follows: /*##########################################################################*/ /*! @page zephyr_blinky Blinky -Blinks an on-board LED once per second. +The "Blinky" example blinks an on-board LED once per second. The blinking is done by an Active Object (Blinky) with a state machine. The example directory contains the following files: + +@verbatim +/examples/zephyr/blinky + | + +-src/ - project sources + | | + | +-bsp.hpp + | +-bsp.cpp + | +-blinky.hpp + | +-blinky.cpp + | +-main.cpp + | + +-CMakeLists.txt - project files + +-prj.conf - project config + +-README.md +@endverbatim -The blinking is done by an Active Object (Blinky) with a state machine. @section zephyr_blinky-build Building and Running - Linux: -Open a terminal in the blinky directory. @verbatim -source ~/zephyrproject/zephyr/zephyr-env.sh +[1] cd /examples/zephyr/blinky -west build -b +[2] source ~/zephyrproject/zephyr/zephyr-env.sh -west flush +[3] west build -b +[3a] west build -b nucleo_h743zi +[3b] west build -b nucleo_l053r8 +... + +[4] west flush @endverbatim +`[1]` Open a terminal in the Blinky example directory.
+`[2]` If Zephyr project is not in your path, you might need to source the `zephyr-env.sh` shell script.
+`[3]` build the example project, where `` is any of the boards supported by Zepyr. The example has been tested with the following boards:
+`[3a]` nucleo_h743zi (ARM Cortex-M7)
+`[3b]` nucleo_l053r8 (ARM Cortex-M0+)
+`[4]` flash the board + +@remark +The example has been tested with the following boards: + +![STM32-NUCLEO-L053R8 board](bd_NUCLEO-L053R8.jpg) + +
+ +![STM32-NUCLEO-H743ZI board](bd_NUCLEO-H743ZI.jpg) + + +@note +The example should also work with most boards supported by Zephyr. + + @section zephyr_blinky-output Sample Output Once flashed to the board, the application also produces ASCII output to the serial terminal (if supported by the board): @verbatim *** Booting Zephyr OS build v2.6.0-rc2-88-g3d39f72a88b3 *** -BSP_ledOff -QF_onStartup -BSP_ledOn -BSP_ledOff -BSP_ledOn -BSP_ledOff +BSP::ledOff +QF::onStartup +BSP::ledOn +BSP::ledOff +BSP::ledOn +BSP::ledOff @endverbatim -@note -The example has been tested with the following boards: - -![STM32-NUCLEO-L053R8 board](bd_NUCLEO-L053R8.jpg) -
- -![STM32-NUCLEO-H743ZI board](bd_NUCLEO-H743ZI.jpg) - -@note -The example should also work with most boards supported by Zephyr. - @section zephyr_blinky-limits Limitations The simple Blinky example does not support the QS software tracing. @@ -394,19 +423,61 @@ The simple Blinky example does not support the QS software tracing. DPP example with multiple active objects. +@verbatim +/examples/zephyr/dpp + | + +-src/ - project sources + | | + | +-bsp.hpp + | +-bsp.cpp + | +-dpp.hpp + | +-philo.cpp + | +-table.cpp + | +-main.cpp + | + +-CMakeLists.txt - project files + +-prj.conf - project config + +-README.md +@endverbatim + @section zephyr_dpp-build Building and Running - Linux: -Open a terminal in the dpp directory. @verbatim -source ~/zephyrproject/zephyr/zephyr-env.sh +[1] cd /examples/zephyr/dpp -west build -b +[2] source ~/zephyrproject/zephyr/zephyr-env.sh -west flush +[3] west build -b +[3a] west build -b nucleo_h743zi +[3b] west build -b nucleo_l053r8 +... + +[4] west flush @endverbatim +`[1]` Open a terminal in the DPP example directory.
+`[2]` If Zephyr project is not in your path, you might need to source the `zephyr-env.sh` shell script.
+`[3]` build the example project, where `` is any of the boards supported by Zepyr. The example has been tested with the following boards:
+`[3a]` nucleo_h743zi (ARM Cortex-M7)
+`[3b]` nucleo_l053r8 (ARM Cortex-M0+)
+`[4]` flash the board + +@remark +The example has been tested with the following boards: + +![STM32-NUCLEO-L053R8 board](bd_NUCLEO-L053R8.jpg) + +
+ +![STM32-NUCLEO-H743ZI board](bd_NUCLEO-H743ZI.jpg) + + +@note +The example should also work with most boards supported by Zephyr. + + @section zephyr_dpp-output Sample Output Once flashed to the board, the application also produces ASCII output to the serial terminal (if supported by the board): @@ -435,20 +506,118 @@ Philo[2]->eating Philo[0]->thinking @endverbatim -@note -The example has been tested with the following boards: -![STM32-NUCLEO-L053R8 board](bd_NUCLEO-L053R8.jpg) -
+@section zephyr_dpp-qpspy Using the QP/SPY Software Tracing +The @ref zephyr "QP/C Zephyr port" supports the +[QSPY Software Tracing](https://www.state-machine.com/qtools/qpspy.html) +option and will add the appropriate macros and files to build the "QSPY" +configuration. -![STM32-NUCLEO-H743ZI board](bd_NUCLEO-H743ZI.jpg) +If you wish to enable "QSPY" you can provide the option "QSPY" +in the command-line for the build. For example: + +@verbatim +west build -b nucleo_h743zi -- -DQSPY=ON +@endverbatim @note -The example should also work with most boards supported by Zephyr. +The QP/Spy software tracing uses the Zephyr's console UART. This means that the Zephyr `printk()` facility cannot be used while QP/Spy is configured. -@section zephyr_dpp-limits Limitations -The DPP example currently does not support the QS software tracing, -because implementation of the QS output over UART is board dependent. However, for a specific board, re-implementing the QS callbacks should be straightforward. + +If yo have built the example with QP/Spy, you might want to watch the QP/Spy output. + + +@section zephyr_dpp-qspy The QSPY Host Utility +To receive the QP/Spy software tracing output you need to run a special [qspy host application](https://www.state-machine.com/qtools/qspy.html). + +@note +You might need to build the `qspy` host utility on your Linux machine. The QSPY utility is available in +[QTools collection](https://github.com/QuantumLeaps/qtools/tree/master/qspy). + + +To launch the `qspy` host utility, open a separate terminal and run +@verbatim +qspy -c +``` +specific example: +``` +qspy -c /dev/ttyACM0 +@endverbatim + + +@subsection @section zephyr_dpp-qs-output QSPY Output Example +After resetting the board, you should see output similar to the following: +@verbatim +########## Trg-RST QP-Ver=701,Build=220810_150847 + Obj-Dict 0x20003154->QS_RX + Obj-Dict 0x20000680->AO_Table + Obj-Dict 0x20000180->AO_Philo[0] + Obj-Dict 0x20000280->AO_Philo[1] + Obj-Dict 0x20000380->AO_Philo[2] + Obj-Dict 0x20000480->AO_Philo[3] + Obj-Dict 0x20000580->AO_Philo[4] + Obj-Dict 0x0000A52C->timerID + Usr-Dict 00000100->PHILO_STAT + Usr-Dict 00000101->PAUSED_STAT + Usr-Dict 00000102->COMMAND_STAT + Usr-Dict 00000103->CONTEXT_SW + Obj-Dict 0x20003054->EvtPool1 + Obj-Dict 0x20000180->Philo::inst[0] + Obj-Dict 0x2000026C->Philo::inst[0].m_timeEvt + Obj-Dict 0x20000280->Philo::inst[1] + Obj-Dict 0x2000036C->Philo::inst[1].m_timeEvt + Obj-Dict 0x20000380->Philo::inst[2] + Obj-Dict 0x2000046C->Philo::inst[2].m_timeEvt + Obj-Dict 0x20000480->Philo::inst[3] + Obj-Dict 0x2000056C->Philo::inst[3].m_timeEvt + Obj-Dict 0x20000580->Philo::inst[4] + Obj-Dict 0x2000066C->Philo::inst[4].m_timeEvt + Fun-Dict 0x00008929->Philo::initial + Fun-Dict 0x0000890F->Philo::thinking + Fun-Dict 0x00008917->Philo::hungry + Fun-Dict 0x0000891F->Philo::eating + Sig-Dict 00000004,Obj=0x00000000->TIMEOUT_SIG +0000000327 AO-Subsc Obj=Philo::inst[0],Sig=00000005,Obj=0x20000180 +0000000327 AO-Subsc Obj=Philo::inst[0],Sig=00000009,Obj=0x20000180 +===RTC===> St-Init Obj=Philo::inst[0],State=0x00009B1B->Philo::thinking +===RTC===> St-Entry Obj=Philo::inst[0],State=Philo::thinking +0000000328 Init===> Obj=Philo::inst[0],State=Philo::thinking +0000000334 AO-Subsc Obj=Philo::inst[1],Sig=00000005,Obj=0x20000280 +0000000334 AO-Subsc Obj=Philo::inst[1],Sig=00000009,Obj=0x20000280 +===RTC===> St-Init Obj=Philo::inst[1],State=0x00009B1B->Philo::thinking +===RTC===> St-Entry Obj=Philo::inst[1],State=Philo::thinking +0000000334 Init===> Obj=Philo::inst[1],State=Philo::thinking +0000000340 AO-Subsc Obj=Philo::inst[2],Sig=00000005,Obj=0x20000380 +0000000340 AO-Subsc Obj=Philo::inst[2],Sig=00000009,Obj=0x20000380 +===RTC===> St-Init Obj=Philo::inst[2],State=0x00009B1B->Philo::thinking +===RTC===> St-Entry Obj=Philo::inst[2],State=Philo::thinking +0000000340 Init===> Obj=Philo::inst[2],State=Philo::thinking +0000000346 AO-Subsc Obj=Philo::inst[3],Sig=00000005,Obj=0x20000480 +0000000346 AO-Subsc Obj=Philo::inst[3],Sig=00000009,Obj=0x20000480 +===RTC===> St-Init Obj=Philo::inst[3],State=0x00009B1B->Philo::thinking +===RTC===> St-Entry Obj=Philo::inst[3],State=Philo::thinking +0000000346 Init===> Obj=Philo::inst[3],State=Philo::thinking +0000000352 AO-Subsc Obj=Philo::inst[4],Sig=00000005,Obj=0x20000580 +0000000352 AO-Subsc Obj=Philo::inst[4],Sig=00000009,Obj=0x20000580 +===RTC===> St-Init Obj=Philo::inst[4],State=0x00009B1B->Philo::thinking +===RTC===> St-Entry Obj=Philo::inst[4],State=Philo::thinking +0000000352 Init===> Obj=Philo::inst[4],State=Philo::thinking + Obj-Dict 0x20000680->Table::inst + Sig-Dict 00000006,Obj=0x00000000->DONE_SIG + Sig-Dict 00000005,Obj=0x00000000->EAT_SIG + Sig-Dict 00000007,Obj=0x00000000->PAUSE_SIG + Sig-Dict 00000008,Obj=0x00000000->SERVE_SIG + Sig-Dict 00000009,Obj=0x00000000->TEST_SIG + Sig-Dict 00000011,Obj=0x20000680->HUNGRY_SIG +0000000370 AO-Subsc Obj=Table::inst,Sig=DONE_SIG +0000000370 AO-Subsc Obj=Table::inst,Sig=PAUSE_SIG +0000000370 AO-Subsc Obj=Table::inst,Sig=SERVE_SIG +0000000371 AO-Subsc Obj=Table::inst,Sig=TEST_SIG +0000000371 PHILO_STAT 0 thinking +0000000371 PHILO_STAT 1 thinking +0000000371 PHILO_STAT 2 thinking +0000000371 PHILO_STAT 3 thinking +@endverbatim @next{exa_os} */ diff --git a/doxygen/main.dox b/doxygen/main.dox index 1bc5875f..503500f3 100644 --- a/doxygen/main.dox +++ b/doxygen/main.dox @@ -8,20 +8,15 @@ To check what's new in QP™/C++, please see @ref history "QP/C++ Revision H @section over_about What is it? -QP™/C++ Real-Time Embedded Framework (RTEF) is a lightweight implementation of the @webref{active-object, Active Object model of computation} specifically tailored for real-time embedded (RTE) systems. QP is both a software infrastructure for building applications consisting of Active Objects (actors) and a runtime environment for executing the Active Objects in a deterministic fashion. Additionally, QP Framework supports @webref{fsm#HSM, Hierarchical State Machines} with which to specify the behavior of Active Objects @ref srs_ref "[ROOM:94], [UML 2.5],[Sutter:10]". - -@note - -The @webref{products/qp#CERT,QP Certification Pack} provides: -- @ref srs_over "Software Requirements Specification" with a good overview of the QP/C++ Framework -- @ref sas_core "Software Architecture Specification" with concise description of QP/C++ architecture -- @ref sds "Software Design Specification" with detailed description of the QP/C++ design. +QP™/C++ Real-Time Embedded Framework (RTEF) is a lightweight implementation of the @webref{active-object, Active Object model of computation} specifically tailored for real-time embedded (RTE) systems. QP is both a *software infrastructure* for building applications consisting of active objects (actors) and a *runtime environment* for executing the active objects in a deterministic fashion. Additionally, QP Framework supports @webref{fsm#HSM, Hierarchical State Machines} with which to specify the behavior of Active Objects @ref srs_ref "[ROOM:94], [UML 2.5],[Sutter:10]". You can think of the QP/C RTEF as a modern, truly *event-driven* real-time operating system (RTOS). @section over_goals What does it do? The main objectives of the QP/C++ RTEF are: -- to provide a modern, event-driven model of concurrency based on the best practices of concurrent programming @ref srs_ref "[ROOM:94], [Cummings:10], [Sutter:10]", collectively known as the @webref{active-object, Active Object (Actor) model of computation}, which is inherently *safer* than the traditional "shared-state concurrency, mutual-exclusion, and blocking" approach based on a conventional Real-Time Operating System (RTOS); +- to provide a modern, event-driven model of concurrency based on the best practices of concurrent programming collectively known as the @webref{active-object, Active Object (Actor) model of computation}, which is inherently *safer* than the traditional "shared-state concurrency, mutual-exclusion, and blocking" approach based on a conventional Real-Time Operating System (RTOS); + +- to provide an efficient, @ref tr "bidirectionally traceable" implementation of @webref{fsm#HSM, Hierarchical State Machines} for specifying the internal behavior of Active Objects; - to provide a *higher-level of abstraction* closer to the problem domain than the "naked" RTOS threads; @@ -31,7 +26,10 @@ The main objectives of the QP/C++ RTEF are: @section over_special What's special about it? -The QP™/C++ Real-Time Embedded Framework (RTEF) is a unique offering on the embedded software market. It provides a modern, reusable **architecture** of embedded applications, which combines object-orientation with the particular model of concurrency, known as @webref{active-object, active objects} (actors). This architecture is generally **safer**, more responsive and easier to understand than "free threading" with a traditional Real-Time Operating System (RTOS). It also provides sufficiently high level of abstraction and the right abstractions to effectively apply modeling and code generation to deeply embedded systems. +The QP™/C++ Real-Time Embedded Framework (RTEF) provides a modern, reusable **architecture** of embedded applications, which combines the model of concurrency, known as @webref{active-object, active objects} (actors) with @webref{fsm#HSM, Hierarchical State Machines}. This architecture is generally **safer**, more responsive and easier to understand than "free threading" with a traditional Real-Time Operating System (RTOS). It also provides sufficiently high level of abstraction and the *right* abstractions to effectively apply modeling and code generation to deeply embedded systems. + +@note +The most unique aspect of the QP™/C++ RTEF is its @ref over_eff "tiny size and efficiency" suitable for embedded microcontrollers, such as MCUs based on ARM Cortex-M. @subsection over_oop Object Orientation @@ -46,7 +44,7 @@ The behavior of active objects is specified in QP™/C++ by means of @webref The QP™/C++ framework can run on @ref exa_native "bare-metal single-chip microcontrollers", completely replacing a traditional RTOS. The framework contains a selection of built-in real-time kernels, such as the cooperative @ref srs_qv "QV kernel", the preemptive non-blocking @ref srs_qk "QK kernel", and the preemptive, dual-mode, blocking @ref srs_qxk "QXK kernel". The QXK kernel provides all the features you might expect from a traditional RTOS kernel and has been specifically designed for mixing event-driven active objects with traditional blocking code, such as commercial middleware (TCP/IP stacks, UDP stacks, embedded file systems, etc.) or legacy software. @ref ports_native "Native QP ports" and ready-to-use @ref exa_native "examples" are provided for major @ref exa_ref_mcu "CPU families". -@subsection over_eff Efficiency +@subsection over_eff Size and Efficiency Even though QP™/C++ offers much higher level of abstraction than a traditional RTOS, it typically outperforms equivalent traditional RTOS offerings both in RAM/ROM footprint and in CPU efficiency. The specific measurements and results are reported in the following @webref{doc/AN_QP_Performance.pdf, Application Note: "QP Performance Tests and Results"}: [![Application Note: "QP Performance Tests and Results"](an-qp_performance.png)](https://www.state-machine.com/doc/AN_QP_Performance.pdf) @@ -57,7 +55,7 @@ The QP Framework is simple to get started, simple to use and simple to build. Th @subsection over_inter Interoperability -QP™/C++ can also work with many traditional @ref exa_rtos "RTOSes" and @ref exa_os "general-purpose OSes" (such as Linux and Windows). +QP™/C++ can also work with many traditional @ref exa_rtos "RTOSes" and @ref exa_os "general-purpose operating systems (GPOSes)" (such as Linux and Windows). @subsection over_trace Traceability diff --git a/doxygen/make-rsm.bat b/doxygen/make-rsm.bat index 2a226068..6d65be0a 100644 --- a/doxygen/make-rsm.bat +++ b/doxygen/make-rsm.bat @@ -42,7 +42,7 @@ @set DOXHOME="C:\tools\doxygen\bin" -:: Generate Resource Standard Metrics for QP/C++ ............................. +:: Generate Resource Standard Metrics for QP/C++ ............................. @set RCMHOME="C:\tools\MSquared\M2 RSM" @set RSM_OUTPUT=metrics.dox @@ -58,11 +58,11 @@ @echo @endcode >> %RSM_OUTPUT% @echo */ >> %RSM_OUTPUT% -:: Generate Doxygen Documentation ........................................... +:: Generate Doxygen Documentation ........................................... if "%1"=="-CHM" ( @echo Generating HTML... %DOXHOME%\doxygen.exe Doxyfile-CHM - + @echo Adding custom images... xcopy preview.js tmp\ xcopy img tmp\img\ @@ -70,7 +70,7 @@ if "%1"=="-CHM" ( @echo Generating CHM... "C:\tools\HTML Help Workshop\hhc.exe" tmp\index.hhp - + @echo. @echo Cleanup... @rmdir /S /Q tmp @@ -80,7 +80,7 @@ if "%1"=="-CHM" ( @echo. @echo Cleanup... rmdir /S /Q C:\qp_lab\qpcpp\html - + echo Adding custom images... xcopy preview.js C:\qp_lab\qpcpp\html\ xcopy img C:\qp_lab\qpcpp\html\img\ diff --git a/doxygen/make.bat b/doxygen/make.bat index 9d179e49..01d6b27d 100644 --- a/doxygen/make.bat +++ b/doxygen/make.bat @@ -28,42 +28,46 @@ @echo usage: @echo make @echo make -CHM -@echo make ... +@echo make -CERT +@echo make -LATEX -:: Doxygen tool (adjust to your system) ...................................... +:: tools (adjust to your system)--------------------------------------------- +:: Doxygen tool @set DOXYGEN=doxygen -:: HTML Help tool (needed only with the -CHM option, (adjust to your system) . +:: Simple complexity metrics tool (adjust to your system) +@set METRICS=lizard -m -L500 -a10 -C20 -V + +:: HTML Help tool (needed only with the -CHM option) . @set HHC="C:\tools\HTML Help Workshop\hhc.exe" -:: Simple complexity metrics tool (adjust to your system) ................... -@set LIZARD=lizard +:: QP directory ............................................................. +@set QP=.. -:: QP/C++ directory .......................................................... -@set QPCPP=.. - -:: HTML outut directory ...................................................... -@set HTML_OUT=%QPCPP%\html -if "%1"=="-CERT" ( - @set HTML_OUT=%QPCPP%\cert-pack +:: Outut directories ........................................................ +@set HTML_OUT=%QP%\html +IF "%1"=="-CERT" ( + @set HTML_OUT=%QP%\cert-pack ) +@set LATEX_OUT=%QP%\latex -:: Generate metrics.dox file... -@set METRICS_INP=%QPCPP%\include %QPCPP%\src -x %QPCPP%\src\qs\* +:: Generate metrics.dox file------------------------------------------------- +@set METRICS_INP=%QP%\include %QP%\src -x %QP%\src\qs\* @set METRICS_OUT=metrics.dox @echo /** @defgroup metrics Code Metrics> %METRICS_OUT% @echo.>> %METRICS_OUT% @echo @code{.cpp}>> %METRICS_OUT% -@echo QP/C++ Code Metrics >> %METRICS_OUT% +@echo Code Metrics >> %METRICS_OUT% -%LIZARD% -m -L500 -a10 -C20 -V %METRICS_INP% >> %METRICS_OUT% +%METRICS% %METRICS_INP% >> %METRICS_OUT% @echo @endcode>> %METRICS_OUT% -@echo */ >> %METRICS_OUT% +@echo */>> %METRICS_OUT% -:: Generate Doxygen Documentation... +:: Generate Doxygen Documentation ------------------------------------------- if "%1"=="-CHM" ( + @echo Generating HTML... %DOXYGEN% Doxyfile-CHM @@ -79,7 +83,24 @@ if "%1"=="-CHM" ( @rmdir /S /Q tmp @echo CHM file generated +) else if "%1"=="-LATEX" ( + + @echo. + @echo Cleanup... + rmdir /S /Q %LATEX_OUT% + + @echo Generating LATEX... + %DOXYGEN% Doxyfile-LATEX + + @echo Adding custom files... + xcopy img %LATEX_OUT%\img\ + + @echo TODO... + @echo cd ..\latex + @echo make.bat + ) else ( + @echo. @echo Cleanup... rmdir /S /Q %HTML_OUT% @@ -87,7 +108,7 @@ if "%1"=="-CHM" ( @echo Generating HTML... %DOXYGEN% Doxyfile%1 - @echo Adding custom images... + @echo Adding custom files... xcopy img %HTML_OUT%\img\ xcopy /Y ..\..\ql-doxygen\jquery.js %HTML_OUT% rem @qclean %HTML_OUT% diff --git a/doxygen/metrics.dox b/doxygen/metrics.dox index 1d4587e9..d80f2e08 100644 --- a/doxygen/metrics.dox +++ b/doxygen/metrics.dox @@ -1,7 +1,7 @@ /** @defgroup metrics Code Metrics @code{.cpp} - QP/C++ Code Metrics + Code Metrics ================================================ NLOC CCN token PARAM length location ------------------------------------------------ diff --git a/doxygen/rsm_qpcpp.cfg b/doxygen/rsm_qpcpp.cfg index 20b6d6e3..8fbe5eec 100644 --- a/doxygen/rsm_qpcpp.cfg +++ b/doxygen/rsm_qpcpp.cfg @@ -87,7 +87,7 @@ C# File Extensions : cs Java File Extensions : java # Other files are not officially supported by RSM # but lines will be counted as LOC -Other File Extensions : +Other File Extensions : # When analyzing *.h files, treat header files as # both C and C++. If you use separate extensions for C++ and @@ -136,7 +136,7 @@ Wrap long names in reports : Yes # are to be created. The path must be a location with write # permissions. RSM will create work files in the current # directory if no path is specified. -Work file location path : +Work file location path : # When processing code line differentials, ignore # blank line changes in the code. @@ -261,7 +261,7 @@ Maximum Function Name Length : 32 # Emit a quality notice when a file does not contain # the specified key string. Quality Notice 21 : No -RSM KEY String : +RSM KEY String : # RSM Quality Notices For Stability and Maintainability ################ @@ -492,13 +492,13 @@ Min. Class/Struct LOC content analysis : 10 # or interface white space percentage is less than # the specified minimum. Quality Notice 16 : Yes -Minimum Function Whitespace Percent : 10.00 +Minimum Function Whitespace Percent : 10.00 # Quality Notice No. 17 # Emit a quality notice when function comment line # percentage is less than the specified minimum. Quality Notice 17 : No -Minimum Function Comment Line Percent : 10.00 +Minimum Function Comment Line Percent : 10.00 # Quality Notice No. 18 # Emit a quality notice when the eLOC within a @@ -517,14 +517,14 @@ Minimum Function lLOC : 0 # Emit a quality notice when class/struct comment line # percentage is less than the specified minimum. Quality Notice 31 : Yes -Minimum Class/Struct Comment Percent : 10.00 +Minimum Class/Struct Comment Percent : 10.00 # Quality Notice No. 46 # Emit a quality notice when function, struct, class # or interface blank line percentage is less than the # specified minimum. Quality Notice 46 : No -Minimum Function Blank Line Percent : 10.00 +Minimum Function Blank Line Percent : 10.00 # Quality Notice No. 51 # Emit a quality notice when a function @@ -553,20 +553,20 @@ Quality Notice 54 : Yes # percentage is less than the specified minimum. # Consider setting Notice 30 to No. Quality Notice 19 : Yes -Minimum File Whitespace Percent : 10.00 +Minimum File Whitespace Percent : 10.00 A TAB is equivalent to n space : 2 # Quality Notice No. 20 # Emit a quality notice when file comment line # percentage is less than the specified minimum. Quality Notice 20 : Yes -Minimum File Comment Line Percent : 10.00 +Minimum File Comment Line Percent : 10.00 # Quality Notice No. 47 # Emit a quality notice when file blank line # percentage is less than the specified minimum. Quality Notice 47 : No -Minimum File Blank Line Percent : 10.00 +Minimum File Blank Line Percent : 10.00 # Quality Notice No. 57 # Emit a quality notice when RSM skip lines conditions diff --git a/examples/arm-cm/blinky_efm32-slstk3401a/qk/gnu/flash.bat b/examples/arm-cm/blinky_efm32-slstk3401a/qk/gnu/flash.bat index 0ca15c72..23215d0b 100644 --- a/examples/arm-cm/blinky_efm32-slstk3401a/qk/gnu/flash.bat +++ b/examples/arm-cm/blinky_efm32-slstk3401a/qk/gnu/flash.bat @@ -1,13 +1,13 @@ ::============================================================================ :: Batch file to program the flash of EFM32-SLSTK3401A board -:: +:: :: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see: :: https://www.segger.com/j-link-commander.html -:: +:: setlocal @echo off -@echo Load a given binary file to the flash of EFM32-SLSTK3401A +@echo Load a given binary file to the flash of EFM32-SLSTK3401A @echo usage: flash bin-file @echo example: flash dbg\blinky-qk.bin @@ -17,7 +17,7 @@ setlocal :: if [%JLINK%] EQU [] set JLINK=%QTOOLS%\..\JLink if not exist "%JLINK%\JLink.exe" ( - @echo The JLink tool not found. Please adjust flash.bat + @echo The JLink tool not found. Please adjust flash.bat @goto end ) diff --git a/examples/arm-cm/blinky_efm32-slstk3401a/qk/iar/blinky-qk.icf b/examples/arm-cm/blinky_efm32-slstk3401a/qk/iar/blinky-qk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/blinky_efm32-slstk3401a/qk/iar/blinky-qk.icf +++ b/examples/arm-cm/blinky_efm32-slstk3401a/qk/iar/blinky-qk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/blinky_efm32-slstk3401a/qv/gnu/flash.bat b/examples/arm-cm/blinky_efm32-slstk3401a/qv/gnu/flash.bat index 0ca15c72..23215d0b 100644 --- a/examples/arm-cm/blinky_efm32-slstk3401a/qv/gnu/flash.bat +++ b/examples/arm-cm/blinky_efm32-slstk3401a/qv/gnu/flash.bat @@ -1,13 +1,13 @@ ::============================================================================ :: Batch file to program the flash of EFM32-SLSTK3401A board -:: +:: :: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see: :: https://www.segger.com/j-link-commander.html -:: +:: setlocal @echo off -@echo Load a given binary file to the flash of EFM32-SLSTK3401A +@echo Load a given binary file to the flash of EFM32-SLSTK3401A @echo usage: flash bin-file @echo example: flash dbg\blinky-qk.bin @@ -17,7 +17,7 @@ setlocal :: if [%JLINK%] EQU [] set JLINK=%QTOOLS%\..\JLink if not exist "%JLINK%\JLink.exe" ( - @echo The JLink tool not found. Please adjust flash.bat + @echo The JLink tool not found. Please adjust flash.bat @goto end ) diff --git a/examples/arm-cm/blinky_efm32-slstk3401a/qv/iar/blinky-qv.icf b/examples/arm-cm/blinky_efm32-slstk3401a/qv/iar/blinky-qv.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/blinky_efm32-slstk3401a/qv/iar/blinky-qv.icf +++ b/examples/arm-cm/blinky_efm32-slstk3401a/qv/iar/blinky-qv.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/flash.bat b/examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/flash.bat +++ b/examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/arm-cm/blinky_ek-tm4c123gxl/qk/iar/blinky-qk.icf b/examples/arm-cm/blinky_ek-tm4c123gxl/qk/iar/blinky-qk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/blinky_ek-tm4c123gxl/qk/iar/blinky-qk.icf +++ b/examples/arm-cm/blinky_ek-tm4c123gxl/qk/iar/blinky-qk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/flash.bat b/examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/flash.bat +++ b/examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/arm-cm/blinky_ek-tm4c123gxl/qv/iar/blinky-qv.icf b/examples/arm-cm/blinky_ek-tm4c123gxl/qv/iar/blinky-qv.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/blinky_ek-tm4c123gxl/qv/iar/blinky-qv.icf +++ b/examples/arm-cm/blinky_ek-tm4c123gxl/qv/iar/blinky-qv.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/dpp_efm32-slstk3401a/qk/gnu/flash.bat b/examples/arm-cm/dpp_efm32-slstk3401a/qk/gnu/flash.bat index 0ca15c72..23215d0b 100644 --- a/examples/arm-cm/dpp_efm32-slstk3401a/qk/gnu/flash.bat +++ b/examples/arm-cm/dpp_efm32-slstk3401a/qk/gnu/flash.bat @@ -1,13 +1,13 @@ ::============================================================================ :: Batch file to program the flash of EFM32-SLSTK3401A board -:: +:: :: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see: :: https://www.segger.com/j-link-commander.html -:: +:: setlocal @echo off -@echo Load a given binary file to the flash of EFM32-SLSTK3401A +@echo Load a given binary file to the flash of EFM32-SLSTK3401A @echo usage: flash bin-file @echo example: flash dbg\blinky-qk.bin @@ -17,7 +17,7 @@ setlocal :: if [%JLINK%] EQU [] set JLINK=%QTOOLS%\..\JLink if not exist "%JLINK%\JLink.exe" ( - @echo The JLink tool not found. Please adjust flash.bat + @echo The JLink tool not found. Please adjust flash.bat @goto end ) diff --git a/examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/dpp-qk.icf b/examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/dpp-qk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/dpp-qk.icf +++ b/examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/dpp-qk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/dpp_efm32-slstk3401a/qv/gnu/flash.bat b/examples/arm-cm/dpp_efm32-slstk3401a/qv/gnu/flash.bat index 0ca15c72..23215d0b 100644 --- a/examples/arm-cm/dpp_efm32-slstk3401a/qv/gnu/flash.bat +++ b/examples/arm-cm/dpp_efm32-slstk3401a/qv/gnu/flash.bat @@ -1,13 +1,13 @@ ::============================================================================ :: Batch file to program the flash of EFM32-SLSTK3401A board -:: +:: :: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see: :: https://www.segger.com/j-link-commander.html -:: +:: setlocal @echo off -@echo Load a given binary file to the flash of EFM32-SLSTK3401A +@echo Load a given binary file to the flash of EFM32-SLSTK3401A @echo usage: flash bin-file @echo example: flash dbg\blinky-qk.bin @@ -17,7 +17,7 @@ setlocal :: if [%JLINK%] EQU [] set JLINK=%QTOOLS%\..\JLink if not exist "%JLINK%\JLink.exe" ( - @echo The JLink tool not found. Please adjust flash.bat + @echo The JLink tool not found. Please adjust flash.bat @goto end ) diff --git a/examples/arm-cm/dpp_efm32-slstk3401a/qv/iar/dpp-qv.icf b/examples/arm-cm/dpp_efm32-slstk3401a/qv/iar/dpp-qv.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/dpp_efm32-slstk3401a/qv/iar/dpp-qv.icf +++ b/examples/arm-cm/dpp_efm32-slstk3401a/qv/iar/dpp-qv.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/dpp_efm32-slstk3401a/qview/qview-dpp.lnk b/examples/arm-cm/dpp_efm32-slstk3401a/qview/qview-dpp.lnk deleted file mode 100644 index e5e45279..00000000 Binary files a/examples/arm-cm/dpp_efm32-slstk3401a/qview/qview-dpp.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_efm32-slstk3401a/qview/qview-dpp1.lnk b/examples/arm-cm/dpp_efm32-slstk3401a/qview/qview-dpp1.lnk deleted file mode 100644 index 60283bc8..00000000 Binary files a/examples/arm-cm/dpp_efm32-slstk3401a/qview/qview-dpp1.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_efm32-slstk3401a/qxk/gnu/flash.bat b/examples/arm-cm/dpp_efm32-slstk3401a/qxk/gnu/flash.bat index 0ca15c72..23215d0b 100644 --- a/examples/arm-cm/dpp_efm32-slstk3401a/qxk/gnu/flash.bat +++ b/examples/arm-cm/dpp_efm32-slstk3401a/qxk/gnu/flash.bat @@ -1,13 +1,13 @@ ::============================================================================ :: Batch file to program the flash of EFM32-SLSTK3401A board -:: +:: :: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see: :: https://www.segger.com/j-link-commander.html -:: +:: setlocal @echo off -@echo Load a given binary file to the flash of EFM32-SLSTK3401A +@echo Load a given binary file to the flash of EFM32-SLSTK3401A @echo usage: flash bin-file @echo example: flash dbg\blinky-qk.bin @@ -17,7 +17,7 @@ setlocal :: if [%JLINK%] EQU [] set JLINK=%QTOOLS%\..\JLink if not exist "%JLINK%\JLink.exe" ( - @echo The JLink tool not found. Please adjust flash.bat + @echo The JLink tool not found. Please adjust flash.bat @goto end ) diff --git a/examples/arm-cm/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.icf b/examples/arm-cm/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.icf +++ b/examples/arm-cm/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/flash.bat b/examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/flash.bat +++ b/examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu_with-stack-prot/flash.bat b/examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu_with-stack-prot/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu_with-stack-prot/flash.bat +++ b/examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu_with-stack-prot/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/arm-cm/dpp_ek-tm4c123gxl/qk/iar/dpp-qk.icf b/examples/arm-cm/dpp_ek-tm4c123gxl/qk/iar/dpp-qk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/dpp_ek-tm4c123gxl/qk/iar/dpp-qk.icf +++ b/examples/arm-cm/dpp_ek-tm4c123gxl/qk/iar/dpp-qk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/flash.bat b/examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/flash.bat +++ b/examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/arm-cm/dpp_ek-tm4c123gxl/qv/iar/dpp-qv.icf b/examples/arm-cm/dpp_ek-tm4c123gxl/qv/iar/dpp-qv.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/dpp_ek-tm4c123gxl/qv/iar/dpp-qv.icf +++ b/examples/arm-cm/dpp_ek-tm4c123gxl/qv/iar/dpp-qv.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/dpp_ek-tm4c123gxl/qview/qview-dpp.lnk b/examples/arm-cm/dpp_ek-tm4c123gxl/qview/qview-dpp.lnk deleted file mode 100644 index 8c2ea1c4..00000000 Binary files a/examples/arm-cm/dpp_ek-tm4c123gxl/qview/qview-dpp.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_ek-tm4c123gxl/qview/qview-dpp1.lnk b/examples/arm-cm/dpp_ek-tm4c123gxl/qview/qview-dpp1.lnk deleted file mode 100644 index af5e5c22..00000000 Binary files a/examples/arm-cm/dpp_ek-tm4c123gxl/qview/qview-dpp1.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_ek-tm4c123gxl/qxk/gnu/flash.bat b/examples/arm-cm/dpp_ek-tm4c123gxl/qxk/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/arm-cm/dpp_ek-tm4c123gxl/qxk/gnu/flash.bat +++ b/examples/arm-cm/dpp_ek-tm4c123gxl/qxk/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/arm-cm/dpp_ek-tm4c123gxl/qxk/iar/dpp-qxk.icf b/examples/arm-cm/dpp_ek-tm4c123gxl/qxk/iar/dpp-qxk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/dpp_ek-tm4c123gxl/qxk/iar/dpp-qxk.icf +++ b/examples/arm-cm/dpp_ek-tm4c123gxl/qxk/iar/dpp-qxk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/dpp_mbed-lpc1768/qk/iar/dpp-qk.icf b/examples/arm-cm/dpp_mbed-lpc1768/qk/iar/dpp-qk.icf index e8a34c46..0b9e36c0 100644 --- a/examples/arm-cm/dpp_mbed-lpc1768/qk/iar/dpp-qk.icf +++ b/examples/arm-cm/dpp_mbed-lpc1768/qk/iar/dpp-qk.icf @@ -35,5 +35,5 @@ place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; place in RAM_region { readwrite, block CSTACK, block HEAP }; -place in CRP_region { section .crp }; -place in RAM1_region { section .sram }; \ No newline at end of file +place in CRP_region { section .crp }; +place in RAM1_region { section .sram }; \ No newline at end of file diff --git a/examples/arm-cm/dpp_mbed-lpc1768/qv/iar/dpp-qv.icf b/examples/arm-cm/dpp_mbed-lpc1768/qv/iar/dpp-qv.icf index e8a34c46..0b9e36c0 100644 --- a/examples/arm-cm/dpp_mbed-lpc1768/qv/iar/dpp-qv.icf +++ b/examples/arm-cm/dpp_mbed-lpc1768/qv/iar/dpp-qv.icf @@ -35,5 +35,5 @@ place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; place in RAM_region { readwrite, block CSTACK, block HEAP }; -place in CRP_region { section .crp }; -place in RAM1_region { section .sram }; \ No newline at end of file +place in CRP_region { section .crp }; +place in RAM1_region { section .sram }; \ No newline at end of file diff --git a/examples/arm-cm/dpp_nucleo-h743zi/qview/qview-dpp.lnk b/examples/arm-cm/dpp_nucleo-h743zi/qview/qview-dpp.lnk deleted file mode 100644 index 06d8efbf..00000000 Binary files a/examples/arm-cm/dpp_nucleo-h743zi/qview/qview-dpp.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_nucleo-h743zi/qview/qview-dpp1.lnk b/examples/arm-cm/dpp_nucleo-h743zi/qview/qview-dpp1.lnk deleted file mode 100644 index 38eb80b8..00000000 Binary files a/examples/arm-cm/dpp_nucleo-h743zi/qview/qview-dpp1.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_nucleo-l053r8/qview/qview-dpp.lnk b/examples/arm-cm/dpp_nucleo-l053r8/qview/qview-dpp.lnk deleted file mode 100644 index 0e556bfb..00000000 Binary files a/examples/arm-cm/dpp_nucleo-l053r8/qview/qview-dpp.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_nucleo-l053r8/qview/qview-dpp1.lnk b/examples/arm-cm/dpp_nucleo-l053r8/qview/qview-dpp1.lnk deleted file mode 100644 index 220356ee..00000000 Binary files a/examples/arm-cm/dpp_nucleo-l053r8/qview/qview-dpp1.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_nucleo-l152re/qspy200823_151436.seq b/examples/arm-cm/dpp_nucleo-l152re/qspy200823_151436.seq index 8bd22bcd..a8243508 100644 --- a/examples/arm-cm/dpp_nucleo-l152re/qspy200823_151436.seq +++ b/examples/arm-cm/dpp_nucleo-l152re/qspy200823_151436.seq @@ -3,11 +3,11 @@ +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ |l_SysTick_Handl| | Table::inst | |Philo::inst[0] | |Philo::inst[1] | |Philo::inst[2] | |Philo::inst[3] | |Philo::inst[4] | +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ -0000042339 . . . . * .SERVE_SIG. . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . +0000042339 . . . . * .SERVE_SIG. . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . 0000042896 *--SERVE_SIG------->| | | | | | 0001070723 *--TIMEOUT_SIG------+-------------------+-------------------+-------------------+-------------------+------------------>| 0001075362 | |<------------------+-------------------+-------------------+-------------------+-------HUNGRY_SIG--* -0001079065 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . +0001079065 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . 0001079975 | *--EAT_SIG----------+-------------------+-------------------+-------------------+------------------>| 0001080774 | *--EAT_SIG----------+-------------------+-------------------+------------------>| | 0001081583 | *--EAT_SIG----------+-------------------+------------------>| | | @@ -18,7 +18,7 @@ 0001762885 *--TIMEOUT_SIG------+------------------>| | | | | 0001767416 | |<------HUNGRY_SIG--* | | | | 0001772368 | | | | | | -0002097460 . . . . * .PAUSE_SIG. . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . +0002097460 . . . . * .PAUSE_SIG. . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . 0002098016 *--PAUSE_SIG------->| | | | | | 0002101049 | | | | | | 0002140275 *--TIMEOUT_SIG------+-------------------+-------------------+------------------>| | | @@ -31,21 +31,21 @@ 0003109447 | |<------------------+-------------------+-------------------+-------HUNGRY_SIG--* | 0003114370 | | | | | | 0005013277 *--TIMEOUT_SIG------+-------------------+-------------------+-------------------+-------------------+------------------>| -0005016745 . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . DONE_SIG. * . . . +0005016745 . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . DONE_SIG. * . . . 0005017655 | |<------------------+-------------------+-------------------+-------------------+---------DONE_SIG--* 0005025076 | | | | | | 0007760487 *--TIMEOUT_SIG------+-------------------+-------------------+-------------------+-------------------+------------------>| 0007764998 | |<------------------+-------------------+-------------------+-------------------+-------HUNGRY_SIG--* 0007769921 | | | | | | -0011827861 . . . . * .SERVE_SIG. . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . +0011827861 . . . . * .SERVE_SIG. . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . 0011828417 *--SERVE_SIG------->| | | | | | -0011832381 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . +0011832381 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . 0011833291 | *--EAT_SIG----------+-------------------+-------------------+-------------------+------------------>| 0011834089 | *--EAT_SIG----------+-------------------+-------------------+------------------>| | 0011834887 | *--EAT_SIG----------+-------------------+------------------>| | | 0011835685 | *--EAT_SIG----------+------------------>| | | | 0011836483 | *--EAT_SIG--------->| | | | | -0011839510 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . +0011839510 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . 0011840421 | *--EAT_SIG----------+-------------------+-------------------+-------------------+------------------>| 0011841199 | *--EAT_SIG----------+-------------------+-------------------+------------------>| | 0011841977 | *--EAT_SIG----------+-------------------+------------------>| | | @@ -55,9 +55,9 @@ 0011864225 | | | | | | 0011874191 | | | | | | 0015268086 *--TIMEOUT_SIG------+-------------------+-------------------+------------------>| | | -0015271590 . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . * .DONE_SIG . . . . | . . . . . . . . . | . . . +0015271590 . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . * .DONE_SIG . . . . | . . . . . . . . . | . . . 0015272500 | |<------------------+-------------------+---------DONE_SIG--* | | -0015276635 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . +0015276635 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . 0015277545 | *--EAT_SIG----------+-------------------+-------------------+-------------------+------------------>| 0015278343 | *--EAT_SIG----------+-------------------+-------------------+------------------>| | 0015279141 | *--EAT_SIG----------+-------------------+------------------>| | | @@ -66,9 +66,9 @@ 0015289641 | | | | | | 0015294035 | | | | | | 0015540732 *--TIMEOUT_SIG------+------------------>| | | | | -0015544272 . . . . | . . . . . . . . . | . . . . . . . . . * .DONE_SIG . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . +0015544272 . . . . | . . . . . . . . . | . . . . . . . . . * .DONE_SIG . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . 0015545182 | |<--------DONE_SIG--* | | | | -0015549317 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . +0015549317 . . . . | . . . . . . . . . * .EAT_SIG. . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . . . . . . . | . . . 0015550227 | *--EAT_SIG----------+-------------------+-------------------+-------------------+------------------>| 0015551025 | *--EAT_SIG----------+-------------------+-------------------+------------------>| | 0015551823 | *--EAT_SIG----------+-------------------+------------------>| | | diff --git a/examples/arm-cm/dpp_nucleo-l152re/qspy200823_203915.seq b/examples/arm-cm/dpp_nucleo-l152re/qspy200823_203915.seq index dc60d12e..2c084ea2 100644 --- a/examples/arm-cm/dpp_nucleo-l152re/qspy200823_203915.seq +++ b/examples/arm-cm/dpp_nucleo-l152re/qspy200823_203915.seq @@ -3,11 +3,11 @@ +-------+-------+ +-------+-------+ +-------+-------+ |l_SysTick_Handl| | Table::inst | | ? | +-------+-------+ +-------+-------+ +-------+-------+ -0000042339 . . . . * .SERVE_SIG. . . . | . . . . . . . . . / . . . +0000042339 . . . . * .SERVE_SIG. . . . | . . . . . . . . . / . . . 0000042896 *--SERVE_SIG------->| / 0001070723 *--TIMEOUT_SIG------+------------------>/ 0001075362 | |<------HUNGRY_SIG--* -0001079065 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . +0001079065 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . 0001079975 | *--EAT_SIG--------->/ 0001080774 | *--EAT_SIG--------->/ 0001081583 | *--EAT_SIG--------->/ @@ -15,7 +15,7 @@ 0001083181 | *--EAT_SIG--------->/ 0001762885 *--TIMEOUT_SIG------+------------------>/ 0001767416 | |<------HUNGRY_SIG--* -0002097460 . . . . * .PAUSE_SIG. . . . | . . . . . . . . . / . . . +0002097460 . . . . * .PAUSE_SIG. . . . | . . . . . . . . . / . . . 0002098016 *--PAUSE_SIG------->| / 0002101049 | / 0002140275 *--TIMEOUT_SIG------+------------------>/ @@ -25,19 +25,19 @@ 0003104906 *--TIMEOUT_SIG------+------------------>/ 0003109447 | |<------HUNGRY_SIG--* 0005013277 *--TIMEOUT_SIG------+------------------>/ -0005016745 . . . . | . . . . . . . . . | . . . . DONE_SIG. * . . . +0005016745 . . . . | . . . . . . . . . | . . . . DONE_SIG. * . . . 0005017655 | |<--------DONE_SIG--* 0007760487 *--TIMEOUT_SIG------+------------------>/ 0007764998 | |<------HUNGRY_SIG--* -0011827861 . . . . * .SERVE_SIG. . . . | . . . . . . . . . / . . . +0011827861 . . . . * .SERVE_SIG. . . . | . . . . . . . . . / . . . 0011828417 *--SERVE_SIG------->| / -0011832381 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . +0011832381 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . 0011833291 | *--EAT_SIG--------->/ 0011834089 | *--EAT_SIG--------->/ 0011834887 | *--EAT_SIG--------->/ 0011835685 | *--EAT_SIG--------->/ 0011836483 | *--EAT_SIG--------->/ -0011839510 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . +0011839510 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . 0011840421 | *--EAT_SIG--------->/ 0011841199 | *--EAT_SIG--------->/ 0011841977 | *--EAT_SIG--------->/ @@ -45,18 +45,18 @@ 0011843533 | *--EAT_SIG--------->/ 0011846001 | / 0015268086 *--TIMEOUT_SIG------+------------------>/ -0015271590 . . . . | . . . . . . . . . | . . . . DONE_SIG. * . . . +0015271590 . . . . | . . . . . . . . . | . . . . DONE_SIG. * . . . 0015272500 | |<--------DONE_SIG--* -0015276635 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . +0015276635 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . 0015277545 | *--EAT_SIG--------->/ 0015278343 | *--EAT_SIG--------->/ 0015279141 | *--EAT_SIG--------->/ 0015279939 | *--EAT_SIG--------->/ 0015280737 | *--EAT_SIG--------->/ 0015540732 *--TIMEOUT_SIG------+------------------>/ -0015544272 . . . . | . . . . . . . . . | . . . . DONE_SIG. * . . . +0015544272 . . . . | . . . . . . . . . | . . . . DONE_SIG. * . . . 0015545182 | |<--------DONE_SIG--* -0015549317 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . +0015549317 . . . . | . . . . . . . . . * .EAT_SIG. . . . . / . . . 0015550227 | *--EAT_SIG--------->/ 0015551025 | *--EAT_SIG--------->/ 0015551823 | *--EAT_SIG--------->/ diff --git a/examples/arm-cm/dpp_nucleo-l152re/qview/qview-dpp.lnk b/examples/arm-cm/dpp_nucleo-l152re/qview/qview-dpp.lnk deleted file mode 100644 index 904fee6d..00000000 Binary files a/examples/arm-cm/dpp_nucleo-l152re/qview/qview-dpp.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_nucleo-l152re/qview/qview-dpp1.lnk b/examples/arm-cm/dpp_nucleo-l152re/qview/qview-dpp1.lnk deleted file mode 100644 index 507af402..00000000 Binary files a/examples/arm-cm/dpp_nucleo-l152re/qview/qview-dpp1.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_nucleo-l552ze/qview/qview-dpp.lnk b/examples/arm-cm/dpp_nucleo-l552ze/qview/qview-dpp.lnk deleted file mode 100644 index f89908b2..00000000 Binary files a/examples/arm-cm/dpp_nucleo-l552ze/qview/qview-dpp.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_nucleo-l552ze/qview/qview-dpp1.lnk b/examples/arm-cm/dpp_nucleo-l552ze/qview/qview-dpp1.lnk deleted file mode 100644 index 14b7c635..00000000 Binary files a/examples/arm-cm/dpp_nucleo-l552ze/qview/qview-dpp1.lnk and /dev/null differ diff --git a/examples/arm-cm/dpp_stm32f4-discovery/qk/gnu/flash.bat b/examples/arm-cm/dpp_stm32f4-discovery/qk/gnu/flash.bat index 637ee704..60694ebc 100644 --- a/examples/arm-cm/dpp_stm32f4-discovery/qk/gnu/flash.bat +++ b/examples/arm-cm/dpp_stm32f4-discovery/qk/gnu/flash.bat @@ -1,9 +1,9 @@ ::============================================================================ :: Batch file to load the DPP program to the flash of STM32 boards -:: +:: :: NOTE: requires the ST-LINK utlity from ST, see: :: http://www.st.com/en/embedded-software/stsw-link004.html -:: +:: @echo off setlocal @@ -12,7 +12,7 @@ setlocal ::---------------------------------------------------------------------------- :: NOTE: Adjust the following symbol to the location of the -:: STLINK utility on your machine +:: STLINK utility on your machine :: set STLINK="C:\tools\ST\ST-LINK\ST-LINK Utility\ST-LINK_CLI.exe" diff --git a/examples/arm-cm/dpp_stm32f4-discovery/qv/gnu/flash.bat b/examples/arm-cm/dpp_stm32f4-discovery/qv/gnu/flash.bat index 637ee704..60694ebc 100644 --- a/examples/arm-cm/dpp_stm32f4-discovery/qv/gnu/flash.bat +++ b/examples/arm-cm/dpp_stm32f4-discovery/qv/gnu/flash.bat @@ -1,9 +1,9 @@ ::============================================================================ :: Batch file to load the DPP program to the flash of STM32 boards -:: +:: :: NOTE: requires the ST-LINK utlity from ST, see: :: http://www.st.com/en/embedded-software/stsw-link004.html -:: +:: @echo off setlocal @@ -12,7 +12,7 @@ setlocal ::---------------------------------------------------------------------------- :: NOTE: Adjust the following symbol to the location of the -:: STLINK utility on your machine +:: STLINK utility on your machine :: set STLINK="C:\tools\ST\ST-LINK\ST-LINK Utility\ST-LINK_CLI.exe" diff --git a/examples/arm-cm/dpp_stm32f4-discovery/qxk/gnu/flash.bat b/examples/arm-cm/dpp_stm32f4-discovery/qxk/gnu/flash.bat index 637ee704..60694ebc 100644 --- a/examples/arm-cm/dpp_stm32f4-discovery/qxk/gnu/flash.bat +++ b/examples/arm-cm/dpp_stm32f4-discovery/qxk/gnu/flash.bat @@ -1,9 +1,9 @@ ::============================================================================ :: Batch file to load the DPP program to the flash of STM32 boards -:: +:: :: NOTE: requires the ST-LINK utlity from ST, see: :: http://www.st.com/en/embedded-software/stsw-link004.html -:: +:: @echo off setlocal @@ -12,7 +12,7 @@ setlocal ::---------------------------------------------------------------------------- :: NOTE: Adjust the following symbol to the location of the -:: STLINK utility on your machine +:: STLINK utility on your machine :: set STLINK="C:\tools\ST\ST-LINK\ST-LINK Utility\ST-LINK_CLI.exe" diff --git a/examples/arm-cm/game_efm32-slstk3401a/qk/gnu/flash.bat b/examples/arm-cm/game_efm32-slstk3401a/qk/gnu/flash.bat index 0ca15c72..23215d0b 100644 --- a/examples/arm-cm/game_efm32-slstk3401a/qk/gnu/flash.bat +++ b/examples/arm-cm/game_efm32-slstk3401a/qk/gnu/flash.bat @@ -1,13 +1,13 @@ ::============================================================================ :: Batch file to program the flash of EFM32-SLSTK3401A board -:: +:: :: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see: :: https://www.segger.com/j-link-commander.html -:: +:: setlocal @echo off -@echo Load a given binary file to the flash of EFM32-SLSTK3401A +@echo Load a given binary file to the flash of EFM32-SLSTK3401A @echo usage: flash bin-file @echo example: flash dbg\blinky-qk.bin @@ -17,7 +17,7 @@ setlocal :: if [%JLINK%] EQU [] set JLINK=%QTOOLS%\..\JLink if not exist "%JLINK%\JLink.exe" ( - @echo The JLink tool not found. Please adjust flash.bat + @echo The JLink tool not found. Please adjust flash.bat @goto end ) diff --git a/examples/arm-cm/game_efm32-slstk3401a/qk/iar/game-qk.icf b/examples/arm-cm/game_efm32-slstk3401a/qk/iar/game-qk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/game_efm32-slstk3401a/qk/iar/game-qk.icf +++ b/examples/arm-cm/game_efm32-slstk3401a/qk/iar/game-qk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/game_efm32-slstk3401a/qv/gnu/flash.bat b/examples/arm-cm/game_efm32-slstk3401a/qv/gnu/flash.bat index 0ca15c72..23215d0b 100644 --- a/examples/arm-cm/game_efm32-slstk3401a/qv/gnu/flash.bat +++ b/examples/arm-cm/game_efm32-slstk3401a/qv/gnu/flash.bat @@ -1,13 +1,13 @@ ::============================================================================ :: Batch file to program the flash of EFM32-SLSTK3401A board -:: +:: :: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see: :: https://www.segger.com/j-link-commander.html -:: +:: setlocal @echo off -@echo Load a given binary file to the flash of EFM32-SLSTK3401A +@echo Load a given binary file to the flash of EFM32-SLSTK3401A @echo usage: flash bin-file @echo example: flash dbg\blinky-qk.bin @@ -17,7 +17,7 @@ setlocal :: if [%JLINK%] EQU [] set JLINK=%QTOOLS%\..\JLink if not exist "%JLINK%\JLink.exe" ( - @echo The JLink tool not found. Please adjust flash.bat + @echo The JLink tool not found. Please adjust flash.bat @goto end ) diff --git a/examples/arm-cm/game_efm32-slstk3401a/qv/iar/game-qv.icf b/examples/arm-cm/game_efm32-slstk3401a/qv/iar/game-qv.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/game_efm32-slstk3401a/qv/iar/game-qv.icf +++ b/examples/arm-cm/game_efm32-slstk3401a/qv/iar/game-qv.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/low-power_ek-tm4c123gxl/qk/gnu/flash.bat b/examples/arm-cm/low-power_ek-tm4c123gxl/qk/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/arm-cm/low-power_ek-tm4c123gxl/qk/gnu/flash.bat +++ b/examples/arm-cm/low-power_ek-tm4c123gxl/qk/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/arm-cm/low-power_ek-tm4c123gxl/qk/iar/low-power-qk.icf b/examples/arm-cm/low-power_ek-tm4c123gxl/qk/iar/low-power-qk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/low-power_ek-tm4c123gxl/qk/iar/low-power-qk.icf +++ b/examples/arm-cm/low-power_ek-tm4c123gxl/qk/iar/low-power-qk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/low-power_ek-tm4c123gxl/qv/gnu/flash.bat b/examples/arm-cm/low-power_ek-tm4c123gxl/qv/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/arm-cm/low-power_ek-tm4c123gxl/qv/gnu/flash.bat +++ b/examples/arm-cm/low-power_ek-tm4c123gxl/qv/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/arm-cm/low-power_ek-tm4c123gxl/qv/iar/low-power-qv.icf b/examples/arm-cm/low-power_ek-tm4c123gxl/qv/iar/low-power-qv.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/low-power_ek-tm4c123gxl/qv/iar/low-power-qv.icf +++ b/examples/arm-cm/low-power_ek-tm4c123gxl/qv/iar/low-power-qv.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cm/low-power_ek-tm4c123gxl/qxk/gnu/flash.bat b/examples/arm-cm/low-power_ek-tm4c123gxl/qxk/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/arm-cm/low-power_ek-tm4c123gxl/qxk/gnu/flash.bat +++ b/examples/arm-cm/low-power_ek-tm4c123gxl/qxk/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/arm-cm/low-power_ek-tm4c123gxl/qxk/iar/low-power-qxk.icf b/examples/arm-cm/low-power_ek-tm4c123gxl/qxk/iar/low-power-qxk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/arm-cm/low-power_ek-tm4c123gxl/qxk/iar/low-power-qxk.icf +++ b/examples/arm-cm/low-power_ek-tm4c123gxl/qxk/iar/low-power-qxk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/arm-cr/dpp_launchxl2-tms57012/qview/qview-dpp.lnk b/examples/arm-cr/dpp_launchxl2-tms57012/qview/qview-dpp.lnk deleted file mode 100644 index 8f989777..00000000 Binary files a/examples/arm-cr/dpp_launchxl2-tms57012/qview/qview-dpp.lnk and /dev/null differ diff --git a/examples/arm-cr/dpp_launchxl2-tms57012/qview/qview-dpp1.lnk b/examples/arm-cr/dpp_launchxl2-tms57012/qview/qview-dpp1.lnk deleted file mode 100644 index b9bb91e4..00000000 Binary files a/examples/arm-cr/dpp_launchxl2-tms57012/qview/qview-dpp1.lnk and /dev/null differ diff --git a/examples/embos/arm-cm/dpp_nucleo-h743zi/gnu/SEGGER/SEGGER_RTT_ASM_ARMv7M.S b/examples/embos/arm-cm/dpp_nucleo-h743zi/gnu/SEGGER/SEGGER_RTT_ASM_ARMv7M.S index 8b134723..b2033fd6 100644 --- a/examples/embos/arm-cm/dpp_nucleo-h743zi/gnu/SEGGER/SEGGER_RTT_ASM_ARMv7M.S +++ b/examples/embos/arm-cm/dpp_nucleo-h743zi/gnu/SEGGER/SEGGER_RTT_ASM_ARMv7M.S @@ -58,9 +58,9 @@ Additional information: #define _THUMB_CODE .code 16 #define _WORD .word #define _SECTION(Sect, Type, AlignExp) .section Sect ##, "ax" - #define _ALIGN(Exp) .align Exp + #define _ALIGN(Exp) .align Exp #define _PLACE_LITS .ltorg - #define _DATA_SECT_START + #define _DATA_SECT_START #define _C_STARTUP _start #define _STACK_END __stack_end__ #define _RAMFUNC @@ -80,7 +80,7 @@ Additional information: #define _THUMB_CODE THUMB #define _WORD DCD #define _SECTION(Sect, Type, AlignExp) SECTION Sect ## : ## Type ## :REORDER:NOROOT ## (AlignExp) - #define _ALIGN(Exp) alignrom Exp + #define _ALIGN(Exp) alignrom Exp #define _PLACE_LITS #define _DATA_SECT_START DATA #define _C_STARTUP __iar_program_start diff --git a/examples/freertos/arm-cm/dpp_ek-tm4c123gxl/gnu/flash.bat b/examples/freertos/arm-cm/dpp_ek-tm4c123gxl/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/freertos/arm-cm/dpp_ek-tm4c123gxl/gnu/flash.bat +++ b/examples/freertos/arm-cm/dpp_ek-tm4c123gxl/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/freertos/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf b/examples/freertos/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf index 115a830b..0fdfc4b3 100644 --- a/examples/freertos/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf +++ b/examples/freertos/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/lwip/arm-cm/lwip_ek-lm3s6965/qk/gnu/flash.bat b/examples/lwip/arm-cm/lwip_ek-lm3s6965/qk/gnu/flash.bat index 1e07aad3..30a2b4b4 100644 --- a/examples/lwip/arm-cm/lwip_ek-lm3s6965/qk/gnu/flash.bat +++ b/examples/lwip/arm-cm/lwip_ek-lm3s6965/qk/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program to the flash of EK-LM3S6965 -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal @@ -13,7 +13,7 @@ setlocal ::---------------------------------------------------------------------------- :: NOTE: The following symbol LMFLASH assumes that LMFlash.exe can :: be found on the PATH. You might need to adjust this symbol to the -:: location of the LMFlash utility on your machine +:: location of the LMFlash utility on your machine :: set LMFLASH=LMFlash.exe diff --git a/examples/lwip/arm-cm/lwip_ek-lm3s6965/qk/iar/lwip-qk.icf b/examples/lwip/arm-cm/lwip_ek-lm3s6965/qk/iar/lwip-qk.icf index 8d92b3e6..7267deeb 100644 --- a/examples/lwip/arm-cm/lwip_ek-lm3s6965/qk/iar/lwip-qk.icf +++ b/examples/lwip/arm-cm/lwip_ek-lm3s6965/qk/iar/lwip-qk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/lwip/arm-cm/lwip_ek-lm3s6965/qv/gnu/flash.bat b/examples/lwip/arm-cm/lwip_ek-lm3s6965/qv/gnu/flash.bat index 1e07aad3..30a2b4b4 100644 --- a/examples/lwip/arm-cm/lwip_ek-lm3s6965/qv/gnu/flash.bat +++ b/examples/lwip/arm-cm/lwip_ek-lm3s6965/qv/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program to the flash of EK-LM3S6965 -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal @@ -13,7 +13,7 @@ setlocal ::---------------------------------------------------------------------------- :: NOTE: The following symbol LMFLASH assumes that LMFlash.exe can :: be found on the PATH. You might need to adjust this symbol to the -:: location of the LMFlash utility on your machine +:: location of the LMFlash utility on your machine :: set LMFLASH=LMFlash.exe diff --git a/examples/lwip/arm-cm/lwip_ek-lm3s6965/qv/iar/lwip-qv.icf b/examples/lwip/arm-cm/lwip_ek-lm3s6965/qv/iar/lwip-qv.icf index 8d92b3e6..7267deeb 100644 --- a/examples/lwip/arm-cm/lwip_ek-lm3s6965/qv/iar/lwip-qv.icf +++ b/examples/lwip/arm-cm/lwip_ek-lm3s6965/qv/iar/lwip-qv.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/performance/dpp_efm32-slstk3401a/qk/iar/dpp-qk.icf b/examples/performance/dpp_efm32-slstk3401a/qk/iar/dpp-qk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/performance/dpp_efm32-slstk3401a/qk/iar/dpp-qk.icf +++ b/examples/performance/dpp_efm32-slstk3401a/qk/iar/dpp-qk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/performance/dpp_efm32-slstk3401a/qv/iar/dpp-qv.icf b/examples/performance/dpp_efm32-slstk3401a/qv/iar/dpp-qv.icf index 115a830b..0fdfc4b3 100644 --- a/examples/performance/dpp_efm32-slstk3401a/qv/iar/dpp-qv.icf +++ b/examples/performance/dpp_efm32-slstk3401a/qv/iar/dpp-qv.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/performance/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.icf b/examples/performance/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.icf index 115a830b..0fdfc4b3 100644 --- a/examples/performance/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.icf +++ b/examples/performance/dpp_efm32-slstk3401a/qxk/iar/dpp-qxk.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/performance/dpp_efm32-slstk3401a/ucos-ii/iar/dpp-ucos2.icf b/examples/performance/dpp_efm32-slstk3401a/ucos-ii/iar/dpp-ucos2.icf index 565bb4c0..da0bc053 100644 --- a/examples/performance/dpp_efm32-slstk3401a/ucos-ii/iar/dpp-ucos2.icf +++ b/examples/performance/dpp_efm32-slstk3401a/ucos-ii/iar/dpp-ucos2.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/threadx/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf b/examples/threadx/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf index 115a830b..0fdfc4b3 100644 --- a/examples/threadx/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf +++ b/examples/threadx/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/threadx/arm-cm/dpp_stm32f429-discovery/iar/dpp.icf b/examples/threadx/arm-cm/dpp_stm32f429-discovery/iar/dpp.icf index 3f54c43b..371a08a7 100644 --- a/examples/threadx/arm-cm/dpp_stm32f429-discovery/iar/dpp.icf +++ b/examples/threadx/arm-cm/dpp_stm32f429-discovery/iar/dpp.icf @@ -27,5 +27,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl/gnu/flash.bat b/examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl/gnu/flash.bat index 8f88a12e..cb2a3886 100644 --- a/examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl/gnu/flash.bat +++ b/examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl/gnu/flash.bat @@ -1,8 +1,8 @@ ::============================================================================ :: Batch file to program the flash of EK-TM4C123GXL -:: +:: :: NOTE: requires the LMFlash programmer (included in QTools for Windows) -:: +:: @echo off setlocal diff --git a/examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf b/examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf index 565bb4c0..da0bc053 100644 --- a/examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf +++ b/examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl/iar/dpp.icf @@ -25,5 +25,5 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -place at start of RAM_region {block CSTACK }; +place at start of RAM_region {block CSTACK }; place in RAM_region { readwrite, block HEAP }; \ No newline at end of file diff --git a/examples/workstation/dpp/qview/qview-dpp.lnk b/examples/workstation/dpp/qview/qview-dpp.lnk deleted file mode 100644 index 72e7c69f..00000000 Binary files a/examples/workstation/dpp/qview/qview-dpp.lnk and /dev/null differ diff --git a/examples/workstation/dpp/qview/qview-dpp1.lnk b/examples/workstation/dpp/qview/qview-dpp1.lnk deleted file mode 100644 index 20406a36..00000000 Binary files a/examples/workstation/dpp/qview/qview-dpp1.lnk and /dev/null differ diff --git a/include/qstamp.cpp b/include/qstamp.cpp index f85d27c8..81b746ef 100644 --- a/include/qstamp.cpp +++ b/include/qstamp.cpp @@ -1,19 +1,5 @@ -//$file${include::qstamp.cpp} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv -// -// Model: qpcpp.qm -// File: ${include::qstamp.cpp} -// -// This code has been generated by QM 5.2.2 . -// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. -// -// This code is covered by the following QP license: -// License # : LicenseRef-QL-dual -// Issued to : Any user of the QP/C++ real-time embedded framework -// Framework(s) : qpcpp -// Support ends : 2023-12-31 -// License scope: -// -// Copyright (C) 2005 Quantum Leaps, LLC . +// QP/C++ Real-Time Embedded Framework (RTEF) +// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // @@ -32,25 +18,17 @@ // Plagiarizing this software to sidestep the license obligations is illegal. // // Contact information: -// +// // -// -//$endhead${include::qstamp.cpp} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //! @file //! @brief Application build time-stamp -//! @note -//! This module needs to be re-compiled in every new software build. To achive -//! this, it is recommended to delete the object file (qstamp.o or qstamp.obj) -//! in the build directory before each build. (Most development tools allow -//! you to specify a pre-build action, which is the ideal place to delete -//! the qstamp object file.) +//! @deprecated +//! File `include/qstamp.cpp` is kept only for backwards compatibility. +//! Instead, please use file `src/qs/qstamp.cpp`. #include "qstamp.hpp" namespace QP { -//! the calendar date of the last translation of the form: "Mmm dd yyyy" char const BUILD_DATE[12] = __DATE__; - -//! the time of the last translation of the form: "hh:mm:ss" char const BUILD_TIME[9] = __TIME__; } // namespace QP diff --git a/ports/lint-plus/lin.bat b/ports/lint-plus/lin.bat index 00287534..608d0ae5 100644 --- a/ports/lint-plus/lin.bat +++ b/ports/lint-plus/lin.bat @@ -55,7 +55,7 @@ if "%1"=="16bit" ( @del *.log :: linting ------------------------------------------------------------------- -%PCLP% -os(lint_qf.log) %LINTFLAGS% -iqv ..\..\src\qf\*.cpp +%PCLP% -os(lint_qf.log) %LINTFLAGS% -iqv ..\..\src\qf\*.cpp %PCLP% -os(lint_qv.log) %LINTFLAGS% -iqv ..\..\src\qv\*.cpp diff --git a/qpcpp.qm b/qpcpp.qm index a8ffbb40..9fbc4a81 100644 --- a/qpcpp.qm +++ b/qpcpp.qm @@ -13388,27 +13388,6 @@ extern char const BUILD_TIME[9]; #endif // QP_INC_QSTAMP_HPP_ - - - //! @file -//! @brief Application build time-stamp -//! @note -//! This module needs to be re-compiled in every new software build. To achive -//! this, it is recommended to delete the object file (qstamp.o or qstamp.obj) -//! in the build directory before each build. (Most development tools allow -//! you to specify a pre-build action, which is the ideal place to delete -//! the qstamp object file.) - -#include "qstamp.hpp" - -namespace QP { -//! the calendar date of the last translation of the form: "Mmm dd yyyy" -char const BUILD_DATE[12] = __DATE__; - -//! the time of the last translation of the form: "hh:mm:ss" -char const BUILD_TIME[9] = __TIME__; -} // namespace QP - @@ -14819,6 +14798,27 @@ $define ${QUTest-stub} #endif // def Q_UTEST + + + //! @file +//! @brief Application build time-stamp +//! @note +//! This module needs to be re-compiled in every new software build. To achive +//! this, it is recommended to delete the object file (qstamp.o or qstamp.obj) +//! in the build directory before each build. (Most development tools allow +//! you to specify a pre-build action, which is the ideal place to delete +//! the qstamp object file.) + +#include "qstamp.hpp" + +namespace QP { +//! the calendar date of the last translation of the form: "Mmm dd yyyy" +char const BUILD_DATE[12] = __DATE__; + +//! the time of the last translation of the form: "hh:mm:ss" +char const BUILD_TIME[9] = __TIME__; +} // namespace QP + diff --git a/src/qs/qstamp.cpp b/src/qs/qstamp.cpp new file mode 100644 index 00000000..dabb7eda --- /dev/null +++ b/src/qs/qstamp.cpp @@ -0,0 +1,56 @@ +//$file${src::qs::qstamp.cpp} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv +// +// Model: qpcpp.qm +// File: ${src::qs::qstamp.cpp} +// +// This code has been generated by QM 5.2.2 . +// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. +// +// This code is covered by the following QP license: +// License # : LicenseRef-QL-dual +// Issued to : Any user of the QP/C++ real-time embedded framework +// Framework(s) : qpcpp +// Support ends : 2023-12-31 +// License scope: +// +// Copyright (C) 2005 Quantum Leaps, LLC . +// +// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial +// +// This software is dual-licensed under the terms of the open source GNU +// General Public License version 3 (or any later version), or alternatively, +// under the terms of one of the closed source Quantum Leaps commercial +// licenses. +// +// The terms of the open source GNU General Public License version 3 +// can be found at: +// +// The terms of the closed source Quantum Leaps commercial licenses +// can be found at: +// +// Redistributions in source code must retain this top-level comment block. +// Plagiarizing this software to sidestep the license obligations is illegal. +// +// Contact information: +// +// +// +//$endhead${src::qs::qstamp.cpp} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +//! @file +//! @brief Application build time-stamp +//! @note +//! This module needs to be re-compiled in every new software build. To achive +//! this, it is recommended to delete the object file (qstamp.o or qstamp.obj) +//! in the build directory before each build. (Most development tools allow +//! you to specify a pre-build action, which is the ideal place to delete +//! the qstamp object file.) + +#include "qstamp.hpp" + +namespace QP { +//! the calendar date of the last translation of the form: "Mmm dd yyyy" +char const BUILD_DATE[12] = __DATE__; + +//! the time of the last translation of the form: "hh:mm:ss" +char const BUILD_TIME[9] = __TIME__; +} // namespace QP