diff --git a/Documentation/platforms/arm/xmc4/boards/xmc4500-relax/index.rst b/Documentation/platforms/arm/xmc4/boards/xmc4500-relax/index.rst new file mode 100644 index 00000000000..55dc1411e4c --- /dev/null +++ b/Documentation/platforms/arm/xmc4/boards/xmc4500-relax/index.rst @@ -0,0 +1,191 @@ +============= +XMC4500 Relax +============= + +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. + +Status +====== + +2017-03-21: The XMC4500 Relax boots into NSH, provides the NSH prompt, +and the LEDs are working. But there is a problem with serial input. +The most likely reason for this is there are no serial RX interripts. + +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 16 + 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 + +A TTL to RS-232 converter or a USB TTL-to-USB serial adaptor is required. +The notion of what is TX and what is RX depends on your point of view. +With the TTL to RS-232 converter, I connect pin 17 to the pin labeled +TX on the converter and pin 16 to the RX pin on the converter. + +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 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 N/C N/C + LED_SIGNAL In a signal handler N/C N/C + LED_ASSERTION An assertion failed N/C N/C + LED_PANIC The system has crashed N/C Blinking + LED_IDLE MCU is is sleep mode N/C N/C + ================== ======================== ====== ======== + +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:: + + .tools/configure.sh xmc4500-relax: + +See '.tools/configure.sh -h' for a list of all options. The most typical +are -l to select the Linux host or -c to select the Windows Cygwin host. + +Before starting the build, make sure that your PATH environment variable +includes the correct path to your toolchain. + +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 + +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://developer.arm.com/open-source/gnu-toolchain/gnu-rm + +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_ARM_TOOLCHAIN_GNU_EABI=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 + +SPI +=== + +Using MAX6675 Thermocouple +-------------------------- + +There is a board support to use a MAX6675 connected to SPI2. In other to use +it you need to enable these options:: + + CONFIG_XMC4_USIC=y + CONFIG_XMC4_USCI_UART=y + CONFIG_XMC4_USCI_SPI=y + CONFIG_XMC4_SPI2=y + CONFIG_XMC4_USIC1=y + CONFIG_XMC4_USIC1_CHAN0_ISSPI=y + CONFIG_XMC4_USIC1_CHAN1_ISUART=y + CONFIG_UART3_SERIAL_CONSOLE=y + CONFIG_SENSORS_MAX6675=y + +These are the used SPI pins: SCLK = P0.11, MISO = P0.4 and CS = P0.2 diff --git a/Documentation/platforms/arm/xmc4/boards/xmc4700-relax/index.rst b/Documentation/platforms/arm/xmc4/boards/xmc4700-relax/index.rst new file mode 100644 index 00000000000..6cfa753abe8 --- /dev/null +++ b/Documentation/platforms/arm/xmc4/boards/xmc4700-relax/index.rst @@ -0,0 +1,10 @@ +============== + XMC4700 Relax +============== + +The directory provides board support for the Infineon XMC4700 Relax Kit. + +Status +====== + +2020-03-21: The XMC4700 Relax boots into NSH, provides the NSH prompt, and the LEDs are working. diff --git a/Documentation/platforms/arm/xmc4/index.rst b/Documentation/platforms/arm/xmc4/index.rst new file mode 100644 index 00000000000..0e72e21f742 --- /dev/null +++ b/Documentation/platforms/arm/xmc4/index.rst @@ -0,0 +1,32 @@ +================ +Infineon XMC4000 +================ + +Supported MCUs +============== + +The following list includes MCUs from XMC4 series and indicates whether they are supported in NuttX + +======= ======= ============== ================= +MCU Support Core Frequency +======= ======= ============== ================= +XMC4100 No Cortex-M4F 80MHz +XMC4200 No Cortex-M4F 80MHz +XMC4300 No Cortex-M4F 144MHz +XMC4400 No Cortex-M4F 120MHz +XMC4500 Yes Cortex-M4F 120MHz +XMC4700 Yes Cortex-M4F 144MHz +XMC4800 Yes Cortex-M4F 120MHz +======= ======= ============== ================= + +Peripheral Support +================== + +Supported Boards +================ + +.. toctree:: + :glob: + :maxdepth: 1 + + boards/*/* diff --git a/boards/arm/xmc4/xmc4500-relax/README.txt b/boards/arm/xmc4/xmc4500-relax/README.txt index 691b6fa7bb6..e69de29bb2d 100644 --- a/boards/arm/xmc4/xmc4500-relax/README.txt +++ b/boards/arm/xmc4/xmc4500-relax/README.txt @@ -1,184 +0,0 @@ -README for the XMC4500 Relax -============================ - - The directory provides board support for the Infineon 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. - -Status -====== - - 2017-03-21: The XMC4500 Relax boots into NSH, provides the NSH prompt, - and the LEDs are working. But there is a problem with serial input. - The most likely reason for this is there are no serial RX interripts. - -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 16 - 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 - - A TTL to RS-232 converter or a USB TTL-to-USB serial adaptor is required. - The notion of what is TX and what is RX depends on your point of view. - With the TTL to RS-232 converter, I connect pin 17 to the pin labeled - TX on the converter and pin 16 to the RX pin on the converter. - -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: - - .tools/configure.sh xmc5400-relax: - - See '.tools/configure.sh -h' for a list of all options. The most typical - are -l to select the Linux host or -c to select the Windows Cygwin host. - - Before starting the build, make sure that your PATH environment variable - includes the correct path to your toolchain. - - 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 - - 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://developer.arm.com/open-source/gnu-toolchain/gnu-rm - - 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_ARM_TOOLCHAIN_GNU_EABI=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 - -SPI -=== - - Using MAX6675 Thermocouple - -------------------------- - - There is a board support to use a MAX6675 connected to SPI2. In other to use - it you need to enable these options: - - CONFIG_XMC4_USIC=y - CONFIG_XMC4_USCI_UART=y - CONFIG_XMC4_USCI_SPI=y - CONFIG_XMC4_SPI2=y - CONFIG_XMC4_USIC1=y - CONFIG_XMC4_USIC1_CHAN0_ISSPI=y - CONFIG_XMC4_USIC1_CHAN1_ISUART=y - CONFIG_UART3_SERIAL_CONSOLE=y - CONFIG_SENSORS_MAX6675=y - - These are the used SPI pins: SCLK = P0.11, MISO = P0.4 and CS = P0.2 diff --git a/boards/arm/xmc4/xmc4700-relax/README.txt b/boards/arm/xmc4/xmc4700-relax/README.txt index cb91b8e55e3..e69de29bb2d 100644 --- a/boards/arm/xmc4/xmc4700-relax/README.txt +++ b/boards/arm/xmc4/xmc4700-relax/README.txt @@ -1,10 +0,0 @@ -README for the XMC4700 Relax -============================ - - The directory provides board support for the Infineon XMC4700 Relax Kit. - -Status -====== - - 2020-03-21: The XMC4700 Relax boots into NSH, provides the NSH prompt, - and the LEDs are working.