STM32H7 Renode Reference Platform
Overview
The STM32H7 Renode Reference Platform [1] board includes a high-performance 32-bit STM32H753 MCU and a group of sensors integrated into a development kit form factor. A digital twin of the board is represented in the Renode simulation framework [3], allowing users to experiment and learn how to integrate Renode into the development process.
Key features include:
STM32H753XI MCU (Cortex-M7, 480MHz)
100 Mbit/s Ethernet
USB-C Connector for data and power
10-axis IMU
Power consumption meter
2x CAN Bus terminal
1 Gb QSPI Flash external memory
100 mm x 60 mm PCB
5x LEDs (4x green + 1x RGB)
4x user buttons
Rotary potentiometer
QWIIC connector for peripheral expansion
Hardware
The Renode Reference Platform provides the following hardware:
STM32H753XI MCU
ARM Cortex-M7 CPU with double-precision FPU, up to 480 MHz
Memory:
2 MB Flash memory with ECC and read protection (PCROP)
1 MB RAM: 192 KB TCM (64 KB ITCM + 128 KB DTCM), 864 KB user SRAM, 4 KB backup SRAM
1 Gbit QSPI NOR external flash memory
Timers:
1x high-resolution timer (2.1 ns max resolution)
2x 32-bit timers with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
2x 16-bit advanced motor control timers
10x 16-bit general-purpose timers
5x 16-bit low-power timers
2x watchdog timers (independent, window)
SysTick timer
RTC: Real-time clock with hardware calendar, alarms, and calibration
Analog peripherals:
3x 16-bit ADCs with up to 36 channels and hardware oversampling
2x 12-bit DAC channels
2x ultra-low-power comparators
Internal temperature sensor and internal voltage reference
Communication interfaces:
2x FDCAN controllers supporting flexible data rate
2x I2C Fast Mode Plus (1 Mbit/s), SMBus/PMBus support
1x USART
USB 2.0 OTG full-speed and USB 2.0 OTF high-speed
Ethernet MAC (10/100 Mbit/s)
Sensors:
10-axis IMU:
LSM6DSO accelerometer + gyroscope
IIS2MDC magnetometer
LPS25HB barometer
TMP108 temperature sensor
VEML7700 ambient light sensor
Other peripherals:
Chrom-ART Accelerator (DMA2D), LCD-TFT controller, JPEG Codec
MDMA + 2x DMA + BDMA controllers
True Random Number Generator (RNG)
Hardware cryptographic accelerator (AES, 3DES, HASH: MD5/SHA-1/SHA-2, HMAC)
CRC calculation unit
Development support: dedicated debug, flashing and UART USB-C port via FTDI FT4232H
More information about the STM32H753XI can be found here:
Full component list for the board can be found here:
Supported Features
The stm32h7_renode_reference_board 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.
stm32h7_renode_reference_board/stm32h753xx target
On-target memory for this board target: 512 KiB of RAM, 2 MiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M7 CPU1 |
|
ADC |
on-chip |
||
Audio |
on-chip |
STMicroelectronics DFSDM block1 |
|
on-chip |
STMicroelectronics DFSDM DMIC4 |
||
CAN |
on-chip |
STM32H7 series (and compatible) FDCAN CAN FD controller2 |
|
Clock control |
on-chip |
STM32H7 RCC (Reset and Clock controller)1 |
|
on-chip |
STM32 HSE Clock1 |
||
on-chip |
STM32 HSI Clock1 |
||
on-chip |
|||
on-chip |
STM32 LSE Clock1 |
||
on-chip |
|||
on-chip |
STM32 Clock multiplexer1 |
||
on-chip |
STM32 Microcontroller Clock Output (MCO)2 |
||
Comparator |
on-chip |
STM32H7 series Comparator2 |
|
Counter |
on-chip |
STM32 counters14 |
|
CRC |
on-chip |
STM32 CRC calculation unit1 |
|
Cryptographic accelerator |
on-chip |
STM32 Cryptographic Accelerator1 |
|
on-chip |
STM32 HASH Processor1 |
||
DAC |
on-chip |
STM32 family DAC1 |
|
Display |
on-chip |
STM32 LCD-TFT display controller1 |
|
DMA |
on-chip |
STM32 DMA controller (V1)2 |
|
on-chip |
STM32 BDMA controller1 |
||
on-chip |
STM32 DMAMUX controller2 |
||
Ethernet |
on-chip |
ST STM32 Ethernet MAC1 |
|
on-chip |
Synopsys DesignWare MAC MDIO controller1 |
||
on-board |
Generic MII PHY1 |
||
on-chip |
Synopsys DesignWare MAC PTP (Precision Time Protocol) Clock1 |
||
Flash controller |
on-chip |
STM32 Family flash controller1 |
|
on-board |
STM32 QSPI Flash controller supporting the JEDEC CFI interface1 |
||
GPIO & Headers |
on-chip |
STM32 GPIO Controller11 |
|
I2C |
on-chip |
||
I2S |
on-chip |
STM32H7 I2S controller3 |
|
on-chip |
STM32 SAI Block controller1 |
||
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 |
|
on-board |
Group of PWM-controlled LEDs1 |
||
Memory controller |
on-chip |
STM32 Battery Backed RAM1 |
|
on-chip |
STM32H7 Flexible Memory Controller (FMC)1 |
||
on-chip |
STM32 Flexible Memory Controller (SDRAM controller)1 |
||
MMU / MPU |
on-chip |
ARMv7-M Memory Protection Unit (MPU)1 |
|
MTD |
on-chip |
STM32 flash memory1 |
|
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
||
NVMEM |
on-chip |
Fixed layout for Non-Volatile memory1 |
|
OTP memory |
on-chip |
STM32 embedded NVM OTP1 |
|
PHY |
on-chip |
This binding is to be used by all the usb transceivers which are built-in with USB IP1 |
|
on-board |
Simple GPIO controlled CAN transceiver2 |
||
Pin control |
on-chip |
STM32 Pin controller1 |
|
Power management |
on-chip |
STM32H7 power controller1 |
|
PWM |
on-chip |
||
QSPI |
on-chip |
STM32 QSPI Controller1 |
|
Regulator |
on-chip |
STM32 VREFBUF regulator1 |
|
Reset controller |
on-chip |
STM32 Reset and Clock Control (RCC) Controller1 |
|
RNG |
on-chip |
STM32 Random Number Generator1 |
|
RTC |
on-chip |
STM32 RTC1 |
|
SDHC |
on-chip |
STM32 SDMMC Host Controller2 |
|
Sensors |
on-board |
Vishay VEML7700 High Accuracy Ambient Light Sensor With I2C Interface1 |
|
on-board |
STMicroelectronics IIS2MDC magnetometer accessed through I2C bus1 |
||
on-board |
TMP108 Digital Temperature Sensor1 |
||
on-board |
STMicroelectronics LPS25HB pressure sensor1 |
||
on-board |
STMicroelectronics LSM6DSO 6-axis IMU (Inertial Measurement Unit) sensor accessed through I2C bus1 |
||
on-chip |
STM32 quadrature decoder6 |
||
on-chip |
STM32 family TEMP node for production calibrated sensors with two calibration temperatures1 |
||
on-chip |
STM32 VBAT1 |
||
on-chip |
STM32 VREF+1 |
||
Serial controller |
on-chip |
||
on-chip |
STM32 UART4 |
||
on-chip |
STM32 LPUART1 |
||
SMbus |
on-chip |
STM32 SMBus controller4 |
|
SPI |
on-chip |
STM32H7 SPI controller6 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
on-chip |
|||
on-chip |
STM32 low-power timer (LPTIM)1 |
||
USB |
on-chip |
STM32 OTGFS controller1 |
|
Video |
on-chip |
STM32 DCMI1 |
|
on-chip |
STM32 JPEG HW Codec1 |
||
Watchdog |
on-chip |
STM32 watchdog1 |
|
on-chip |
STM32 system window watchdog1 |
Connections and IOs
Antmicro’s STM32H7 Renode Reference Platform board uses the following default pin mappings for peripherals:
USART2 TX/RX : PD5/PA3
I2C1 SCL/SDA : PB6/PB7
I2C2 SCL/SDA : PF1/PF0
FDCAN1 TX/RX : PD1/PD0
FDCAN2 TX/RX : PB13/PB12
CAN_SHDN : PF13
QSPI CLK/NCS/IO0/IO1/IO2/IO3 : PF10/PB10/PF8/PF9/PF7/PF6
ETH : PA1, PA2, PA7, PB11, PC4, PC5, PG12, PG13
USB ID/D-/D+ : PA10/PA11/PA12
TIM3 CH1/CH2/CH3/CH4 (leds) : PB4/PC7/PC8/PB1
LRGB R/G/B : PD13/PD14/PD15
USER SW1/SW2/SW3/SW4 : PG7/PG8/PG9/PG10
ADC1 INP2 (potentiometer) : PF11
JTAG TMS/TCK/TDO/TDI : PA13/PA14/PB3/PA15
Serial Port
The Zephyr console output is assigned to USART2, which is connected to USB-UART converter on USB-C DEBUG port.
Programming and Debugging
The stm32h7_renode_reference_board board supports the runners and associated west commands listed below.
| flash | debug | debugserver | rtt | attach | simulate | robot | |
|---|---|---|---|---|---|---|---|
| openocd | ✅ (default) | ✅ (default) | ✅ | ✅ | ✅ | ||
| renode | ✅ | ||||||
| renode-robot | ✅ |
Applications for the stm32h7_renode_reference_board board target can be built and flashed in the usual way (see Building an Application and Run an Application for more details).
Flashing
This board has a USB-JTAG interface and can be used with OpenOCD.
Connect the board to your host computer using USB-C DEBUG port, then build and flash the application. Here is an example for Hello World.
# From the root of the zephyr repository
west build -b stm32h7_renode_reference_board samples/hello_world
west flash
Then run a serial host program to connect with the Renode Reference Platform board, e.g. using picocom:
$ picocom /dev/ttyUSB2 -b 115200
Warning
The board has only one port that is used for both programming and the console. For this reason, it is
recommended to set CONFIG_BOOT_DELAY to an arbitrary value. This is especially important when
running twister tests on the device. You should then also use the --flash-before and
--device-flash-timeout=120 options:
$ scripts/twister --device-testing --device-serial /dev/ttyUSB2 --device-serial-baud 115200 -p stm32h7_renode_reference_board --flash-before --device-flash-timeout=120 -v
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 stm32h7_renode_reference_board samples/hello_world
west debug