OLIMEX-STM32-H405
Overview
The OLIMEX-STM32-H405 board is based on the STMicroelectronics STM32F405RG ARM Cortex-M4 CPU.
Hardware
Information about the board can be found at the OLIMEX-STM32-H405 website and OLIMEX-STM32-H405 user manual. The ST STM32F405RG Datasheet contains the processor’s information and the datasheet.
Supported Features
The olimex_stm32_h405
board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo
-
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M4F CPU1 |
|
ADC |
on-chip |
STM32F4 ADC1 |
|
on-chip |
STM32 ADC2 |
||
CAN |
on-chip |
STM32 CAN controller2 |
|
Clock control |
on-chip |
STM32 RCC (Reset and Clock controller)1 |
|
on-chip |
STM32 HSE Clock1 |
||
on-chip |
|||
on-chip |
STM32F4 Main PLL1 |
||
on-chip |
STM32F4 PLL I2S1 |
||
on-chip |
STM32 Microcontroller Clock Output (MCO)2 |
||
Counter |
on-chip |
STM32 counters12 |
|
DAC |
on-chip |
STM32 family DAC1 |
|
DMA |
on-chip |
STM32 DMA controller (V1)2 |
|
Flash controller |
on-chip |
STM32 Family flash controller1 |
|
GPIO & Headers |
on-chip |
STM32 GPIO Controller9 |
|
I2C |
on-chip |
STM32 I2C V1 controller3 |
|
I2S |
on-chip |
STM32 I2S controller2 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
on-chip |
STM32 External Interrupt Controller1 |
||
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Memory controller |
on-chip |
STM32 Battery Backed RAM1 |
|
MMC |
on-chip |
STM32 SDMMC Disk Access1 |
|
MTD |
on-chip |
STM32F4 flash memory1 |
|
PHY |
on-chip |
This binding is to be used by all the usb transceivers which are built-in with USB IP2 |
|
Pin control |
on-chip |
STM32 Pin controller1 |
|
PWM |
on-chip |
STM32 PWM12 |
|
Reset controller |
on-chip |
STM32 Reset and Clock Control (RCC) Controller1 |
|
RNG |
on-chip |
STM32 Random Number Generator1 |
|
RTC |
on-chip |
STM32 RTC1 |
|
Sensors |
on-chip |
STM32 quadrature decoder6 |
|
on-chip |
STM32 family TEMP node for production calibrated sensors with two calibration temperatures1 |
||
on-chip |
STM32 VREF+1 |
||
on-chip |
STM32 VBAT1 |
||
Serial controller |
on-chip |
||
on-chip |
STM32 UART2 |
||
SMbus |
on-chip |
STM32 SMBus controller3 |
|
SPI |
on-chip |
STM32 SPI controller4 |
|
SRAM |
on-chip |
Generic on-chip SRAM description1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
on-chip |
STM32 timers14 |
||
USB |
on-chip |
STM32 OTGFS controller1 |
|
on-chip |
STM32 OTGHS controller1 |
||
Watchdog |
on-chip |
STM32 watchdog1 |
|
on-chip |
STM32 system window watchdog1 |
Pin Mapping
LED
USER_LED (green) = PC12
PWR_LED (red) = power
External Connectors
JTAG debug
PIN # |
Signal Name |
Pin # |
Signal Name |
---|---|---|---|
1 |
+3.3V |
2 |
+3.3V |
3 |
PB4 / TRST |
4 |
GND |
5 |
PA15 / TDI |
6 |
GND |
7 |
PA13 / TMS |
8 |
GND |
9 |
PA14 / TCK |
10 |
GND |
11 |
GND |
12 |
GND |
13 |
PB3 / TDO |
14 |
GND |
15 |
GND |
16 |
GND |
17 |
RST |
18 |
GND |
19 |
GND |
20 |
GND |
USB Type B
PIN # |
Signal Name |
---|---|
1 |
+5V_USB |
2 |
PA11 / USBDM |
3 |
PA12 / USBDP |
4 |
GND |
EXT1 header
PIN # |
Signal Name |
Pin # |
Signal Name |
---|---|---|---|
1 |
2 |
||
… |
… |
… |
… |
9 |
PC11 (USB DISC) |
10 |
PC12 (LED) |
… |
… |
… |
… |
25 |
26 |
EXT2 header
PIN # |
Signal Name |
Pin # |
Signal Name |
---|---|---|---|
1 |
2 |
||
… |
… |
… |
… |
5 |
6 |
GND |
|
7 |
PA2 / USART2_TX |
8 |
|
9 |
10 |
PA3 / USART2_RX |
|
… |
… |
… |
… |
25 |
26 |
System Clock
OLIMEX-STM32-H405 has two external oscillators. The frequency of the slow clock is 32.768 kHz. The frequency of the main clock is 8 MHz. The processor can setup HSE to drive the master clock, which can be set as high as 168 MHz.
Programming and Debugging
The OLIMEX-STM32-H405 board does not include an embedded debug tool interface. You will need to use ST tools or an external JTAG probe. In the following examples a ST-Link V2 USB dongle is used.
Flashing an application to the Olimex-STM32-H405
The sample application Hello World is being used in this tutorial.
Connect the ST-Link USB dongle to your host computer and to the JTAG port of the OLIMEX-STM32-H405 board.
Now build and flash the application.
# From the root of the zephyr repository
west build -b olimex_stm32_h405 samples/hello_world
west flash
Run a serial host program to connect with your board:
$ minicom -D /dev/ttyACM0
After resetting the board, you should see the following message:
*** Booting Zephyr OS build v2.7.99-3008-g2341052abe7c ***
Hello World! olimex_stm32_h405
Debugging
You can debug an application in the usual way. Here is an example for the Hello World application.
# From the root of the zephyr repository
west build -b olimex_stm32_h405 samples/hello_world
west debug