Skip to content

Commit

Permalink
boards/stm32: split nucleo-f4x1re into separate boards
Browse files Browse the repository at this point in the history
Split nucleo-f4x1re into nucleo-f401re and nucleo-f411re.
These are separate boards and should be in separate directories as it's
done for all other nucleo boards in NuttX
  • Loading branch information
raiden00pl authored and jerpelea committed Nov 19, 2024
1 parent 4cfdaa0 commit 7e42ca2
Show file tree
Hide file tree
Showing 48 changed files with 2,945 additions and 364 deletions.
40 changes: 13 additions & 27 deletions Documentation/platforms/arm/stm32f4/boards/nucleo-f401re/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,9 @@ ST Nucleo F401RE
================

This page discusses issues unique to NuttX configurations for the ST
NucleoF401RE and NucleoF411RE boards from ST Micro. See
NucleoF401RE boards from ST Micro. See

http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1810/PF258797
http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1877/PF260049

These two boards are very similar, both supporting STM32 "Dynamic Efficiency
Line" parts but differing in the specific STM32 chip mounted on board. The
chips themselves are also very similar with the STM32F411RE having some
additional capability:

NucleoF401RE:

Expand All @@ -30,8 +24,6 @@ NucleoF401RE:
- CRC calculation unit
- RTC

The NucleoF411RE also has additional DMA and SPI peripheral capabilities.

Board features, however, are identical:

- Peripherals: 1 led, 1 push button
Expand All @@ -41,8 +33,7 @@ Board features, however, are identical:
Uses a STM32F103 to provide a ST-Link for programming, debug similar to the
OpenOcd FTDI function - USB to JTAG front-end.

See http://mbed.org/platforms/ST-Nucleo-F401RE and
http://developer.mbed.org/platforms/ST-Nucleo-F411RE for more
See http://mbed.org/platforms/ST-Nucleo-F401RE for more
information about these boards.

mbed
Expand All @@ -55,12 +46,12 @@ The Nucleo-F401RE includes boot loader from mbed:

Using the mbed loader:

1. Connect the Nucleo-F4x1RE to the host PC using the USB connector.
1. Connect the Nucleo-F401RE to the host PC using the USB connector.
2. A new file system will appear called NUCLEO; open it with Windows
Explorer (assuming that you are using Windows).
3. Drag and drop nuttx.bin into the MBED window. This will load the
nuttx.bin binary into the Nucleo-F4x1RE. The NUCLEO window will
close then re-open and the Nucleo-F4x1RE will be running the new code.
nuttx.bin binary into the Nucleo-F401RE. The NUCLEO window will
close then re-open and the Nucleo-F401RE will be running the new code.

Hardware
========
Expand Down Expand Up @@ -93,7 +84,7 @@ microcontroller.
LEDs
----

The Nucleo F401RE and Nucleo F411RE provide a single user LED, LD2. LD2
The Nucleo F401RE provides a single user LED, LD2. LD2
is the green LED connected to Arduino signal D13 corresponding to MCU I/O
PA5 (pin 21) or PB13 (pin 34) depending on the STM32target.

Expand Down Expand Up @@ -141,7 +132,7 @@ pin selections.

TTL to RS-232 converter connection::

Nucleo CN10 STM32F4x1RE
Nucleo CN10 STM32F401RE
----------- ------------
Pin 21 PA9 USART1_RX *Warning you make need to reverse RX/TX on
Pin 33 PA10 USART1_TX some RS-232 converters
Expand Down Expand Up @@ -174,7 +165,7 @@ Pins and Connectors::

TTL to RS-232 converter connection::

Nucleo CN9 STM32F4x1RE
Nucleo CN9 STM32F401RE
----------- ------------
Pin 1 PA3 USART2_RX *Warning you make need to reverse RX/TX on
Pin 2 PA2 USART2_TX some RS-232 converters
Expand Down Expand Up @@ -258,7 +249,7 @@ RS-232 from Cutedigi.com

Supports a single RS-232 connected via::

Nucleo CN9 STM32F4x1RE Cutedigi
Nucleo CN9 STM32F401RE Cutedigi
----------- ------------ --------
Pin 1 PA3 USART2_RX RXD
Pin 2 PA2 USART2_TX TXD
Expand All @@ -275,7 +266,7 @@ about this joystick.
Itead Joystick Connection::

--------- ----------------- ---------------------------------
ARDUINO ITEAD NUCLEO-F4x1
ARDUINO ITEAD NUCLEO-F401
PIN NAME SIGNAL SIGNAL
--------- ----------------- ---------------------------------
D3 Button E Output PB3
Expand Down Expand Up @@ -349,8 +340,8 @@ STATUS:
Configurations
==============

f401-nsh:
---------
nsh:
----

Configures the NuttShell (nsh) located at apps/examples/nsh for the
Nucleo-F401RE board. The Configuration enables the serial interfaces
Expand Down Expand Up @@ -380,15 +371,10 @@ NOTES:
Consoles). I have been using a TTL-to-RS-232 converter connected
as shown below::

Nucleo CN10 STM32F4x1RE
Nucleo CN10 STM32F401RE
----------- ------------
Pin 21 PA9 USART1_RX *Warning you make need to reverse RX/TX on
Pin 33 PA10 USART1_TX some RS-232 converters
Pin 20 GND
Pin 8 U5V

f411-nsh
--------

This configuration is the same as the f401-nsh configuration, except
that it is configured to support the Nucleo-F411RE.
45 changes: 15 additions & 30 deletions Documentation/platforms/arm/stm32f4/boards/nucleo-f411re/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,10 @@ ST Nucleo F411RE
================

This page discusses issues unique to NuttX configurations for the ST
NucleoF401RE and NucleoF411RE boards from ST Micro. See
NucleoF411RE board from ST Micro. See

http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1810/PF258797
http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1877/PF260049

These two boards are very similar, both supporting STM32 "Dynamic Efficiency
Line" parts but differing in the specific STM32 chip mounted on board. The
chips themselves are also very similar with the STM32F411RE having some
additional capability:

NucleoF411RE:

- Microprocessor: 32-bit ARM Cortex M4 at 100MHz STM32F411RE
Expand All @@ -30,8 +24,6 @@ NucleoF411RE:
- CRC calculation unit
- RTC

The NucleoF411RE also has additional DMA and SPI peripheral capabilities.

Board features, however, are identical:

- Peripherals: 1 led, 1 push button
Expand All @@ -41,26 +33,25 @@ Board features, however, are identical:
Uses a STM32F103 to provide a ST-Link for programming, debug similar to the
OpenOcd FTDI function - USB to JTAG front-end.

See http://mbed.org/platforms/ST-Nucleo-F401RE and
http://developer.mbed.org/platforms/ST-Nucleo-F411RE for more
See http://developer.mbed.org/platforms/ST-Nucleo-F411RE for more
information about these boards.

mbed
====

The Nucleo-F411RE includes boot loader from mbed:

https://mbed.org/platforms/ST-Nucleo-F401RE/
https://mbed.org/platforms/ST-Nucleo-F411RE/
https://mbed.org/handbook/Homepage

Using the mbed loader:

1. Connect the Nucleo-F4x1RE to the host PC using the USB connector.
1. Connect the Nucleo-F411RE to the host PC using the USB connector.
2. A new file system will appear called NUCLEO; open it with Windows
Explorer (assuming that you are using Windows).
3. Drag and drop nuttx.bin into the MBED window. This will load the
nuttx.bin binary into the Nucleo-F4x1RE. The NUCLEO window will
close then re-open and the Nucleo-F4x1RE will be running the new code.
nuttx.bin binary into the Nucleo-F411RE. The NUCLEO window will
close then re-open and the Nucleo-F411RE will be running the new code.

Hardware
========
Expand All @@ -82,7 +73,7 @@ GPIO
LED2=D6=PB_10 I2C1_SDA=D14=PB_9 Probe
D7=PA_8 I2C1_SCL=D15=PB_8 Probe

From: https://mbed.org/platforms/ST-Nucleo-F401RE/
From: https://mbed.org/platforms/ST-Nucleo-F411RE/

Buttons
-------
Expand All @@ -93,7 +84,7 @@ microcontroller.
LEDs
----

The Nucleo F401RE and Nucleo F411RE provide a single user LED, LD2. LD2
The Nucleo F411RE provide a single user LED, LD2. LD2
is the green LED connected to Arduino signal D13 corresponding to MCU I/O
PA5 (pin 21) or PB13 (pin 34) depending on the STM32target.

Expand Down Expand Up @@ -141,7 +132,7 @@ pin selections.

TTL to RS-232 converter connection::

Nucleo CN10 STM32F4x1RE
Nucleo CN10 STM32F411RE
----------- ------------
Pin 21 PA9 USART1_RX *Warning you make need to reverse RX/TX on
Pin 33 PA10 USART1_TX some RS-232 converters
Expand Down Expand Up @@ -174,7 +165,7 @@ Pins and Connectors::

TTL to RS-232 converter connection::

Nucleo CN9 STM32F4x1RE
Nucleo CN9 STM32F411RE
----------- ------------
Pin 1 PA3 USART2_RX *Warning you make need to reverse RX/TX on
Pin 2 PA2 USART2_TX some RS-232 converters
Expand Down Expand Up @@ -258,7 +249,7 @@ RS-232 from Cutedigi.com

Supports a single RS-232 connected via::

Nucleo CN9 STM32F4x1RE Cutedigi
Nucleo CN9 STM32F411RE Cutedigi
----------- ------------ --------
Pin 1 PA3 USART2_RX RXD
Pin 2 PA2 USART2_TX TXD
Expand All @@ -275,7 +266,7 @@ about this joystick.
Itead Joystick Connection::

--------- ----------------- ---------------------------------
ARDUINO ITEAD NUCLEO-F4x1
ARDUINO ITEAD NUCLEO-F411
PIN NAME SIGNAL SIGNAL
--------- ----------------- ---------------------------------
D3 Button E Output PB3
Expand Down Expand Up @@ -349,8 +340,8 @@ STATUS:
Configurations
==============

f401-nsh:
---------
nsh
---

Configures the NuttShell (nsh) located at apps/examples/nsh for the
Nucleo-F401RE board. The Configuration enables the serial interfaces
Expand Down Expand Up @@ -380,15 +371,9 @@ NOTES:
Consoles). I have been using a TTL-to-RS-232 converter connected
as shown below::

Nucleo CN10 STM32F4x1RE
Nucleo CN10 STM32F411RE
----------- ------------
Pin 21 PA9 USART1_RX *Warning you make need to reverse RX/TX on
Pin 33 PA10 USART1_TX some RS-232 converters
Pin 20 GND
Pin 8 U5V

f411-nsh
--------

This configuration is the same as the f401-nsh configuration, except
that it is configured to support the Nucleo-F411RE.
10 changes: 7 additions & 3 deletions boards/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3391,7 +3391,8 @@ config ARCH_BOARD
default "nucleo-f303re" if ARCH_BOARD_NUCLEO_F303RE
default "nucleo-f303ze" if ARCH_BOARD_NUCLEO_F303ZE
default "nucleo-f334r8" if ARCH_BOARD_NUCLEO_F334R8
default "nucleo-f4x1re" if ARCH_BOARD_NUCLEO_F401RE || ARCH_BOARD_NUCLEO_F411RE
default "nucleo-f401re" if ARCH_BOARD_NUCLEO_F401RE
default "nucleo-f411re" if ARCH_BOARD_NUCLEO_F411RE
default "stm32f401rc-rs485" if ARCH_BOARD_STM32F401RC_RS485
default "nucleo-f429zi" if ARCH_BOARD_NUCLEO_F429ZI
default "nucleo-f446re" if ARCH_BOARD_NUCLEO_F446RE
Expand Down Expand Up @@ -4190,8 +4191,11 @@ endif
if ARCH_BOARD_NUCLEO_F446RE
source "boards/arm/stm32/nucleo-f446re/Kconfig"
endif
if ARCH_BOARD_NUCLEO_F401RE || ARCH_BOARD_NUCLEO_F411RE
source "boards/arm/stm32/nucleo-f4x1re/Kconfig"
if ARCH_BOARD_NUCLEO_F401RE
source "boards/arm/stm32/nucleo-f401re/Kconfig"
endif
if ARCH_BOARD_NUCLEO_F411RE
source "boards/arm/stm32/nucleo-f411re/Kconfig"
endif
if ARCH_BOARD_STM32F401RC_RS485
source "boards/arm/stm32/stm32f401rc-rs485/Kconfig"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ##############################################################################
# boards/arm/stm32/nucleo-f4x1re/CMakeLists.txt
# boards/arm/stm32/nucleo-f401re/CMakeLists.txt
#
# SPDX-License-Identifier: Apache-2.0
#
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# CONFIG_NSH_DISABLE_IFCONFIG is not set
# CONFIG_NSH_DISABLE_PS is not set
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD="nucleo-f4x1re"
CONFIG_ARCH_BOARD="nucleo-f401re"
CONFIG_ARCH_BOARD_COMMON=y
CONFIG_ARCH_BOARD_NUCLEO_F401RE=y
CONFIG_ARCH_BUTTONS=y
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# CONFIG_NSH_DISABLE_IFCONFIG is not set
# CONFIG_NSH_DISABLE_PS is not set
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD="nucleo-f4x1re"
CONFIG_ARCH_BOARD="nucleo-f401re"
CONFIG_ARCH_BOARD_NUCLEO_F401RE=y
CONFIG_ARCH_BUTTONS=y
CONFIG_ARCH_CHIP="stm32"
Expand Down
Loading

0 comments on commit 7e42ca2

Please sign in to comment.