124 lines
3.8 KiB
ReStructuredText
124 lines
3.8 KiB
ReStructuredText
=================
|
|
stm32f411-minimum
|
|
=================
|
|
|
|
This page discusses issues unique to NuttX configurations for the
|
|
WeAct Studio MiniF4 minimum system development board.
|
|
|
|
Board information
|
|
=================
|
|
|
|
It is sometimes referred to as "black pill", although there are several clone
|
|
boards with f103-like chips and even an official f103 blackpill from Robotdyn.
|
|
Both WeAct Studio (via Taobao and Aliexpress) and Adafruit sell the boards as
|
|
"BlackPill Core Board" with STM32F411CEU6 or STM32F401CCU6 or
|
|
"STM32F411 BlackPill Development board", so we'll assume that
|
|
WeAct Studio is the original manufacturer and F401/F411 is the chip.
|
|
|
|
Board documentation:
|
|
https://github.com/WeActStudio/WeActStudio.MiniSTM32F4x1
|
|
|
|
Summary pages from STM32-base
|
|
https://stm32-base.org/boards/STM32F401CCU6-WeAct-Black-Pill-V1.2.html
|
|
https://stm32-base.org/boards/STM32F411CEU6-WeAct-Black-Pill-V2.0.html
|
|
https://stm32-base.org/boards/STM32F401CEU6-WeAct-Black-Pill-V3.0.html
|
|
|
|
The board features:
|
|
|
|
- On-board 64 Mbits (8 MBytes) External SPI-NOR Flash (optional),
|
|
- nRST reset button and BOOT0 ST BootROM entry button,
|
|
- One user LED and one user push-button,
|
|
- HSE 25 Mhz and LSE 32.768 kHz,
|
|
- USB OTG FS with micro-AB connector,
|
|
- Around 30 remappable GPIOs on 2.54mm headers (after excluding 7 power pins,
|
|
two LSE pins, the LED pin, NRST, BOOT1 and the SWD header),
|
|
- Serial Wire Debug header for use with an external SWD/JTAG adapter.
|
|
|
|
As F4 series have a USB DFuSe-capable BootROM [AN2606], the board can be flashed
|
|
via `dfu-util` over USB, or via `stm32flash` over UART without any debuggers.
|
|
|
|
LEDs
|
|
====
|
|
|
|
The STM32F411 Minimum board has only one software controllable LED on PC13.
|
|
This LED can be used by the board port when CONFIG_ARCH_LEDS option is
|
|
enabled.
|
|
|
|
If enabled the LED is simply turned on when the board boots
|
|
successfully, and is blinking on panic / assertion failed.
|
|
|
|
UARTs
|
|
=====
|
|
|
|
USART1
|
|
------
|
|
|
|
========== =====
|
|
UART/USART PINS
|
|
========== =====
|
|
TX PA9
|
|
RX PA10
|
|
========== =====
|
|
|
|
USART2
|
|
------
|
|
|
|
========== =====
|
|
UART/USART PINS
|
|
========== =====
|
|
CTS PA0
|
|
RTS PA1
|
|
TX PA2
|
|
RX PA3
|
|
CK PA4
|
|
========== =====
|
|
|
|
Default USART/UART Configuration
|
|
--------------------------------
|
|
|
|
USART1 (RX & TX only) is available through pins PA9 (TX) and PA10 (RX).
|
|
|
|
USB
|
|
===
|
|
|
|
The board routes F401/F411's built-in FS PHY to a USB-C (non-dual-role) port.
|
|
The chips still have a DWC2 USBOTG IP core, but only device mode is used.
|
|
Note that only V3.1 PCB got a DNI solder bridge to short 5V and USB VBUS.
|
|
Previous revisions had no support for USB host because of lack of port power
|
|
as well as 5k pull-downs on USB-C CC1/CC2 pins (not affecting USB-A adapters).
|
|
Because of this we are not considering USBOTG-FS Host configurations and
|
|
do not map OTG_VBUS, OTG_ID pins to FS PHY, also no OVER/PWRON GPIOs.
|
|
|
|
If using USB and USART1 simultaneously, make sure to check
|
|
CONFIG_OTG_ID_GPIO_DISABLE, else stm32_otgfsdev driver code remaps PA10 pin from
|
|
USART1_RX to OTG_ID, and you'll lose keyboard/console input!
|
|
|
|
SPI NOR Flash
|
|
=============
|
|
|
|
The seller may send boards with soldered on-board SPI NOR Flash, usually
|
|
Winbond W25Q64JVSIQ (QuadSPI) or similar. F401/F411 lack QuadSPI support.
|
|
NuttX supports such MTD storage via special drivers and filesystems.
|
|
For example, external flash can be formatted with SmartFS (or NXFFS, LittleFS)
|
|
and mounted on boot by board init code or interactively from NSH.
|
|
|
|
Configurations
|
|
==============
|
|
|
|
Each stm32f411-minimum configuration is maintained in a sub-directory and
|
|
can be selected as follow::
|
|
|
|
tools/configure.sh stm32f411-minimum:<subdir>
|
|
|
|
Where <subdir> is one of the following:
|
|
|
|
|
|
Configuration Directories
|
|
-------------------------
|
|
|
|
nsh
|
|
---
|
|
|
|
Configures the NuttShell (nsh) located at apps/examples/nsh. This
|
|
configuration enables a serial console on UART1.
|