diff --git a/Documentation/README.html b/Documentation/README.html
index 2f9ba9066b2..4430ef211f7 100644
--- a/Documentation/README.html
+++ b/Documentation/README.html
@@ -8,7 +8,7 @@
NuttX README Files
- Last Updated: February 19, 2017
+ Last Updated: March 21, 2017
|
@@ -297,6 +297,8 @@ nuttx/
| | `- README.txt
| |- viewtool-stm32f107/
| | `- README.txt
+ | |- xmc4500-relax/
+ | | `- README.txt
| |- xtrs/
| | `- README.txt
| |- z16f2800100zcog/
diff --git a/README.txt b/README.txt
index ed3d41c30f8..4bab1306ff7 100644
--- a/README.txt
+++ b/README.txt
@@ -1681,6 +1681,8 @@ nuttx/
| | `- README.txt
| |- viewtool-stm32f107/
| | `- README.txt
+ | |- xmc5400-relax/
+ | | `- README.txt
| |- xtrs/
| | `- README.txt
| |- z16f2800100zcog/
diff --git a/configs/xmc4500-relax/README.txt b/configs/xmc4500-relax/README.txt
new file mode 100644
index 00000000000..0ee63341d44
--- /dev/null
+++ b/configs/xmc4500-relax/README.txt
@@ -0,0 +1,154 @@
+README for the XMC4500 Relax
+============================
+
+ The directory provides board support for the Infinion XMC4500 Relax v1
+ boards. There are to variants of this board: There is a Lite version
+ that has fewer features, for example, no 32.768KHz crystal.
+
+ The current configurations support only the Lite version of the board.
+
+Serial Console
+==============
+
+ Be default, UART0 (aka, USIC0, channel 0) is used as the serial console.
+ The RX and TX pins is available:
+
+ RX - P1.4, Connector X2, pin 17
+ TX - P1.5, Connector X2, pin 17
+ GND - Available on pins 1-4 of either connector X1 or X2
+ VDD3.3 - Available on pins 37-38 of either connector X1 or X2
+ VDD5 - Available on pins 39-40 of either connector X1 or X2
+
+LEDs
+====
+
+ The XMC4500 Relax Lite v1 board has two LEDs:
+
+ LED1 P1.1 High output illuminates
+ LED2 P1.0 High output illuminates
+
+ If CONFIG_ARCH_LEDS is not defined, then the user can control the LEDs in
+ any way. The definitions provided in the board.h header file can be used
+ to access individual LEDs.
+
+ These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
+ defined. In that case, the usage by the board port is defined in
+ include/board.h and src/sam_autoleds.c. The LEDs are used to encode
+ OS-related events as follows:
+
+ SYMBOL Meaning LED state
+ LED1 LED2
+ ------------------ ------------------------ ------ ------
+ LED_STARTED NuttX has been started OFF OFF
+ LED_HEAPALLOCATE Heap has been allocated OFF OFF
+ LED_IRQSENABLED Interrupts enabled OFF OFF
+ LED_STACKCREATED Idle stack created ON OFF
+ LED_INIRQ In an interrupt No change
+ LED_SIGNAL In a signal handler No change
+ LED_ASSERTION An assertion failed No change
+ LED_PANIC The system has crashed N/C Blinking
+ LED_IDLE MCU is is sleep mode Not used
+
+ Thus if LED1 is statically on, NuttX has successfully booted and is,
+ apparently, running normally. If LED2 is flashing at approximately
+ 2Hz, then a fatal error has been detected and the system has halted.
+
+Buttons
+=======
+
+ The XMC4500 Relax Lite v1 board has two buttons:
+
+ BUTTON1 P1.14 Low input sensed when button pressed
+ BUTTON2 P1.15 Low input sensed when button pressed
+
+Configurations
+==============
+
+ Information Common to All Configurations
+ ----------------------------------------
+ Each XMC4500 Relax configuration is maintained in a sub-directory and
+ can be selected as follow:
+
+ cd tools
+ ./configure.sh xmc5400-relax/
+ cd -
+ . ./setenv.sh
+
+ Before sourcing the setenv.sh file above, you should examine it and
+ perform edits as necessary so that TOOLCHAIN_BIN is the correct path
+ to the directory than holds your toolchain binaries.
+
+ And then build NuttX by simply typing the following. At the conclusion of
+ the make, the nuttx binary will reside in an ELF file called, simply, nuttx.
+
+ make oldconfig
+ make
+
+ The that is provided above as an argument to the tools/configure.sh
+ must be is one of the following.
+
+ NOTES:
+
+ 1. These configurations use the mconf-based configuration tool. To
+ change any of these configurations using that tool, you should:
+
+ a. Build and install the kconfig-mconf tool. See nuttx/README.txt
+ see additional README.txt files in the NuttX tools repository.
+
+ b. Execute 'make menuconfig' in nuttx/ in order to start the
+ reconfiguration process.
+
+ 2. Unless stated otherwise, all configurations generate console
+ output on UART0 (aka USIC0, channel 0) as described above under
+ "Serial Console". The relevant configuration settings are listed
+ below:
+
+ CONFIG_XMC4_USIC0=y
+ CONFIG_XMC4_USIC0_CHAN0_ISUART=y
+ CONFIG_XMC4_USIC0_CHAN1_NONE=y
+
+ CONFIG_UART0_SERIALDRIVER=y
+ CONFIG_UART0_SERIAL_CONSOLE=y
+
+ CONFIG_UART0_RXBUFSIZE=256
+ CONFIG_UART0_TXBUFSIZE=256
+ CONFIG_UART0_BAUD=115200
+ CONFIG_UART0_BITS=8
+ CONFIG_UART0_PARITY=0
+ CONFIG_UART0_2STOP=0
+
+
+ 3. All of these configurations are set up to build under Windows using the
+ "GNU Tools for ARM Embedded Processors" that is maintained by ARM
+ (unless stated otherwise in the description of the configuration).
+
+ https://launchpad.net/gcc-arm-embedded
+
+ That toolchain selection can easily be reconfigured using
+ 'make menuconfig'. Here are the relevant current settings:
+
+ Build Setup:
+ CONFIG_HOST_WINDOWS=y : Window environment
+ CONFIG_WINDOWS_CYGWIN=y : Cywin under Windows
+
+ System Type -> Toolchain:
+ CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU ARM EABI toolchain
+
+ Configuration sub-directories
+ -----------------------------
+
+ nsh:
+
+ Configures the NuttShell (nsh) located at examples/nsh. This
+ configuration is focused on low level, command-line driver testing. It
+ has no network.
+
+ NOTES:
+
+ 1. NSH built-in applications are supported.
+
+ Binary Formats:
+ CONFIG_BUILTIN=y : Enable support for built-in programs
+
+ Application Configuration:
+ CONFIG_NSH_BUILTIN_APPS=y : Enable starting apps from NSH command line
diff --git a/configs/xmc4500-relax/include/board.h b/configs/xmc4500-relax/include/board.h
index 6be8e787f23..9c3121a4b63 100644
--- a/configs/xmc4500-relax/include/board.h
+++ b/configs/xmc4500-relax/include/board.h
@@ -171,12 +171,9 @@
#define LED_PANIC 3 /* The system has crashed N/C Blinking */
#undef LED_IDLE /* MCU is is sleep mode Not used */
-/* Thus if LED0 is statically on, NuttX has successfully booted and is,
- * apparently, running normally. If LED1 is flashing at approximately
+/* Thus if LED1 is statically on, NuttX has successfully booted and is,
+ * apparently, running normally. If LED2 is flashing at approximately
* 2Hz, then a fatal error has been detected and the system has halted.
- *
- * NOTE: That LED0 is not used after completion of booting and may
- * be used by other board-specific logic.
*/
/* Button definitions ***************************************************************/
diff --git a/configs/xmc4500-relax/src/xmc4_autoleds.c b/configs/xmc4500-relax/src/xmc4_autoleds.c
index 694007c5e5e..69eda6dee93 100644
--- a/configs/xmc4500-relax/src/xmc4_autoleds.c
+++ b/configs/xmc4500-relax/src/xmc4_autoleds.c
@@ -43,19 +43,19 @@
* include/board.h and src/sam_autoleds.c. The LEDs are used to encode
* OS-related events as follows:
*
- * SYMBOL Meaning LED state
- * LED2 LED1
- * --------------------- -------------------------- ------ ------ */
-
-#define LED_STARTED 0 /* NuttX has been started OFF OFF */
-#define LED_HEAPALLOCATE 0 /* Heap has been allocated OFF OFF */
-#define LED_IRQSENABLED 0 /* Interrupts enabled OFF OFF */
-#define LED_STACKCREATED 1 /* Idle stack created ON OFF */
-#define LED_INIRQ 2 /* In an interrupt No change */
-#define LED_SIGNAL 2 /* In a signal handler No change */
-#define LED_ASSERTION 2 /* An assertion failed No change */
-#define LED_PANIC 3 /* The system has crashed N/C Blinking */
-#undef LED_IDLE /* MCU is is sleep mode Not used */
+ * SYMBOL Meaning LED state
+ * LED1 LED2
+ * ------------------ ------------------------ ------ ------
+ * LED_STARTED NuttX has been started OFF OFF
+ * LED_HEAPALLOCATE Heap has been allocated OFF OFF
+ * LED_IRQSENABLED Interrupts enabled OFF OFF
+ * LED_STACKCREATED Idle stack created ON OFF
+ * LED_INIRQ In an interrupt No change
+ * LED_SIGNAL In a signal handler No change
+ * LED_ASSERTION An assertion failed No change
+ * LED_PANIC The system has crashed N/C Blinking
+ * LED_IDLE MCU is is sleep mode Not used
+ */
/****************************************************************************
* Included Files