Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

boards/stm32: split nucleo-f4x1re into separate boards #14853

Merged
merged 2 commits into from
Nov 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
12 changes: 8 additions & 4 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 @@ -3452,7 +3453,7 @@ config ARCH_BOARD
default "adafruit-qt-py-rp2040" if ARCH_BOARD_ADAFRUIT_QT_PY_RP2040
default "waveshare-rp2040-lcd-1.28" if ARCH_BOARD_WAVESHARE_RP2040_LCD_1_28
default "w5500-evb-pico" if ARCH_BOARD_W5500_EVB_PICO
default "waveshare-rp2040-zero" if ARCH_BOARD_WAVESHARE_RP2040_ZERO
default "waveshare-rp2040-zero" if ARCH_BOARD_WAVESHARE_RP2040_ZERO
default "rx65n" if ARCH_BOARD_RX65N
default "rx65n-rsk1mb" if ARCH_BOARD_RX65N_RSK1MB
default "rx65n-rsk2mb" if ARCH_BOARD_RX65N_RSK2MB
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
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
Loading