aboutsummaryrefslogtreecommitdiffstats
path: root/demos
diff options
context:
space:
mode:
authorRocco Marco Guglielmi <roccomarco.guglielmi@live.com>2017-01-26 16:15:58 +0000
committerRocco Marco Guglielmi <roccomarco.guglielmi@live.com>2017-01-26 16:15:58 +0000
commitd91bbf1866177bc05f70f0dd7098b8639e3f4bb7 (patch)
treef0925e8c1bf182f0979b886f299b08bfe42286c1 /demos
parentd78431c638f6c922526f01d32737fb2a75b433cf (diff)
downloadChibiOS-d91bbf1866177bc05f70f0dd7098b8639e3f4bb7.tar.gz
ChibiOS-d91bbf1866177bc05f70f0dd7098b8639e3f4bb7.tar.bz2
ChibiOS-d91bbf1866177bc05f70f0dd7098b8639e3f4bb7.zip
Added support for STM32F303 Discovery REV-C
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10065 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'demos')
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/.cproject55
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/.project43
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/Makefile218
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/chconf.h520
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/debug/RT-STM32F303-DISCOVERY-REVC (OpenOCD, Flash and Run).launch52
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/halconf.h388
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.ewp2658
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.eww10
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.icf52
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/keil/ch.uvprojx1396
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/main.c100
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/mcuconf.h253
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY-REVC/readme.txt25
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY/main.c4
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY/readme.txt2
15 files changed, 5773 insertions, 3 deletions
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/.cproject b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/.cproject
new file mode 100644
index 000000000..644f14e3e
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/.cproject
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="0.1984968159">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1984968159" moduleId="org.eclipse.cdt.core.settings" name="Default">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1984968159" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
+ <folderInfo id="0.1984968159." name="/" resourcePath="">
+ <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.688272362" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
+ <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.688272362.270307390" name=""/>
+ <builder autoBuildTarget="all" cleanBuildTarget="clean" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" id="org.eclipse.cdt.build.core.settings.default.builder.1075495684" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1667039593" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.1490155624" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1745864609" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.1771767067" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.232441590" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.1677220503" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.2124347918" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="RT-STM32F303-DISCOVERY.null.1212300359" name="RT-STM32F303-DISCOVERY"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="0.1984968159">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Default">
+ <resource resourceType="PROJECT" workspacePath="/RT-STM32F303-DISCOVERY"/>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+</cproject>
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/.project b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/.project
new file mode 100644
index 000000000..ad9b8488d
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>RT-STM32F303-DISCOVERY-REVC</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>board</name>
+ <type>2</type>
+ <locationURI>CHIBIOS/os/hal/boards/ST_STM32F3_DISCOVERY_REVC</locationURI>
+ </link>
+ <link>
+ <name>os</name>
+ <type>2</type>
+ <locationURI>CHIBIOS/os</locationURI>
+ </link>
+ <link>
+ <name>test</name>
+ <type>2</type>
+ <locationURI>CHIBIOS/test</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/Makefile b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/Makefile
new file mode 100644
index 000000000..db0ac4a27
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/Makefile
@@ -0,0 +1,218 @@
+##############################################################################
+# Build global options
+# NOTE: Can be overridden externally.
+#
+
+# Compiler options here.
+ifeq ($(USE_OPT),)
+ USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
+endif
+
+# C specific options here (added to USE_OPT).
+ifeq ($(USE_COPT),)
+ USE_COPT =
+endif
+
+# C++ specific options here (added to USE_OPT).
+ifeq ($(USE_CPPOPT),)
+ USE_CPPOPT = -fno-rtti
+endif
+
+# Enable this if you want the linker to remove unused code and data
+ifeq ($(USE_LINK_GC),)
+ USE_LINK_GC = yes
+endif
+
+# Linker extra options here.
+ifeq ($(USE_LDOPT),)
+ USE_LDOPT =
+endif
+
+# Enable this if you want link time optimizations (LTO)
+ifeq ($(USE_LTO),)
+ USE_LTO = yes
+endif
+
+# If enabled, this option allows to compile the application in THUMB mode.
+ifeq ($(USE_THUMB),)
+ USE_THUMB = yes
+endif
+
+# Enable this if you want to see the full log while compiling.
+ifeq ($(USE_VERBOSE_COMPILE),)
+ USE_VERBOSE_COMPILE = no
+endif
+
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
+#
+# Build global options
+##############################################################################
+
+##############################################################################
+# Architecture or project specific options
+#
+
+# Stack size to be allocated to the Cortex-M process stack. This stack is
+# the stack used by the main() thread.
+ifeq ($(USE_PROCESS_STACKSIZE),)
+ USE_PROCESS_STACKSIZE = 0x400
+endif
+
+# Stack size to the allocated to the Cortex-M main/exceptions stack. This
+# stack is used for processing interrupts and exceptions.
+ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
+ USE_EXCEPTIONS_STACKSIZE = 0x400
+endif
+
+# Enables the use of FPU (no, softfp, hard).
+ifeq ($(USE_FPU),)
+ USE_FPU = no
+endif
+
+#
+# Architecture or project specific options
+##############################################################################
+
+##############################################################################
+# Project, sources and paths
+#
+
+# Define project name here
+PROJECT = ch
+
+# Imported source files and paths
+CHIBIOS = ../../..
+# Startup files.
+include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f3xx.mk
+# HAL-OSAL files (optional).
+include $(CHIBIOS)/os/hal/hal.mk
+include $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/platform.mk
+include $(CHIBIOS)/os/hal/boards/ST_STM32F3_DISCOVERY_REVC/board.mk
+include $(CHIBIOS)/os/hal/osal/rt/osal.mk
+# RTOS files (optional).
+include $(CHIBIOS)/os/rt/rt.mk
+include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
+# Other files (optional).
+include $(CHIBIOS)/test/rt/test.mk
+
+# Define linker script file here
+LDSCRIPT= $(STARTUPLD)/STM32F303xC.ld
+
+# C sources that can be compiled in ARM or THUMB mode depending on the global
+# setting.
+CSRC = $(STARTUPSRC) \
+ $(KERNSRC) \
+ $(PORTSRC) \
+ $(OSALSRC) \
+ $(HALSRC) \
+ $(PLATFORMSRC) \
+ $(BOARDSRC) \
+ $(TESTSRC) \
+ main.c
+
+# C++ sources that can be compiled in ARM or THUMB mode depending on the global
+# setting.
+CPPSRC =
+
+# C sources to be compiled in ARM mode regardless of the global setting.
+# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
+# option that results in lower performance and larger code size.
+ACSRC =
+
+# C++ sources to be compiled in ARM mode regardless of the global setting.
+# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
+# option that results in lower performance and larger code size.
+ACPPSRC =
+
+# C sources to be compiled in THUMB mode regardless of the global setting.
+# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
+# option that results in lower performance and larger code size.
+TCSRC =
+
+# C sources to be compiled in THUMB mode regardless of the global setting.
+# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
+# option that results in lower performance and larger code size.
+TCPPSRC =
+
+# List ASM source files here
+ASMSRC =
+ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
+
+INCDIR = $(CHIBIOS)/os/license \
+ $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
+ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
+ $(CHIBIOS)/os/various
+
+#
+# Project, sources and paths
+##############################################################################
+
+##############################################################################
+# Compiler settings
+#
+
+MCU = cortex-m4
+
+#TRGT = arm-elf-
+TRGT = arm-none-eabi-
+CC = $(TRGT)gcc
+CPPC = $(TRGT)g++
+# Enable loading with g++ only if you need C++ runtime support.
+# NOTE: You can use C++ even without C++ support if you are careful. C++
+# runtime support makes code size explode.
+LD = $(TRGT)gcc
+#LD = $(TRGT)g++
+CP = $(TRGT)objcopy
+AS = $(TRGT)gcc -x assembler-with-cpp
+AR = $(TRGT)ar
+OD = $(TRGT)objdump
+SZ = $(TRGT)size
+HEX = $(CP) -O ihex
+BIN = $(CP) -O binary
+
+# ARM-specific options here
+AOPT =
+
+# THUMB-specific options here
+TOPT = -mthumb -DTHUMB
+
+# Define C warning options here
+CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
+
+# Define C++ warning options here
+CPPWARN = -Wall -Wextra -Wundef
+
+#
+# Compiler settings
+##############################################################################
+
+##############################################################################
+# Start of user section
+#
+
+# List all user C define here, like -D_DEBUG=1
+UDEFS =
+
+# Define ASM defines here
+UADEFS =
+
+# List all user directories here
+UINCDIR =
+
+# List the user directory to look for the libraries here
+ULIBDIR =
+
+# List all user libraries here
+ULIBS =
+
+#
+# End of user defines
+##############################################################################
+
+RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
+include $(RULESPATH)/rules.mk
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/chconf.h b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/chconf.h
new file mode 100644
index 000000000..ad6b53ade
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/chconf.h
@@ -0,0 +1,520 @@
+/*
+ ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+/**
+ * @file templates/chconf.h
+ * @brief Configuration file template.
+ * @details A copy of this file must be placed in each project directory, it
+ * contains the application specific kernel settings.
+ *
+ * @addtogroup config
+ * @details Kernel related settings and hooks.
+ * @{
+ */
+
+#ifndef CHCONF_H
+#define CHCONF_H
+
+#define _CHIBIOS_RT_CONF_
+
+/*===========================================================================*/
+/**
+ * @name System timers settings
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief System time counter resolution.
+ * @note Allowed values are 16 or 32 bits.
+ */
+#define CH_CFG_ST_RESOLUTION 32
+
+/**
+ * @brief System tick frequency.
+ * @details Frequency of the system timer that drives the system ticks. This
+ * setting also defines the system tick time unit.
+ */
+#define CH_CFG_ST_FREQUENCY 10000
+
+/**
+ * @brief Time delta constant for the tick-less mode.
+ * @note If this value is zero then the system uses the classic
+ * periodic tick. This value represents the minimum number
+ * of ticks that is safe to specify in a timeout directive.
+ * The value one is not valid, timeouts are rounded up to
+ * this value.
+ */
+#define CH_CFG_ST_TIMEDELTA 2
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Kernel parameters and options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Round robin interval.
+ * @details This constant is the number of system ticks allowed for the
+ * threads before preemption occurs. Setting this value to zero
+ * disables the preemption for threads with equal priority and the
+ * round robin becomes cooperative. Note that higher priority
+ * threads can still preempt, the kernel is always preemptive.
+ * @note Disabling the round robin preemption makes the kernel more compact
+ * and generally faster.
+ * @note The round robin preemption is not supported in tickless mode and
+ * must be set to zero in that case.
+ */
+#define CH_CFG_TIME_QUANTUM 0
+
+/**
+ * @brief Managed RAM size.
+ * @details Size of the RAM area to be managed by the OS. If set to zero
+ * then the whole available RAM is used. The core memory is made
+ * available to the heap allocator and/or can be used directly through
+ * the simplified core memory allocator.
+ *
+ * @note In order to let the OS manage the whole RAM the linker script must
+ * provide the @p __heap_base__ and @p __heap_end__ symbols.
+ * @note Requires @p CH_CFG_USE_MEMCORE.
+ */
+#define CH_CFG_MEMCORE_SIZE 0
+
+/**
+ * @brief Idle thread automatic spawn suppression.
+ * @details When this option is activated the function @p chSysInit()
+ * does not spawn the idle thread. The application @p main()
+ * function becomes the idle thread and must implement an
+ * infinite loop.
+ */
+#define CH_CFG_NO_IDLE_THREAD FALSE
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Performance options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief OS optimization.
+ * @details If enabled then time efficient rather than space efficient code
+ * is used when two possible implementations exist.
+ *
+ * @note This is not related to the compiler optimization options.
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_OPTIMIZE_SPEED TRUE
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Subsystem options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Time Measurement APIs.
+ * @details If enabled then the time measurement APIs are included in
+ * the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_USE_TM TRUE
+
+/**
+ * @brief Threads registry APIs.
+ * @details If enabled then the registry APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_USE_REGISTRY TRUE
+
+/**
+ * @brief Threads synchronization APIs.
+ * @details If enabled then the @p chThdWait() function is included in
+ * the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_USE_WAITEXIT TRUE
+
+/**
+ * @brief Semaphores APIs.
+ * @details If enabled then the Semaphores APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_USE_SEMAPHORES TRUE
+
+/**
+ * @brief Semaphores queuing mode.
+ * @details If enabled then the threads are enqueued on semaphores by
+ * priority rather than in FIFO order.
+ *
+ * @note The default is @p FALSE. Enable this if you have special
+ * requirements.
+ * @note Requires @p CH_CFG_USE_SEMAPHORES.
+ */
+#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
+
+/**
+ * @brief Mutexes APIs.
+ * @details If enabled then the mutexes APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_USE_MUTEXES TRUE
+
+/**
+ * @brief Enables recursive behavior on mutexes.
+ * @note Recursive mutexes are heavier and have an increased
+ * memory footprint.
+ *
+ * @note The default is @p FALSE.
+ * @note Requires @p CH_CFG_USE_MUTEXES.
+ */
+#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
+
+/**
+ * @brief Conditional Variables APIs.
+ * @details If enabled then the conditional variables APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_MUTEXES.
+ */
+#define CH_CFG_USE_CONDVARS TRUE
+
+/**
+ * @brief Conditional Variables APIs with timeout.
+ * @details If enabled then the conditional variables APIs with timeout
+ * specification are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_CONDVARS.
+ */
+#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
+
+/**
+ * @brief Events Flags APIs.
+ * @details If enabled then the event flags APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_USE_EVENTS TRUE
+
+/**
+ * @brief Events Flags APIs with timeout.
+ * @details If enabled then the events APIs with timeout specification
+ * are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_EVENTS.
+ */
+#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
+
+/**
+ * @brief Synchronous Messages APIs.
+ * @details If enabled then the synchronous messages APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_USE_MESSAGES TRUE
+
+/**
+ * @brief Synchronous Messages queuing mode.
+ * @details If enabled then messages are served by priority rather than in
+ * FIFO order.
+ *
+ * @note The default is @p FALSE. Enable this if you have special
+ * requirements.
+ * @note Requires @p CH_CFG_USE_MESSAGES.
+ */
+#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
+
+/**
+ * @brief Mailboxes APIs.
+ * @details If enabled then the asynchronous messages (mailboxes) APIs are
+ * included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_SEMAPHORES.
+ */
+#define CH_CFG_USE_MAILBOXES TRUE
+
+/**
+ * @brief Core Memory Manager APIs.
+ * @details If enabled then the core memory manager APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_USE_MEMCORE TRUE
+
+/**
+ * @brief Heap Allocator APIs.
+ * @details If enabled then the memory heap allocator APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
+ * @p CH_CFG_USE_SEMAPHORES.
+ * @note Mutexes are recommended.
+ */
+#define CH_CFG_USE_HEAP TRUE
+
+/**
+ * @brief Memory Pools Allocator APIs.
+ * @details If enabled then the memory pools allocator APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#define CH_CFG_USE_MEMPOOLS TRUE
+
+/**
+ * @brief Dynamic Threads APIs.
+ * @details If enabled then the dynamic threads creation APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_WAITEXIT.
+ * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
+ */
+#define CH_CFG_USE_DYNAMIC TRUE
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Debug options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Debug option, kernel statistics.
+ *
+ * @note The default is @p FALSE.
+ */
+#define CH_DBG_STATISTICS FALSE
+
+/**
+ * @brief Debug option, system state check.
+ * @details If enabled the correct call protocol for system APIs is checked
+ * at runtime.
+ *
+ * @note The default is @p FALSE.
+ */
+#define CH_DBG_SYSTEM_STATE_CHECK FALSE
+
+/**
+ * @brief Debug option, parameters checks.
+ * @details If enabled then the checks on the API functions input
+ * parameters are activated.
+ *
+ * @note The default is @p FALSE.
+ */
+#define CH_DBG_ENABLE_CHECKS FALSE
+
+/**
+ * @brief Debug option, consistency checks.
+ * @details If enabled then all the assertions in the kernel code are
+ * activated. This includes consistency checks inside the kernel,
+ * runtime anomalies and port-defined checks.
+ *
+ * @note The default is @p FALSE.
+ */
+#define CH_DBG_ENABLE_ASSERTS FALSE
+
+/**
+ * @brief Debug option, trace buffer.
+ * @details If enabled then the trace buffer is activated.
+ *
+ * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
+ */
+#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
+
+/**
+ * @brief Trace buffer entries.
+ * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
+ * different from @p CH_DBG_TRACE_MASK_DISABLED.
+ */
+#define CH_DBG_TRACE_BUFFER_SIZE 128
+
+/**
+ * @brief Debug option, stack checks.
+ * @details If enabled then a runtime stack check is performed.
+ *
+ * @note The default is @p FALSE.
+ * @note The stack check is performed in a architecture/port dependent way.
+ * It may not be implemented or some ports.
+ * @note The default failure mode is to halt the system with the global
+ * @p panic_msg variable set to @p NULL.
+ */
+#define CH_DBG_ENABLE_STACK_CHECK FALSE
+
+/**
+ * @brief Debug option, stacks initialization.
+ * @details If enabled then the threads working area is filled with a byte
+ * value when a thread is created. This can be useful for the
+ * runtime measurement of the used stack.
+ *
+ * @note The default is @p FALSE.
+ */
+#define CH_DBG_FILL_THREADS FALSE
+
+/**
+ * @brief Debug option, threads profiling.
+ * @details If enabled then a field is added to the @p thread_t structure that
+ * counts the system ticks occurred while executing the thread.
+ *
+ * @note The default is @p FALSE.
+ * @note This debug option is not currently compatible with the
+ * tickless mode.
+ */
+#define CH_DBG_THREADS_PROFILING FALSE
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Kernel hooks
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Threads descriptor structure extension.
+ * @details User fields added to the end of the @p thread_t structure.
+ */
+#define CH_CFG_THREAD_EXTRA_FIELDS \
+ /* Add threads custom fields here.*/
+
+/**
+ * @brief Threads initialization hook.
+ * @details User initialization code added to the @p chThdInit() API.
+ *
+ * @note It is invoked from within @p chThdInit() and implicitly from all
+ * the threads creation APIs.
+ */
+#define CH_CFG_THREAD_INIT_HOOK(tp) { \
+ /* Add threads initialization code here.*/ \
+}
+
+/**
+ * @brief Threads finalization hook.
+ * @details User finalization code added to the @p chThdExit() API.
+ */
+#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
+ /* Add threads finalization code here.*/ \
+}
+
+/**
+ * @brief Context switch hook.
+ * @details This hook is invoked just before switching between threads.
+ */
+#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
+ /* Context switch code here.*/ \
+}
+
+/**
+ * @brief ISR enter hook.
+ */
+#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
+ /* IRQ prologue code here.*/ \
+}
+
+/**
+ * @brief ISR exit hook.
+ */
+#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
+ /* IRQ epilogue code here.*/ \
+}
+
+/**
+ * @brief Idle thread enter hook.
+ * @note This hook is invoked within a critical zone, no OS functions
+ * should be invoked from here.
+ * @note This macro can be used to activate a power saving mode.
+ */
+#define CH_CFG_IDLE_ENTER_HOOK() { \
+ /* Idle-enter code here.*/ \
+}
+
+/**
+ * @brief Idle thread leave hook.
+ * @note This hook is invoked within a critical zone, no OS functions
+ * should be invoked from here.
+ * @note This macro can be used to deactivate a power saving mode.
+ */
+#define CH_CFG_IDLE_LEAVE_HOOK() { \
+ /* Idle-leave code here.*/ \
+}
+
+/**
+ * @brief Idle Loop hook.
+ * @details This hook is continuously invoked by the idle thread loop.
+ */
+#define CH_CFG_IDLE_LOOP_HOOK() { \
+ /* Idle loop code here.*/ \
+}
+
+/**
+ * @brief System tick event hook.
+ * @details This hook is invoked in the system tick handler immediately
+ * after processing the virtual timers queue.
+ */
+#define CH_CFG_SYSTEM_TICK_HOOK() { \
+ /* System tick event code here.*/ \
+}
+
+/**
+ * @brief System halt hook.
+ * @details This hook is invoked in case to a system halting error before
+ * the system is halted.
+ */
+#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
+ /* System halt code here.*/ \
+}
+
+/**
+ * @brief Trace hook.
+ * @details This hook is invoked each time a new record is written in the
+ * trace buffer.
+ */
+#define CH_CFG_TRACE_HOOK(tep) { \
+ /* Trace code here.*/ \
+}
+
+/** @} */
+
+/*===========================================================================*/
+/* Port-specific settings (override port settings defaulted in chcore.h). */
+/*===========================================================================*/
+
+#endif /* CHCONF_H */
+
+/** @} */
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/debug/RT-STM32F303-DISCOVERY-REVC (OpenOCD, Flash and Run).launch b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/debug/RT-STM32F303-DISCOVERY-REVC (OpenOCD, Flash and Run).launch
new file mode 100644
index 000000000..32878baf8
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/debug/RT-STM32F303-DISCOVERY-REVC (OpenOCD, Flash and Run).launch
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
+<stringAttribute key="bad_container_name" value="\RT-STM32F303-DISCOVERY-REVC\debug"/>
+<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="1"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="set remotetimeout 20&#13;&#10;monitor reset init&#13;&#10;monitor sleep 50&#13;&#10;"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
+<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
+<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
+<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
+<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
+<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
+<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
+<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
+<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
+<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
+<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
+<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList/&gt;"/>
+<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
+<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
+<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
+<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RT-STM32F303-DISCOVERY-REVC"/>
+<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
+<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.1984968159"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/RT-STM32F303-DISCOVERY-REVC"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+</launchConfiguration>
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/halconf.h b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/halconf.h
new file mode 100644
index 000000000..82602b403
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/halconf.h
@@ -0,0 +1,388 @@
+/*
+ ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+/**
+ * @file templates/halconf.h
+ * @brief HAL configuration header.
+ * @details HAL configuration file, this file allows to enable or disable the
+ * various device drivers from your application. You may also use
+ * this file in order to override the device drivers default settings.
+ *
+ * @addtogroup HAL_CONF
+ * @{
+ */
+
+#ifndef HALCONF_H
+#define HALCONF_H
+
+#include "mcuconf.h"
+
+/**
+ * @brief Enables the PAL subsystem.
+ */
+#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
+#define HAL_USE_PAL TRUE
+#endif
+
+/**
+ * @brief Enables the ADC subsystem.
+ */
+#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
+#define HAL_USE_ADC FALSE
+#endif
+
+/**
+ * @brief Enables the CAN subsystem.
+ */
+#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
+#define HAL_USE_CAN FALSE
+#endif
+
+/**
+ * @brief Enables the DAC subsystem.
+ */
+#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
+#define HAL_USE_DAC FALSE
+#endif
+
+/**
+ * @brief Enables the EXT subsystem.
+ */
+#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
+#define HAL_USE_EXT FALSE
+#endif
+
+/**
+ * @brief Enables the GPT subsystem.
+ */
+#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
+#define HAL_USE_GPT FALSE
+#endif
+
+/**
+ * @brief Enables the I2C subsystem.
+ */
+#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
+#define HAL_USE_I2C FALSE
+#endif
+
+/**
+ * @brief Enables the I2S subsystem.
+ */
+#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
+#define HAL_USE_I2S FALSE
+#endif
+
+/**
+ * @brief Enables the ICU subsystem.
+ */
+#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
+#define HAL_USE_ICU FALSE
+#endif
+
+/**
+ * @brief Enables the MAC subsystem.
+ */
+#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
+#define HAL_USE_MAC FALSE
+#endif
+
+/**
+ * @brief Enables the MMC_SPI subsystem.
+ */
+#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
+#define HAL_USE_MMC_SPI FALSE
+#endif
+
+/**
+ * @brief Enables the PWM subsystem.
+ */
+#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
+#define HAL_USE_PWM FALSE
+#endif
+
+/**
+ * @brief Enables the QSPI subsystem.
+ */
+#if !defined(HAL_USE_QSPI) || defined(__DOXYGEN__)
+#define HAL_USE_QSPI FALSE
+#endif
+
+/**
+ * @brief Enables the RTC subsystem.
+ */
+#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
+#define HAL_USE_RTC FALSE
+#endif
+
+/**
+ * @brief Enables the SDC subsystem.
+ */
+#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
+#define HAL_USE_SDC FALSE
+#endif
+
+/**
+ * @brief Enables the SERIAL subsystem.
+ */
+#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
+#define HAL_USE_SERIAL TRUE
+#endif
+
+/**
+ * @brief Enables the SERIAL over USB subsystem.
+ */
+#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
+#define HAL_USE_SERIAL_USB FALSE
+#endif
+
+/**
+ * @brief Enables the SPI subsystem.
+ */
+#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
+#define HAL_USE_SPI FALSE
+#endif
+
+/**
+ * @brief Enables the UART subsystem.
+ */
+#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
+#define HAL_USE_UART FALSE
+#endif
+
+/**
+ * @brief Enables the USB subsystem.
+ */
+#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
+#define HAL_USE_USB FALSE
+#endif
+
+/**
+ * @brief Enables the WDG subsystem.
+ */
+#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
+#define HAL_USE_WDG FALSE
+#endif
+
+/*===========================================================================*/
+/* ADC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
+#define ADC_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define ADC_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/*===========================================================================*/
+/* CAN driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Sleep mode related APIs inclusion switch.
+ */
+#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
+#define CAN_USE_SLEEP_MODE TRUE
+#endif
+
+/*===========================================================================*/
+/* I2C driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables the mutual exclusion APIs on the I2C bus.
+ */
+#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define I2C_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/*===========================================================================*/
+/* MAC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables an event sources for incoming packets.
+ */
+#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
+#define MAC_USE_ZERO_COPY FALSE
+#endif
+
+/**
+ * @brief Enables an event sources for incoming packets.
+ */
+#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
+#define MAC_USE_EVENTS TRUE
+#endif
+
+/*===========================================================================*/
+/* MMC_SPI driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Delays insertions.
+ * @details If enabled this options inserts delays into the MMC waiting
+ * routines releasing some extra CPU time for the threads with
+ * lower priority, this may slow down the driver a bit however.
+ * This option is recommended also if the SPI driver does not
+ * use a DMA channel and heavily loads the CPU.
+ */
+#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
+#define MMC_NICE_WAITING TRUE
+#endif
+
+/*===========================================================================*/
+/* SDC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Number of initialization attempts before rejecting the card.
+ * @note Attempts are performed at 10mS intervals.
+ */
+#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
+#define SDC_INIT_RETRY 100
+#endif
+
+/**
+ * @brief Include support for MMC cards.
+ * @note MMC support is not yet implemented so this option must be kept
+ * at @p FALSE.
+ */
+#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
+#define SDC_MMC_SUPPORT FALSE
+#endif
+
+/**
+ * @brief Delays insertions.
+ * @details If enabled this options inserts delays into the MMC waiting
+ * routines releasing some extra CPU time for the threads with
+ * lower priority, this may slow down the driver a bit however.
+ */
+#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
+#define SDC_NICE_WAITING TRUE
+#endif
+
+/*===========================================================================*/
+/* SERIAL driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Default bit rate.
+ * @details Configuration parameter, this is the baud rate selected for the
+ * default configuration.
+ */
+#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
+#define SERIAL_DEFAULT_BITRATE 38400
+#endif
+
+/**
+ * @brief Serial buffers size.
+ * @details Configuration parameter, you can change the depth of the queue
+ * buffers depending on the requirements of your application.
+ * @note The default is 16 bytes for both the transmission and receive
+ * buffers.
+ */
+#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
+#define SERIAL_BUFFERS_SIZE 16
+#endif
+
+/*===========================================================================*/
+/* SERIAL_USB driver related setting. */
+/*===========================================================================*/
+
+/**
+ * @brief Serial over USB buffers size.
+ * @details Configuration parameter, the buffer size must be a multiple of
+ * the USB data endpoint maximum packet size.
+ * @note The default is 256 bytes for both the transmission and receive
+ * buffers.
+ */
+#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
+#define SERIAL_USB_BUFFERS_SIZE 256
+#endif
+
+/**
+ * @brief Serial over USB number of buffers.
+ * @note The default is 2 buffers.
+ */
+#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
+#define SERIAL_USB_BUFFERS_NUMBER 2
+#endif
+
+/*===========================================================================*/
+/* SPI driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
+#define SPI_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define SPI_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/*===========================================================================*/
+/* UART driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
+#define UART_USE_WAIT FALSE
+#endif
+
+/**
+ * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define UART_USE_MUTUAL_EXCLUSION FALSE
+#endif
+
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
+#endif /* HALCONF_H */
+
+/** @} */
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.ewp b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.ewp
new file mode 100644
index 000000000..2d049cd0f
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.ewp
@@ -0,0 +1,2658 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<project>
+ <fileVersion>2</fileVersion>
+ <configuration>
+ <name>Debug</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>1</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>24</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>ExePath</name>
+ <state>Debug\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Debug\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Debug\List</state>
+ </option>
+ <option>
+ <name>GEndianMode</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>3</version>
+ <state>6</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>2</version>
+ <state>7</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGCoreOrChip</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>OGProductVersion</name>
+ <state>5.10.0.159</state>
+ </option>
+ <option>
+ <name>OGLastSavedByProductVersion</name>
+ <state>7.50.2.10499</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>STM32F303xC ST STM32F303xC</state>
+ </option>
+ <option>
+ <name>GenLowLevelInterface</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GEndianModeBE</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGBufferedTerminalOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenStdoutInterface</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>RTConfigPath2</name>
+ <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
+ </option>
+ <option>
+ <name>GBECoreSlave</name>
+ <version>22</version>
+ <state>40</state>
+ </option>
+ <option>
+ <name>OGUseCmsis</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGUseCmsisDspLib</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GRuntimeLibThreads</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CoreVariant</name>
+ <version>22</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>GFPUDeviceSlave</name>
+ <state>STM32F303xC ST STM32F303xC</state>
+ </option>
+ <option>
+ <name>FPU2</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>NrRegs</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>NEON</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GFPUCoreSlave2</name>
+ <version>22</version>
+ <state>39</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>31</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CCOptimizationNoSizeConstraints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>1</version>
+ <state>00000000</state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IEndianMode</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCLangConformance</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSignedPlainChar</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\license</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\startup\ARMCMx\devices\STM32F3xx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\ST\STM32F3xx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx\compilers\IAR</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\oslib\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\rt\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\osal\rt</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\boards\ST_STM32F3_DISCOVERY</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\common\ARMCMx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\STM32F3xx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\ADCv3</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\CANv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\DMAv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\EXTIv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\GPIOv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\I2Cv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\RTCv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\SPIv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USARTv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USBv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\xWDGv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\test\lib</state>
+ <state>$PROJ_DIR$\..\..\..\..\test\rt\source\test</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCodeSection</name>
+ <state>.text</state>
+ </option>
+ <option>
+ <name>IInterwork2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IProcessorMode2</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CCPosIndRopi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndRwpi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndNoDynInit</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccLang</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCDialect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccAllowVLA</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCppDialect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccExceptions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccRTTI</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccStaticDestr</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccCppInlineSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccFloatSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptStrategySlave</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCGuardCalls</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>9</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnWhat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnOne</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AltRegisterNames</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AOutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>AMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>AIgnoreStdInclude</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AUserIncludes</name>
+ <state>$PROJ_DIR$\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\license</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\startup\ARMCMx\devices\STM32F3xx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx</state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheckV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptionsV2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AsmNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>OBJCOPY</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OOCOutputFormat</name>
+ <version>3</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCOutputOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OOCOutputFile</name>
+ <state>ch.srec</state>
+ </option>
+ <option>
+ <name>OOCCommandLineProducer</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCObjCopyEnable</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ <hasPrio>0</hasPrio>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>ILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>16</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>IlinkOutputFile</name>
+ <state>ch.out</state>
+ </option>
+ <option>
+ <name>IlinkLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkInputFileSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkDebugInfoEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkKeepSymbols</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkConfigDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkMapFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogInitialization</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogModule</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogSection</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogVeneer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile</name>
+ <state>$PROJ_DIR$\ch.icf</state>
+ </option>
+ <option>
+ <name>IlinkIcfFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkSuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsRem</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkWarningsAreErrors</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkUseExtraOptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkLowLevelInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAutoLibEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAdditionalLibs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabel</name>
+ <state>__iar_program_start</state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>FillerStart</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>FillerEnd</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkBufferedTerminalOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkStdoutInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcFullSize</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIElfToolPostProcess</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogAutoLibSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogRedirSymbols</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogUnusedFragments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcReverseByteOrder</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcUseAsInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptInline</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsAllow</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsForce</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptMergeDuplSections</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptUseVfe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptForceVfe</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackAnalysisEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackControlFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkStackCallGraphFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlgorithm</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcUnitSize</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkThreadsSlave</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IARCHIVE</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>IarchiveInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IarchiveOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IarchiveOutput</name>
+ <state>###Unitialized###</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <configuration>
+ <name>Release</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <version>24</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>ExePath</name>
+ <state>Release\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Release\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Release\List</state>
+ </option>
+ <option>
+ <name>GEndianMode</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>3</version>
+ <state>6</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>2</version>
+ <state>7</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGCoreOrChip</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>OGProductVersion</name>
+ <state>5.10.0.159</state>
+ </option>
+ <option>
+ <name>OGLastSavedByProductVersion</name>
+ <state>7.50.2.10499</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>STM32F303xC ST STM32F303xC</state>
+ </option>
+ <option>
+ <name>GenLowLevelInterface</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GEndianModeBE</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OGBufferedTerminalOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenStdoutInterface</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>RTConfigPath2</name>
+ <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
+ </option>
+ <option>
+ <name>GBECoreSlave</name>
+ <version>22</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>OGUseCmsis</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGUseCmsisDspLib</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GRuntimeLibThreads</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CoreVariant</name>
+ <version>22</version>
+ <state>39</state>
+ </option>
+ <option>
+ <name>GFPUDeviceSlave</name>
+ <state>STM32F303xC ST STM32F303xC</state>
+ </option>
+ <option>
+ <name>FPU2</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>NrRegs</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>NEON</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GFPUCoreSlave2</name>
+ <version>22</version>
+ <state>39</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>31</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCOptimizationNoSizeConstraints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>1</version>
+ <state>11111110</state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IEndianMode</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCLangConformance</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSignedPlainChar</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\license</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\startup\ARMCMx\devices\STM32F3xx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\ST\STM32F3xx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx\compilers\IAR</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\oslib\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\rt\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\osal\rt</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\boards\ST_STM32F3_DISCOVERY</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\common\ARMCMx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\STM32F3xx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\ADCv3</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\CANv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\DMAv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\EXTIv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\GPIOv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\I2Cv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\RTCv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\SPIv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USARTv2</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USBv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\xWDGv1</state>
+ <state>$PROJ_DIR$\..\..\..\..\test\lib</state>
+ <state>$PROJ_DIR$\..\..\..\..\test\rt\source\test</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCodeSection</name>
+ <state>.text</state>
+ </option>
+ <option>
+ <name>IInterwork2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IProcessorMode2</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CCPosIndRopi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndRwpi</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPosIndNoDynInit</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccLang</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCDialect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccAllowVLA</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCppDialect</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccExceptions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccRTTI</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccStaticDestr</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccCppInlineSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IccCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IccFloatSemantics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptStrategySlave</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCGuardCalls</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>9</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnWhat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnOne</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AltRegisterNames</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AOutputFile</name>
+ <state>$FILE_BNAME$.o</state>
+ </option>
+ <option>
+ <name>AMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>AIgnoreStdInclude</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AUserIncludes</name>
+ <state>$PROJ_DIR$\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\license</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\startup\ARMCMx\devices\STM32F3xx</state>
+ <state>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx</state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheckV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptionsV2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AsmNoLiteralPool</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>OBJCOPY</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>OOCOutputFormat</name>
+ <version>3</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCOutputOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OOCOutputFile</name>
+ <state>ch.srec</state>
+ </option>
+ <option>
+ <name>OOCCommandLineProducer</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OOCObjCopyEnable</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ <hasPrio>0</hasPrio>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>ILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>16</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>IlinkOutputFile</name>
+ <state>ch.out</state>
+ </option>
+ <option>
+ <name>IlinkLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkInputFileSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkDebugInfoEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkKeepSymbols</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkRawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkConfigDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkMapFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkLogFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogInitialization</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogModule</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogSection</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogVeneer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIcfOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkIcfFile</name>
+ <state>$PROJ_DIR$\ch.icf</state>
+ </option>
+ <option>
+ <name>IlinkIcfFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkSuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsRem</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkTreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkWarningsAreErrors</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkUseExtraOptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkLowLevelInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAutoLibEnable</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkAdditionalLibs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkProgramEntryLabel</name>
+ <state>__iar_program_start</state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>FillerStart</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>FillerEnd</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkBE8Slave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkBufferedTerminalOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkStdoutInterfaceSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcFullSize</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkIElfToolPostProcess</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogAutoLibSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogRedirSymbols</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkLogUnusedFragments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcReverseByteOrder</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCrcUseAsInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptInline</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsAllow</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptExceptionsForce</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkCmsis</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptMergeDuplSections</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkOptUseVfe</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IlinkOptForceVfe</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackAnalysisEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkStackControlFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IlinkStackCallGraphFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlgorithm</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcUnitSize</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IlinkThreadsSlave</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IARCHIVE</name>
+ <archiveVersion>0</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>IarchiveInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IarchiveOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IarchiveOutput</name>
+ <state>###Unitialized###</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <mfc>
+ <configuration>Release</configuration>
+ </mfc>
+ <group>
+ <name>os</name>
+ <group>
+ <name>common</name>
+ <group>
+ <name>oslib</name>
+ <group>
+ <name>include</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\oslib\include\chbsem.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\oslib\include\chheap.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\oslib\include\chmboxes.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\oslib\include\chmemcore.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\oslib\include\chmempools.h</name>
+ </file>
+ </group>
+ <group>
+ <name>src</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\oslib\src\chheap.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\oslib\src\chmboxes.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\oslib\src\chmemcore.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\oslib\src\chmempools.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>port</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx\chcore.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx\chcore.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx\chcore_timer.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx\chcore_v7m.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx\chcore_v7m.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx\compilers\IAR\chcoreasm_v7m.s</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ports\ARMCMx\compilers\IAR\chtypes.h</name>
+ </file>
+ </group>
+ <group>
+ <name>startup</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\startup\ARMCMx\devices\STM32F3xx\cmparams.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\startup\ARMCMx\compilers\IAR\cstartup.s</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\startup\ARMCMx\compilers\IAR\vectors.s</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>ext</name>
+ <group>
+ <name>CMSIS</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\include\core_cm4.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\include\core_cm4_simd.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\include\core_cmFunc.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\include\core_cmInstr.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\ST\stm32f3xx.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\common\ext\CMSIS\ST\system_stm32f3xx.h</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>hal</name>
+ <group>
+ <name>board</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\boards\ST_STM32F3_DISCOVERY\board.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\boards\ST_STM32F3_DISCOVERY\board.h</name>
+ </file>
+ </group>
+ <group>
+ <name>include</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_adc.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_buffers.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_can.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_channels.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_dac.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_ext.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_files.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_gpt.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_i2c.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_i2s.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_icu.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_ioblock.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_mac.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_mii.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_mmc_spi.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_mmcsd.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_pal.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_pwm.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_queues.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_rtc.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_sdc.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_serial.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_serial_usb.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_spi.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_st.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_streams.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_uart.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_usb.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_usb_cdc.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\include\hal_wdg.h</name>
+ </file>
+ </group>
+ <group>
+ <name>lib</name>
+ <group>
+ <name>streams</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\lib\streams\chprintf.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\lib\streams\chprintf.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\lib\streams\memstreams.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\lib\streams\memstreams.h</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>port</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\ADCv3\hal_adc_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\ADCv3\hal_adc_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\CANv1\hal_can_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\CANv1\hal_can_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\DACv1\hal_dac_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\DACv1\hal_dac_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\EXTIv1\hal_ext_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\EXTIv1\hal_ext_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\STM32F3xx\hal_ext_lld_isr.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\STM32F3xx\hal_ext_lld_isr.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\hal_gpt_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\hal_gpt_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\I2Cv2\hal_i2c_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\I2Cv2\hal_i2c_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\SPIv2\hal_i2s_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\SPIv2\hal_i2s_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\hal_icu_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\hal_icu_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\STM32F3xx\hal_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\STM32F3xx\hal_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\GPIOv2\hal_pal_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\GPIOv2\hal_pal_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\hal_pwm_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\hal_pwm_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\RTCv2\hal_rtc_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\RTCv2\hal_rtc_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\SDMMCv1\hal_sdc_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\SDMMCv1\hal_sdc_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USARTv2\hal_serial_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USARTv2\hal_serial_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\SPIv2\hal_spi_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\SPIv2\hal_spi_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\hal_st_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\hal_st_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USARTv2\hal_uart_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USARTv2\hal_uart_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USBv1\hal_usb_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USBv1\hal_usb_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\xWDGv1\hal_wdg_lld.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\xWDGv1\hal_wdg_lld.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\common\ARMCMx\nvic.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\common\ARMCMx\nvic.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\DMAv1\stm32_dma.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\DMAv1\stm32_dma.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\STM32F3xx\stm32_isr.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\STM32F3xx\stm32_rcc.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\STM32F3xx\stm32_registry.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\stm32_tim.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\ports\STM32\LLD\USBv1\stm32_usb.h</name>
+ </file>
+ </group>
+ <group>
+ <name>src</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_adc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_buffers.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_can.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_dac.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_ext.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_gpt.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_i2c.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_i2s.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_icu.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_mac.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_mmc_spi.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_mmcsd.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_pal.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_pwm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_queues.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_rtc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_sdc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_serial.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_serial_usb.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_spi.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_st.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_uart.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_usb.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\hal\src\hal_wdg.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>rt</name>
+ <group>
+ <name>include</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\ch.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chalign.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chchecks.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chcond.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chcustomer.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chdebug.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chdynamic.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chevents.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chmsg.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chmtx.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chregistry.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chschd.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chsem.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chstats.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chsys.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chsystypes.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chthreads.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chtm.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chtrace.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\include\chvt.h</name>
+ </file>
+ </group>
+ <group>
+ <name>src</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chcond.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chdebug.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chdynamic.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chevents.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chmsg.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chmtx.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chregistry.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chschd.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chsem.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chstats.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chsys.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chthreads.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chtm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chtrace.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\os\rt\src\chvt.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>various</name>
+ </group>
+ </group>
+ <group>
+ <name>test</name>
+ <group>
+ <name>lib</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\lib\ch_test.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\lib\ch_test.h</name>
+ </file>
+ </group>
+ <group>
+ <name>source</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_root.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_root.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_001.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_001.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_002.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_002.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_003.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_003.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_004.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_004.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_005.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_005.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_006.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_006.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_007.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_007.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_008.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_008.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_009.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_009.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_010.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_010.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_011.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_011.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_012.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\test\rt\source\test\test_sequence_012.h</name>
+ </file>
+ </group>
+ </group>
+ <file>
+ <name>$PROJ_DIR$\..\chconf.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\halconf.h</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\mcuconf.h</name>
+ </file>
+</project>
+
+
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.eww b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.eww
new file mode 100644
index 000000000..f9b3b2000
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.eww
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<workspace>
+ <project>
+ <path>$WS_DIR$\ch.ewp</path>
+ </project>
+ <batchBuild/>
+</workspace>
+
+
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.icf b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.icf
new file mode 100644
index 000000000..1f3964240
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/iar/ch.icf
@@ -0,0 +1,52 @@
+/*###ICF### Section handled by ICF editor, don't touch! ****/
+/*-Editor annotation file-*/
+/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
+/*-Specials-*/
+
+define symbol __ICFEDIT_intvec_start__ = 0x08000000;
+
+/*-Memory Regions-*/
+define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
+define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF;
+define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
+define symbol __ICFEDIT_region_RAM_end__ = 0x20009FFF;
+
+/*-Sizes-*/
+define symbol __ICFEDIT_size_cstack__ = 0x400; /* Size of the process stack */
+define symbol __ICFEDIT_size_heap__ = 0x100; /* Used to mark heap (heap + sysheap) maximum size limit */
+/**** End of ICF editor section. ###ICF###*/
+
+/* Size of the IRQ Stack (Main Stack).*/
+define symbol __ICFEDIT_size_irqstack__ = 0x400;
+
+define memory mem with size = 4G;
+define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
+define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
+
+define block IRQSTACK with alignment = 8, size = __ICFEDIT_size_irqstack__, fixed order { };
+define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__, fixed order {section CSTACK};
+define block DATABSS with alignment = 8, fixed order {readwrite, zeroinit};
+define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__, fixed order {section HEAP};
+define block SYSHEAP with alignment = 8 {section SYSHEAP};
+
+initialize by copy {readwrite};
+do not initialize {section .noinit};
+
+keep { section .intvec };
+
+place at address mem:__ICFEDIT_intvec_start__ {readonly section .intvec};
+
+place in ROM_region {readonly};
+
+place at start of RAM_region {block IRQSTACK}; /* Main stack which becomes IRQ stack */
+place in RAM_region {block CSTACK}; /* Process stack */
+place in RAM_region {block DATABSS}; /* Textdata region */
+place in RAM_region {block HEAP}; /* Sys Heap size limit marker */
+place at end of RAM_region {block SYSHEAP}; /* Sys Heap available for allocations */
+
+/* Define stack and memory addresses for kernel usage */
+define exported symbol __main_stack_base__ = __ICFEDIT_region_RAM_start__;
+define exported symbol __main_stack_end__ = __main_stack_base__ + __ICFEDIT_size_irqstack__; /* Note: End refers to empty stack */
+define exported symbol __process_stack_base__ = __main_stack_end__;
+define exported symbol __main_thread_stack_base__ = __process_stack_base__; /* Note: Main thread uses process stack */
+define exported symbol __process_stack_end__ = __process_stack_base__ + __ICFEDIT_size_cstack__;
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/keil/ch.uvprojx b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/keil/ch.uvprojx
new file mode 100644
index 000000000..8dcc10785
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/keil/ch.uvprojx
@@ -0,0 +1,1396 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
+ <SchemaVersion>2.1</SchemaVersion>
+
+ <Header>### uVision Project, (C) Keil Software</Header>
+
+ <Targets>
+ <Target>
+ <TargetName>Demo</TargetName>
+ <ToolsetNumber>0x4</ToolsetNumber>
+ <ToolsetName>ARM-ADS</ToolsetName>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>STM32F303VC</Device>
+ <Vendor>STMicroelectronics</Vendor>
+ <PackID>Keil.STM32F3xx_DFP.1.3.0</PackID>
+ <PackURL>http://www.keil.com/pack/</PackURL>
+ <Cpu>IROM(0x08000000,0x40000) IRAM(0x20000000,0xC000) IRAM2(0x10000000,0x2000) CPUTYPE("Cortex-M4") FPU2 CLOCK(72000000) ELITTLE</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
+ <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000 -FP0($$Device:STM32F303VC$Flash\STM32F3xx_256.FLM))</FlashDriverDll>
+ <DeviceId>6331</DeviceId>
+ <RegisterFile>$$Device:STM32F303VC$Device\Include\STM32F3xx.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile>$$Device:STM32F303VC$SVD\STM32F3xx.svd</SFDFile>
+ <bCustSvd>0</bCustSvd>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>.\obj\</OutputDirectory>
+ <OutputName>ch</OutputName>
+ <CreateExecutable>1</CreateExecutable>
+ <CreateLib>0</CreateLib>
+ <CreateHexFile>1</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>1</BrowseInformation>
+ <ListingPath>.\lst\</ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopU1X>0</nStopU1X>
+ <nStopU2X>0</nStopU2X>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopB1X>0</nStopB1X>
+ <nStopB2X>0</nStopB2X>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopA1X>0</nStopA1X>
+ <nStopA2X>0</nStopA2X>
+ </AfterMake>
+ <SelectedForBatchBuild>0</SelectedForBatchBuild>
+ <SVCSIdString></SVCSIdString>
+ </TargetCommonOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName>SARMCM3.DLL</SimDllName>
+ <SimDllArguments> -REMAP -MPU</SimDllArguments>
+ <SimDlgDll>DCM.DLL</SimDlgDll>
+ <SimDlgDllArguments>-pCM4</SimDlgDllArguments>
+ <TargetDllName>SARMCM3.DLL</TargetDllName>
+ <TargetDllArguments> -MPU</TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ <Simulator>
+ <UseSimulator>0</UseSimulator>
+ <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+ <RunToMain>1</RunToMain>
+ <RestoreBreakpoints>1</RestoreBreakpoints>
+ <RestoreWatchpoints>1</RestoreWatchpoints>
+ <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+ <RestoreFunctions>1</RestoreFunctions>
+ <RestoreToolbox>1</RestoreToolbox>
+ <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+ <RestoreSysVw>1</RestoreSysVw>
+ </Simulator>
+ <Target>
+ <UseTarget>1</UseTarget>
+ <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+ <RunToMain>1</RunToMain>
+ <RestoreBreakpoints>1</RestoreBreakpoints>
+ <RestoreWatchpoints>1</RestoreWatchpoints>
+ <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+ <RestoreFunctions>0</RestoreFunctions>
+ <RestoreToolbox>1</RestoreToolbox>
+ <RestoreTracepoints>1</RestoreTracepoints>
+ <RestoreSysVw>1</RestoreSysVw>
+ </Target>
+ <RunDebugAfterBuild>0</RunDebugAfterBuild>
+ <TargetSelection>11</TargetSelection>
+ <SimDlls>
+ <CpuDll></CpuDll>
+ <CpuDllArguments></CpuDllArguments>
+ <PeripheralDll></PeripheralDll>
+ <PeripheralDllArguments></PeripheralDllArguments>
+ <InitializationFile></InitializationFile>
+ </SimDlls>
+ <TargetDlls>
+ <CpuDll></CpuDll>
+ <CpuDllArguments></CpuDllArguments>
+ <PeripheralDll></PeripheralDll>
+ <PeripheralDllArguments></PeripheralDllArguments>
+ <InitializationFile></InitializationFile>
+ <Driver>STLink\ST-LINKIII-KEIL_SWO.dll</Driver>
+ </TargetDlls>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>1</Capability>
+ <DriverSelection>4104</DriverSelection>
+ </Flash1>
+ <bUseTDR>1</bUseTDR>
+ <Flash2>STLink\ST-LINKIII-KEIL_SWO.dll</Flash2>
+ <Flash3>"" ()</Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
+ <FcArmLst>0</FcArmLst>
+ </Utilities>
+ <TargetArmAds>
+ <ArmAdsMisc>
+ <GenerateListings>0</GenerateListings>
+ <asHll>1</asHll>
+ <asAsm>1</asAsm>
+ <asMacX>1</asMacX>
+ <asSyms>1</asSyms>
+ <asFals>1</asFals>
+ <asDbgD>1</asDbgD>
+ <asForm>1</asForm>
+ <ldLst>0</ldLst>
+ <ldmm>1</ldmm>
+ <ldXref>1</ldXref>
+ <BigEnd>0</BigEnd>
+ <AdsALst>1</AdsALst>
+ <AdsACrf>1</AdsACrf>
+ <AdsANop>0</AdsANop>
+ <AdsANot>0</AdsANot>
+ <AdsLLst>1</AdsLLst>
+ <AdsLmap>1</AdsLmap>
+ <AdsLcgr>1</AdsLcgr>
+ <AdsLsym>1</AdsLsym>
+ <AdsLszi>1</AdsLszi>
+ <AdsLtoi>1</AdsLtoi>
+ <AdsLsun>1</AdsLsun>
+ <AdsLven>1</AdsLven>
+ <AdsLsxf>1</AdsLsxf>
+ <RvctClst>0</RvctClst>
+ <GenPPlst>0</GenPPlst>
+ <AdsCpuType>"Cortex-M4"</AdsCpuType>
+ <RvctDeviceName></RvctDeviceName>
+ <mOS>0</mOS>
+ <uocRom>0</uocRom>
+ <uocRam>0</uocRam>
+ <hadIROM>1</hadIROM>
+ <hadIRAM>1</hadIRAM>
+ <hadXRAM>0</hadXRAM>
+ <uocXRam>0</uocXRam>
+ <RvdsVP>2</RvdsVP>
+ <hadIRAM2>1</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <StupSel>8</StupSel>
+ <useUlib>0</useUlib>
+ <EndSel>0</EndSel>
+ <uLtcg>0</uLtcg>
+ <RoSelD>3</RoSelD>
+ <RwSelD>3</RwSelD>
+ <CodeSel>0</CodeSel>
+ <OptFeed>0</OptFeed>
+ <NoZi1>0</NoZi1>
+ <NoZi2>0</NoZi2>
+ <NoZi3>0</NoZi3>
+ <NoZi4>0</NoZi4>
+ <NoZi5>1</NoZi5>
+ <Ro1Chk>0</Ro1Chk>
+ <Ro2Chk>0</Ro2Chk>
+ <Ro3Chk>0</Ro3Chk>
+ <Ir1Chk>1</Ir1Chk>
+ <Ir2Chk>0</Ir2Chk>
+ <Ra1Chk>0</Ra1Chk>
+ <Ra2Chk>0</Ra2Chk>
+ <Ra3Chk>0</Ra3Chk>
+ <Im1Chk>1</Im1Chk>
+ <Im2Chk>1</Im2Chk>
+ <OnChipMemories>
+ <Ocm1>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm1>
+ <Ocm2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm2>
+ <Ocm3>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm3>
+ <Ocm4>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm4>
+ <Ocm5>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm5>
+ <Ocm6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm6>
+ <IRAM>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0xc000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x8000000</StartAddress>
+ <Size>0x40000</Size>
+ </IROM>
+ <XRAM>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </XRAM>
+ <OCR_RVCT1>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT1>
+ <OCR_RVCT2>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT2>
+ <OCR_RVCT3>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT3>
+ <OCR_RVCT4>
+ <Type>1</Type>
+ <StartAddress>0x8000000</StartAddress>
+ <Size>0x40000</Size>
+ </OCR_RVCT4>
+ <OCR_RVCT5>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT5>
+ <OCR_RVCT6>
+ <Type>0</Type>
+ <StartAddress>0x10000000</StartAddress>
+ <Size>0x2000</Size>
+ </OCR_RVCT6>
+ <OCR_RVCT7>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT7>
+ <OCR_RVCT8>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT8>
+ <OCR_RVCT9>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0xa000</Size>
+ </OCR_RVCT9>
+ <OCR_RVCT10>
+ <Type>0</Type>
+ <StartAddress>0x2000a000</StartAddress>
+ <Size>0x1</Size>
+ </OCR_RVCT10>
+ </OnChipMemories>
+ <RvctStartVector></RvctStartVector>
+ </ArmAdsMisc>
+ <Cads>
+ <interw>1</interw>
+ <Optim>4</Optim>
+ <oTime>1</oTime>
+ <SplitLS>0</SplitLS>
+ <OneElfS>0</OneElfS>
+ <Strict>0</Strict>
+ <EnumInt>0</EnumInt>
+ <PlainCh>0</PlainCh>
+ <Ropi>0</Ropi>
+ <Rwpi>0</Rwpi>
+ <wLevel>2</wLevel>
+ <uThumb>0</uThumb>
+ <uSurpInc>0</uSurpInc>
+ <uC99>0</uC99>
+ <useXO>0</useXO>
+ <v6Lang>0</v6Lang>
+ <v6LangP>0</v6LangP>
+ <VariousControls>
+ <MiscControls>--c99 -USTM32F303xC</MiscControls>
+ <Define>__heap_base__=Image$$$$RW_IRAM1$$$$ZI$$$$Limit __heap_end__=Image$$$$RW_IRAM2$$$$Base</Define>
+ <Undefine></Undefine>
+ <IncludePath>..\;..\..\..\..\os\common\ports\ARMCMx\devices\STM32F3xx;..\..\..\..\os\ext\CMSIS\include;..\..\..\..\os\ext\CMSIS\ST;..\..\..\..\os\rt\ports\ARMCMx;..\..\..\..\os\rt\ports\ARMCMx\compilers\RVCT;..\..\..\..\os\rt\include;..\..\..\..\os\hal\osal\rt;..\..\..\..\os\hal\include;..\..\..\..\os\hal\boards\ST_STM32F3_DISCOVERY;..\..\..\..\os\hal\ports\common\ARMCMx;..\..\..\..\os\hal\ports\STM32\STM32F3xx;..\..\..\..\os\hal\ports\STM32\LLD;..\..\..\..\os\hal\ports\STM32\LLD\ADCv3;..\..\..\..\os\hal\ports\STM32\LLD\CANv1;..\..\..\..\os\hal\ports\STM32\LLD\DACv1;..\..\..\..\os\hal\ports\STM32\LLD\DMAv1;..\..\..\..\os\hal\ports\STM32\LLD\EXTIv1;..\..\..\..\os\hal\ports\STM32\LLD\GPIOv2;..\..\..\..\os\hal\ports\STM32\LLD\I2Cv2;..\..\..\..\os\hal\ports\STM32\LLD\RTCv2;..\..\..\..\os\hal\ports\STM32\LLD\SPIv2;..\..\..\..\os\hal\ports\STM32\LLD\TIMv1;..\..\..\..\os\hal\ports\STM32\LLD\USARTv2;..\..\..\..\os\hal\ports\STM32\LLD\USBv1;..\..\..\..\os\hal\ports\STM32\LLD\xWDGv1;..\..\..\..\test\rt</IncludePath>
+ </VariousControls>
+ </Cads>
+ <Aads>
+ <interw>1</interw>
+ <Ropi>0</Ropi>
+ <Rwpi>0</Rwpi>
+ <thumb>0</thumb>
+ <SplitLS>0</SplitLS>
+ <SwStkChk>0</SwStkChk>
+ <NoWarn>0</NoWarn>
+ <uSurpInc>0</uSurpInc>
+ <useXO>0</useXO>
+ <VariousControls>
+ <MiscControls>--cpreproc</MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath>..\;..\..\..\..\os\common\ports\ARMCMx\devices\STM32F3xx;..\..\..\..\os\rt\ports\ARMCMx</IncludePath>
+ </VariousControls>
+ </Aads>
+ <LDads>
+ <umfTarg>1</umfTarg>
+ <Ropi>0</Ropi>
+ <Rwpi>0</Rwpi>
+ <noStLib>0</noStLib>
+ <RepFail>1</RepFail>
+ <useFile>0</useFile>
+ <TextAddressRange>0x08000000</TextAddressRange>
+ <DataAddressRange>0x20000000</DataAddressRange>
+ <pXoBase></pXoBase>
+ <ScatterFile></ScatterFile>
+ <IncludeLibs></IncludeLibs>
+ <IncludeLibsPath></IncludeLibsPath>
+ <Misc></Misc>
+ <LinkerInputFile></LinkerInputFile>
+ <DisabledWarnings></DisabledWarnings>
+ </LDads>
+ </TargetArmAds>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>startup</GroupName>
+ <Files>
+ <File>
+ <FileName>cmparams.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\common\ports\ARMCMx\devices\STM32F3xx\cmparams.h</FilePath>
+ </File>
+ <File>
+ <FileName>cstartup.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\..\os\common\ports\ARMCMx\compilers\RVCT\cstartup.s</FilePath>
+ </File>
+ <File>
+ <FileName>vectors.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\..\os\common\ports\ARMCMx\compilers\RVCT\vectors.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>cmsis</GroupName>
+ <Files>
+ <File>
+ <FileName>core_cmInstr.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\ext\CMSIS\include\core_cmInstr.h</FilePath>
+ </File>
+ <File>
+ <FileName>core_cm4.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\ext\CMSIS\include\core_cm4.h</FilePath>
+ </File>
+ <File>
+ <FileName>core_cm4_simd.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\ext\CMSIS\include\core_cm4_simd.h</FilePath>
+ </File>
+ <File>
+ <FileName>core_cmFunc.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\ext\CMSIS\include\core_cmFunc.h</FilePath>
+ </File>
+ <File>
+ <FileName>system_stm32f3xx.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\ext\CMSIS\ST\system_stm32f3xx.h</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>kernel port</GroupName>
+ <Files>
+ <File>
+ <FileName>chcore_v7m.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\ports\ARMCMx\chcore_v7m.h</FilePath>
+ </File>
+ <File>
+ <FileName>chcore.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\ports\ARMCMx\chcore.c</FilePath>
+ </File>
+ <File>
+ <FileName>chcore.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\ports\ARMCMx\chcore.h</FilePath>
+ </File>
+ <File>
+ <FileName>chcore_timer.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\ports\ARMCMx\chcore_timer.h</FilePath>
+ </File>
+ <File>
+ <FileName>chcore_v7m.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\ports\ARMCMx\chcore_v7m.c</FilePath>
+ </File>
+ <File>
+ <FileName>chtypes.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\ports\ARMCMx\compilers\RVCT\chtypes.h</FilePath>
+ </File>
+ <File>
+ <FileName>chcoreasm_v7m.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\..\os\rt\ports\ARMCMx\compilers\RVCT\chcoreasm_v7m.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>kernel</GroupName>
+ <Files>
+ <File>
+ <FileName>ch.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\ch.h</FilePath>
+ </File>
+ <File>
+ <FileName>chbsem.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chbsem.h</FilePath>
+ </File>
+ <File>
+ <FileName>chcond.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chcond.h</FilePath>
+ </File>
+ <File>
+ <FileName>chdebug.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chdebug.h</FilePath>
+ </File>
+ <File>
+ <FileName>chdynamic.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chdynamic.h</FilePath>
+ </File>
+ <File>
+ <FileName>chevents.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chevents.h</FilePath>
+ </File>
+ <File>
+ <FileName>chheap.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chheap.h</FilePath>
+ </File>
+ <File>
+ <FileName>chmboxes.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chmboxes.h</FilePath>
+ </File>
+ <File>
+ <FileName>chmemcore.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chmemcore.h</FilePath>
+ </File>
+ <File>
+ <FileName>chmempools.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chmempools.h</FilePath>
+ </File>
+ <File>
+ <FileName>chmsg.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chmsg.h</FilePath>
+ </File>
+ <File>
+ <FileName>chmtx.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chmtx.h</FilePath>
+ </File>
+ <File>
+ <FileName>chqueues.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chqueues.h</FilePath>
+ </File>
+ <File>
+ <FileName>chregistry.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chregistry.h</FilePath>
+ </File>
+ <File>
+ <FileName>chschd.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chschd.h</FilePath>
+ </File>
+ <File>
+ <FileName>chsem.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chsem.h</FilePath>
+ </File>
+ <File>
+ <FileName>chstats.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chstats.h</FilePath>
+ </File>
+ <File>
+ <FileName>chstreams.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chstreams.h</FilePath>
+ </File>
+ <File>
+ <FileName>chsys.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chsys.h</FilePath>
+ </File>
+ <File>
+ <FileName>chthreads.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chthreads.h</FilePath>
+ </File>
+ <File>
+ <FileName>chtm.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chtm.h</FilePath>
+ </File>
+ <File>
+ <FileName>chvt.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\rt\include\chvt.h</FilePath>
+ </File>
+ <File>
+ <FileName>chcond.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chcond.c</FilePath>
+ </File>
+ <File>
+ <FileName>chdebug.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chdebug.c</FilePath>
+ </File>
+ <File>
+ <FileName>chdynamic.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chdynamic.c</FilePath>
+ </File>
+ <File>
+ <FileName>chevents.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chevents.c</FilePath>
+ </File>
+ <File>
+ <FileName>chheap.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chheap.c</FilePath>
+ </File>
+ <File>
+ <FileName>chmboxes.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chmboxes.c</FilePath>
+ </File>
+ <File>
+ <FileName>chmemcore.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chmemcore.c</FilePath>
+ </File>
+ <File>
+ <FileName>chmempools.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chmempools.c</FilePath>
+ </File>
+ <File>
+ <FileName>chmsg.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chmsg.c</FilePath>
+ </File>
+ <File>
+ <FileName>chmtx.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chmtx.c</FilePath>
+ </File>
+ <File>
+ <FileName>chqueues.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chqueues.c</FilePath>
+ </File>
+ <File>
+ <FileName>chregistry.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chregistry.c</FilePath>
+ </File>
+ <File>
+ <FileName>chschd.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chschd.c</FilePath>
+ </File>
+ <File>
+ <FileName>chsem.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chsem.c</FilePath>
+ </File>
+ <File>
+ <FileName>chstats.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chstats.c</FilePath>
+ </File>
+ <File>
+ <FileName>chsys.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chsys.c</FilePath>
+ </File>
+ <File>
+ <FileName>chthreads.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chthreads.c</FilePath>
+ </File>
+ <File>
+ <FileName>chtm.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chtm.c</FilePath>
+ </File>
+ <File>
+ <FileName>chvt.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\rt\src\chvt.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>osal</GroupName>
+ <Files>
+ <File>
+ <FileName>osal.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\osal\rt\osal.c</FilePath>
+ </File>
+ <File>
+ <FileName>osal.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\osal\rt\osal.h</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>hal port</GroupName>
+ <Files>
+ <File>
+ <FileName>ext_lld_isr.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\STM32F3xx\ext_lld_isr.c</FilePath>
+ </File>
+ <File>
+ <FileName>ext_lld_isr.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\STM32F3xx\ext_lld_isr.h</FilePath>
+ </File>
+ <File>
+ <FileName>hal_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\STM32F3xx\hal_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>hal_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\STM32F3xx\hal_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_isr.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\STM32F3xx\stm32_isr.h</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_rcc.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\STM32F3xx\stm32_rcc.h</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_registry.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\STM32F3xx\stm32_registry.h</FilePath>
+ </File>
+ <File>
+ <FileName>pal_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\GPIOv2\pal_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>pal_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\GPIOv2\pal_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>i2c_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\I2Cv2\i2c_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>i2c_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\I2Cv2\i2c_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>rtc_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\RTCv2\rtc_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtc_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\RTCv2\rtc_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>spi_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\SPIv2\spi_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>spi_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\SPIv2\spi_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>gpt_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\gpt_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>gpt_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\gpt_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>icu_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\icu_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>icu_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\icu_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>pwm_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\pwm_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>pwm_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\pwm_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>st_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\st_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>st_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\st_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_tim.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\TIMv1\stm32_tim.h</FilePath>
+ </File>
+ <File>
+ <FileName>serial_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\USARTv2\serial_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>serial_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\USARTv2\serial_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>uart_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\USARTv2\uart_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>uart_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\USARTv2\uart_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_usb.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\USBv1\stm32_usb.h</FilePath>
+ </File>
+ <File>
+ <FileName>usb_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\USBv1\usb_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>usb_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\USBv1\usb_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>nvic.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\common\ARMCMx\nvic.c</FilePath>
+ </File>
+ <File>
+ <FileName>nvic.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\common\ARMCMx\nvic.h</FilePath>
+ </File>
+ <File>
+ <FileName>can_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\CANv1\can_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>can_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\CANv1\can_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>ext_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\EXTIv1\ext_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>ext_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\EXTIv1\ext_lld.h</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_dma.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\DMAv1\stm32_dma.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32_dma.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\DMAv1\stm32_dma.h</FilePath>
+ </File>
+ <File>
+ <FileName>adc_lld.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\ADCv3\adc_lld.c</FilePath>
+ </File>
+ <File>
+ <FileName>adc_lld.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\ports\STM32\LLD\ADCv3\adc_lld.h</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>hal</GroupName>
+ <Files>
+ <File>
+ <FileName>adc.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\adc.h</FilePath>
+ </File>
+ <File>
+ <FileName>can.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\can.h</FilePath>
+ </File>
+ <File>
+ <FileName>dac.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\dac.h</FilePath>
+ </File>
+ <File>
+ <FileName>ext.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\ext.h</FilePath>
+ </File>
+ <File>
+ <FileName>gpt.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\gpt.h</FilePath>
+ </File>
+ <File>
+ <FileName>hal.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\hal.h</FilePath>
+ </File>
+ <File>
+ <FileName>hal_buffers.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\hal_buffers.h</FilePath>
+ </File>
+ <File>
+ <FileName>hal_channels.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\hal_channels.h</FilePath>
+ </File>
+ <File>
+ <FileName>hal_files.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\hal_files.h</FilePath>
+ </File>
+ <File>
+ <FileName>hal_ioblock.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\hal_ioblock.h</FilePath>
+ </File>
+ <File>
+ <FileName>hal_mmcsd.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\hal_mmcsd.h</FilePath>
+ </File>
+ <File>
+ <FileName>hal_queues.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\hal_queues.h</FilePath>
+ </File>
+ <File>
+ <FileName>hal_streams.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\hal_streams.h</FilePath>
+ </File>
+ <File>
+ <FileName>i2c.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\i2c.h</FilePath>
+ </File>
+ <File>
+ <FileName>i2s.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\i2s.h</FilePath>
+ </File>
+ <File>
+ <FileName>icu.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\icu.h</FilePath>
+ </File>
+ <File>
+ <FileName>mac.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\mac.h</FilePath>
+ </File>
+ <File>
+ <FileName>mii.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\mii.h</FilePath>
+ </File>
+ <File>
+ <FileName>mmc_spi.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\mmc_spi.h</FilePath>
+ </File>
+ <File>
+ <FileName>pal.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\pal.h</FilePath>
+ </File>
+ <File>
+ <FileName>pwm.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\pwm.h</FilePath>
+ </File>
+ <File>
+ <FileName>rtc.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\rtc.h</FilePath>
+ </File>
+ <File>
+ <FileName>sdc.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\sdc.h</FilePath>
+ </File>
+ <File>
+ <FileName>serial.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\serial.h</FilePath>
+ </File>
+ <File>
+ <FileName>serial_usb.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\serial_usb.h</FilePath>
+ </File>
+ <File>
+ <FileName>spi.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\spi.h</FilePath>
+ </File>
+ <File>
+ <FileName>st.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\st.h</FilePath>
+ </File>
+ <File>
+ <FileName>uart.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\uart.h</FilePath>
+ </File>
+ <File>
+ <FileName>usb.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\usb.h</FilePath>
+ </File>
+ <File>
+ <FileName>wdg.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\include\wdg.h</FilePath>
+ </File>
+ <File>
+ <FileName>adc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\adc.c</FilePath>
+ </File>
+ <File>
+ <FileName>can.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\can.c</FilePath>
+ </File>
+ <File>
+ <FileName>dac.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\dac.c</FilePath>
+ </File>
+ <File>
+ <FileName>ext.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\ext.c</FilePath>
+ </File>
+ <File>
+ <FileName>gpt.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\gpt.c</FilePath>
+ </File>
+ <File>
+ <FileName>hal.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\hal.c</FilePath>
+ </File>
+ <File>
+ <FileName>hal_buffers.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\hal_buffers.c</FilePath>
+ </File>
+ <File>
+ <FileName>hal_mmcsd.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\hal_mmcsd.c</FilePath>
+ </File>
+ <File>
+ <FileName>hal_queues.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\hal_queues.c</FilePath>
+ </File>
+ <File>
+ <FileName>i2c.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\i2c.c</FilePath>
+ </File>
+ <File>
+ <FileName>i2s.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\i2s.c</FilePath>
+ </File>
+ <File>
+ <FileName>icu.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\icu.c</FilePath>
+ </File>
+ <File>
+ <FileName>mac.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\mac.c</FilePath>
+ </File>
+ <File>
+ <FileName>mmc_spi.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\mmc_spi.c</FilePath>
+ </File>
+ <File>
+ <FileName>pal.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\pal.c</FilePath>
+ </File>
+ <File>
+ <FileName>pwm.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\pwm.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\rtc.c</FilePath>
+ </File>
+ <File>
+ <FileName>sdc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\sdc.c</FilePath>
+ </File>
+ <File>
+ <FileName>serial.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\serial.c</FilePath>
+ </File>
+ <File>
+ <FileName>serial_usb.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\serial_usb.c</FilePath>
+ </File>
+ <File>
+ <FileName>spi.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\spi.c</FilePath>
+ </File>
+ <File>
+ <FileName>st.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\st.c</FilePath>
+ </File>
+ <File>
+ <FileName>uart.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\uart.c</FilePath>
+ </File>
+ <File>
+ <FileName>usb.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\usb.c</FilePath>
+ </File>
+ <File>
+ <FileName>wdg.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\src\wdg.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>board</GroupName>
+ <Files>
+ <File>
+ <FileName>board.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\os\hal\boards\ST_STM32F3_DISCOVERY\board.c</FilePath>
+ </File>
+ <File>
+ <FileName>board.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\os\hal\boards\ST_STM32F3_DISCOVERY\board.h</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>test</GroupName>
+ <Files>
+ <File>
+ <FileName>testthd.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testthd.h</FilePath>
+ </File>
+ <File>
+ <FileName>test.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\test.c</FilePath>
+ </File>
+ <File>
+ <FileName>test.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\test.h</FilePath>
+ </File>
+ <File>
+ <FileName>testbmk.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testbmk.c</FilePath>
+ </File>
+ <File>
+ <FileName>testbmk.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testbmk.h</FilePath>
+ </File>
+ <File>
+ <FileName>testdyn.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testdyn.c</FilePath>
+ </File>
+ <File>
+ <FileName>testdyn.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testdyn.h</FilePath>
+ </File>
+ <File>
+ <FileName>testevt.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testevt.c</FilePath>
+ </File>
+ <File>
+ <FileName>testevt.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testevt.h</FilePath>
+ </File>
+ <File>
+ <FileName>testheap.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testheap.c</FilePath>
+ </File>
+ <File>
+ <FileName>testheap.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testheap.h</FilePath>
+ </File>
+ <File>
+ <FileName>testmbox.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testmbox.c</FilePath>
+ </File>
+ <File>
+ <FileName>testmbox.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testmbox.h</FilePath>
+ </File>
+ <File>
+ <FileName>testmsg.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testmsg.c</FilePath>
+ </File>
+ <File>
+ <FileName>testmsg.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testmsg.h</FilePath>
+ </File>
+ <File>
+ <FileName>testmtx.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testmtx.c</FilePath>
+ </File>
+ <File>
+ <FileName>testmtx.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testmtx.h</FilePath>
+ </File>
+ <File>
+ <FileName>testpools.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testpools.c</FilePath>
+ </File>
+ <File>
+ <FileName>testpools.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testpools.h</FilePath>
+ </File>
+ <File>
+ <FileName>testqueues.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testqueues.c</FilePath>
+ </File>
+ <File>
+ <FileName>testqueues.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testqueues.h</FilePath>
+ </File>
+ <File>
+ <FileName>testsem.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testsem.c</FilePath>
+ </File>
+ <File>
+ <FileName>testsem.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testsem.h</FilePath>
+ </File>
+ <File>
+ <FileName>testthd.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testthd.c</FilePath>
+ </File>
+ <File>
+ <FileName>testsys.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\test\rt\testsys.c</FilePath>
+ </File>
+ <File>
+ <FileName>testsys.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\..\..\..\test\rt\testsys.h</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>demo</GroupName>
+ <Files>
+ <File>
+ <FileName>main.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\main.c</FilePath>
+ </File>
+ <File>
+ <FileName>mcuconf.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\mcuconf.h</FilePath>
+ </File>
+ <File>
+ <FileName>chconf.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\chconf.h</FilePath>
+ </File>
+ <File>
+ <FileName>halconf.h</FileName>
+ <FileType>5</FileType>
+ <FilePath>..\halconf.h</FilePath>
+ </File>
+ </Files>
+ </Group>
+ </Groups>
+ </Target>
+ </Targets>
+
+</Project>
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/main.c b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/main.c
new file mode 100644
index 000000000..dbc31a6e4
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/main.c
@@ -0,0 +1,100 @@
+/*
+ ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+#include "ch.h"
+#include "hal.h"
+#include "ch_test.h"
+
+/*
+ * Blinker thread #1.
+ */
+THD_WORKING_AREA(waThread1, 128);
+THD_FUNCTION(Thread1, arg) {
+
+ (void)arg;
+
+ chRegSetThreadName("blinker 1");
+ while (true) {
+ palToggleLine(LINE_LED3_RED);
+ chThdSleepMilliseconds(100);
+ palToggleLine(LINE_LED7_GREEN);
+ chThdSleepMilliseconds(100);
+ palToggleLine(LINE_LED10_RED);
+ chThdSleepMilliseconds(100);
+ palToggleLine(LINE_LED6_GREEN);
+ chThdSleepMilliseconds(100);
+ }
+}
+
+/*
+ * Blinker thread #2.
+ */
+THD_WORKING_AREA(waThread2, 128);
+THD_FUNCTION(Thread2, arg) {
+
+ (void)arg;
+
+ chRegSetThreadName("blinker 2");
+ while (true) {
+ chThdSleepMilliseconds(50);
+ palToggleLine(LINE_LED5_ORANGE);
+ chThdSleepMilliseconds(100);
+ palToggleLine(LINE_LED9_BLUE);
+ chThdSleepMilliseconds(100);
+ palToggleLine(LINE_LED8_ORANGE);
+ chThdSleepMilliseconds(100);
+ palToggleLine(LINE_LED4_BLUE);
+ chThdSleepMilliseconds(50);
+ }
+}
+
+/*
+ * Application entry point.
+ */
+int main(void) {
+
+ /*
+ * System initializations.
+ * - HAL initialization, this also initializes the configured device drivers
+ * and performs the board-specific initializations.
+ * - Kernel initialization, the main() function becomes a thread and the
+ * RTOS is active.
+ */
+ halInit();
+ chSysInit();
+
+ /*
+ * Activates the serial driver 1 using the driver default configuration.
+ */
+ sdStart(&SD1, NULL);
+
+ /*
+ * Creates the example threads.
+ */
+ chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO+1, Thread1, NULL);
+ chThdCreateStatic(waThread2, sizeof(waThread2), NORMALPRIO+1, Thread2, NULL);
+
+ /*
+ * Normal main() thread activity, in this demo it does nothing except
+ * sleeping in a loop and check the button state, when the button is
+ * pressed the test procedure is launched.
+ */
+ while (true) {
+ if (palReadPad(GPIOA, GPIOA_BUTTON))
+ test_execute((BaseSequentialStream *)&SD1);
+ chThdSleepMilliseconds(500);
+ }
+}
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/mcuconf.h b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/mcuconf.h
new file mode 100644
index 000000000..b9c743644
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/mcuconf.h
@@ -0,0 +1,253 @@
+/*
+ ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+#ifndef MCUCONF_H
+#define MCUCONF_H
+
+/*
+ * STM32F3xx drivers configuration.
+ * The following settings override the default settings present in
+ * the various device driver implementation headers.
+ * Note that the settings for each driver only have effect if the whole
+ * driver is enabled in halconf.h.
+ *
+ * IRQ priorities:
+ * 15...0 Lowest...Highest.
+ *
+ * DMA priorities:
+ * 0...3 Lowest...Highest.
+ */
+
+#define STM32F3xx_MCUCONF
+
+/*
+ * HAL driver system settings.
+ */
+#define STM32_NO_INIT FALSE
+#define STM32_PVD_ENABLE FALSE
+#define STM32_PLS STM32_PLS_LEV0
+#define STM32_HSI_ENABLED TRUE
+#define STM32_LSI_ENABLED TRUE
+#define STM32_HSE_ENABLED TRUE
+#define STM32_LSE_ENABLED FALSE
+#define STM32_SW STM32_SW_PLL
+#define STM32_PLLSRC STM32_PLLSRC_HSE
+#define STM32_PREDIV_VALUE 1
+#define STM32_PLLMUL_VALUE 9
+#define STM32_HPRE STM32_HPRE_DIV1
+#define STM32_PPRE1 STM32_PPRE1_DIV2
+#define STM32_PPRE2 STM32_PPRE2_DIV2
+#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
+#define STM32_ADC12PRES STM32_ADC12PRES_DIV1
+#define STM32_ADC34PRES STM32_ADC34PRES_DIV1
+#define STM32_USART1SW STM32_USART1SW_PCLK
+#define STM32_USART2SW STM32_USART2SW_PCLK
+#define STM32_USART3SW STM32_USART3SW_PCLK
+#define STM32_UART4SW STM32_UART4SW_PCLK
+#define STM32_UART5SW STM32_UART5SW_PCLK
+#define STM32_I2C1SW STM32_I2C1SW_SYSCLK
+#define STM32_I2C2SW STM32_I2C2SW_SYSCLK
+#define STM32_TIM1SW STM32_TIM1SW_PCLK2
+#define STM32_TIM8SW STM32_TIM8SW_PCLK2
+#define STM32_RTCSEL STM32_RTCSEL_LSI
+#define STM32_USB_CLOCK_REQUIRED TRUE
+#define STM32_USBPRE STM32_USBPRE_DIV1P5
+
+/*
+ * ADC driver system settings.
+ */
+#define STM32_ADC_DUAL_MODE FALSE
+#define STM32_ADC_COMPACT_SAMPLES FALSE
+#define STM32_ADC_USE_ADC1 FALSE
+#define STM32_ADC_USE_ADC2 FALSE
+#define STM32_ADC_USE_ADC3 FALSE
+#define STM32_ADC_USE_ADC4 FALSE
+#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
+#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
+#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
+#define STM32_ADC_ADC4_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
+#define STM32_ADC_ADC1_DMA_PRIORITY 2
+#define STM32_ADC_ADC2_DMA_PRIORITY 2
+#define STM32_ADC_ADC3_DMA_PRIORITY 2
+#define STM32_ADC_ADC4_DMA_PRIORITY 2
+#define STM32_ADC_ADC12_IRQ_PRIORITY 5
+#define STM32_ADC_ADC3_IRQ_PRIORITY 5
+#define STM32_ADC_ADC4_IRQ_PRIORITY 5
+#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5
+#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 5
+#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 5
+#define STM32_ADC_ADC4_DMA_IRQ_PRIORITY 5
+#define STM32_ADC_ADC12_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
+#define STM32_ADC_ADC34_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
+
+/*
+ * CAN driver system settings.
+ */
+#define STM32_CAN_USE_CAN1 FALSE
+#define STM32_CAN_CAN1_IRQ_PRIORITY 11
+
+/*
+ * DAC driver system settings.
+ */
+#define STM32_DAC_DUAL_MODE FALSE
+#define STM32_DAC_USE_DAC1_CH1 TRUE
+#define STM32_DAC_USE_DAC1_CH2 TRUE
+#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
+#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
+#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
+#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
+
+/*
+ * EXT driver system settings.
+ */
+#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI17_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI21_22_29_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI30_32_IRQ_PRIORITY 6
+#define STM32_EXT_EXTI33_IRQ_PRIORITY 6
+
+/*
+ * GPT driver system settings.
+ */
+#define STM32_GPT_USE_TIM1 FALSE
+#define STM32_GPT_USE_TIM2 FALSE
+#define STM32_GPT_USE_TIM3 FALSE
+#define STM32_GPT_USE_TIM4 FALSE
+#define STM32_GPT_USE_TIM6 FALSE
+#define STM32_GPT_USE_TIM7 FALSE
+#define STM32_GPT_USE_TIM8 FALSE
+#define STM32_GPT_TIM1_IRQ_PRIORITY 7
+#define STM32_GPT_TIM2_IRQ_PRIORITY 7
+#define STM32_GPT_TIM3_IRQ_PRIORITY 7
+#define STM32_GPT_TIM4_IRQ_PRIORITY 7
+#define STM32_GPT_TIM6_IRQ_PRIORITY 7
+#define STM32_GPT_TIM7_IRQ_PRIORITY 7
+#define STM32_GPT_TIM8_IRQ_PRIORITY 7
+
+/*
+ * I2C driver system settings.
+ */
+#define STM32_I2C_USE_I2C1 FALSE
+#define STM32_I2C_USE_I2C2 FALSE
+#define STM32_I2C_BUSY_TIMEOUT 50
+#define STM32_I2C_I2C1_IRQ_PRIORITY 10
+#define STM32_I2C_I2C2_IRQ_PRIORITY 10
+#define STM32_I2C_USE_DMA TRUE
+#define STM32_I2C_I2C1_DMA_PRIORITY 1
+#define STM32_I2C_I2C2_DMA_PRIORITY 1
+#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
+
+/*
+ * ICU driver system settings.
+ */
+#define STM32_ICU_USE_TIM1 FALSE
+#define STM32_ICU_USE_TIM2 FALSE
+#define STM32_ICU_USE_TIM3 FALSE
+#define STM32_ICU_USE_TIM4 FALSE
+#define STM32_ICU_USE_TIM8 FALSE
+#define STM32_ICU_TIM1_IRQ_PRIORITY 7
+#define STM32_ICU_TIM2_IRQ_PRIORITY 7
+#define STM32_ICU_TIM3_IRQ_PRIORITY 7
+#define STM32_ICU_TIM4_IRQ_PRIORITY 7
+#define STM32_ICU_TIM8_IRQ_PRIORITY 7
+
+/*
+ * PWM driver system settings.
+ */
+#define STM32_PWM_USE_ADVANCED FALSE
+#define STM32_PWM_USE_TIM1 FALSE
+#define STM32_PWM_USE_TIM2 FALSE
+#define STM32_PWM_USE_TIM3 FALSE
+#define STM32_PWM_USE_TIM4 FALSE
+#define STM32_PWM_USE_TIM8 FALSE
+#define STM32_PWM_TIM1_IRQ_PRIORITY 7
+#define STM32_PWM_TIM2_IRQ_PRIORITY 7
+#define STM32_PWM_TIM3_IRQ_PRIORITY 7
+#define STM32_PWM_TIM4_IRQ_PRIORITY 7
+#define STM32_PWM_TIM8_IRQ_PRIORITY 7
+
+/*
+ * SERIAL driver system settings.
+ */
+#define STM32_SERIAL_USE_USART1 TRUE
+#define STM32_SERIAL_USE_USART2 FALSE
+#define STM32_SERIAL_USE_USART3 FALSE
+#define STM32_SERIAL_USE_UART4 FALSE
+#define STM32_SERIAL_USE_UART5 FALSE
+#define STM32_SERIAL_USART1_PRIORITY 12
+#define STM32_SERIAL_USART2_PRIORITY 12
+#define STM32_SERIAL_USART3_PRIORITY 12
+#define STM32_SERIAL_UART4_PRIORITY 12
+#define STM32_SERIAL_UART5_PRIORITY 12
+
+/*
+ * SPI driver system settings.
+ */
+#define STM32_SPI_USE_SPI1 FALSE
+#define STM32_SPI_USE_SPI2 FALSE
+#define STM32_SPI_USE_SPI3 FALSE
+#define STM32_SPI_SPI1_DMA_PRIORITY 1
+#define STM32_SPI_SPI2_DMA_PRIORITY 1
+#define STM32_SPI_SPI3_DMA_PRIORITY 1
+#define STM32_SPI_SPI1_IRQ_PRIORITY 10
+#define STM32_SPI_SPI2_IRQ_PRIORITY 10
+#define STM32_SPI_SPI3_IRQ_PRIORITY 10
+#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
+
+/*
+ * ST driver system settings.
+ */
+#define STM32_ST_IRQ_PRIORITY 8
+#define STM32_ST_USE_TIMER 2
+
+/*
+ * UART driver system settings.
+ */
+#define STM32_UART_USE_USART1 FALSE
+#define STM32_UART_USE_USART2 FALSE
+#define STM32_UART_USE_USART3 FALSE
+#define STM32_UART_USART1_IRQ_PRIORITY 12
+#define STM32_UART_USART2_IRQ_PRIORITY 12
+#define STM32_UART_USART3_IRQ_PRIORITY 12
+#define STM32_UART_USART1_DMA_PRIORITY 0
+#define STM32_UART_USART2_DMA_PRIORITY 0
+#define STM32_UART_USART3_DMA_PRIORITY 0
+#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
+
+/*
+ * USB driver system settings.
+ */
+#define STM32_USB_USE_USB1 FALSE
+#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
+#define STM32_USB_USB1_HP_IRQ_PRIORITY 13
+#define STM32_USB_USB1_LP_IRQ_PRIORITY 14
+
+/*
+ * WDG driver system settings.
+ */
+#define STM32_WDG_USE_IWDG FALSE
+
+#endif /* MCUCONF_H */
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY-REVC/readme.txt b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/readme.txt
new file mode 100644
index 000000000..5e3202b7b
--- /dev/null
+++ b/demos/STM32/RT-STM32F303-DISCOVERY-REVC/readme.txt
@@ -0,0 +1,25 @@
+*****************************************************************************
+** ChibiOS/RT port for ARM-Cortex-M4 STM32F303. **
+*****************************************************************************
+
+** TARGET **
+
+The demo runs on an ST STM32F3-Discovery board REV C or higher.
+
+** The Demo **
+
+
+** Build Procedure **
+
+The demo has been tested by using the free Codesourcery GCC-based toolchain
+and YAGARTO. just modify the TRGT line in the makefile in order to use
+different GCC toolchains.
+
+** Notes **
+
+Some files used by the demo are not part of ChibiOS/RT but are copyright of
+ST Microelectronics and are licensed under a different license.
+Also note that not all the files present in the ST library are distributed
+with ChibiOS/RT, you can find the whole library on the ST web site:
+
+ http://www.st.com
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY/main.c b/demos/STM32/RT-STM32F303-DISCOVERY/main.c
index ccd297b42..d88515b29 100644
--- a/demos/STM32/RT-STM32F303-DISCOVERY/main.c
+++ b/demos/STM32/RT-STM32F303-DISCOVERY/main.c
@@ -26,7 +26,7 @@ THD_FUNCTION(Thread1, arg) {
(void)arg;
- chRegSetThreadName("blinker");
+ chRegSetThreadName("blinker 1");
while (true) {
palToggleLine(LINE_LED3_RED);
chThdSleepMilliseconds(100);
@@ -47,7 +47,7 @@ THD_FUNCTION(Thread2, arg) {
(void)arg;
- chRegSetThreadName("blinker");
+ chRegSetThreadName("blinker 2");
while (true) {
chThdSleepMilliseconds(50);
palToggleLine(LINE_LED5_ORANGE);
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY/readme.txt b/demos/STM32/RT-STM32F303-DISCOVERY/readme.txt
index 0bad189d3..f8684dd77 100644
--- a/demos/STM32/RT-STM32F303-DISCOVERY/readme.txt
+++ b/demos/STM32/RT-STM32F303-DISCOVERY/readme.txt
@@ -4,7 +4,7 @@
** TARGET **
-The demo runs on an ST STM32F3-Discovery board.
+The demo runs on an ST STM32F3-Discovery board REV-A or REV-B.
** The Demo **