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

arm,cortex-m7

ADC

on-chip

STM32 ADC13

st,stm32-adc

Audio

on-chip

STMicroelectronics DFSDM block1

st,stm32-dfsdm

on-chip

STMicroelectronics DFSDM DMIC4

st,stm32-dfsdm-dmic

CAN

on-chip

STM32H7 series (and compatible) FDCAN CAN FD controller2

st,stm32h7-fdcan

Clock control

on-chip

STM32H7 RCC (Reset and Clock controller)1

st,stm32h7-rcc

on-chip

STM32 HSE Clock1

st,stm32-hse-clock

on-chip

STM32 HSI Clock1

st,stm32h7-hsi-clock

on-chip

Generic fixed-rate clock provider21

fixed-clock

on-chip

STM32 LSE Clock1

st,stm32-lse-clock

on-chip

STM32H7 main PLL21

st,stm32h7-pll-clock

on-chip

STM32 Clock multiplexer1

st,stm32-clock-mux

on-chip

STM32 Microcontroller Clock Output (MCO)2

st,stm32-clock-mco

Comparator

on-chip

STM32H7 series Comparator2

st,stm32h7-comp

Counter

on-chip

STM32 counters14

st,stm32-counter

CRC

on-chip

STM32 CRC calculation unit1

st,stm32-crc

Cryptographic accelerator

on-chip

STM32 Cryptographic Accelerator1

st,stm32-cryp

on-chip

STM32 HASH Processor1

st,stm32-hash

DAC

on-chip

STM32 family DAC1

st,stm32-dac

Display

on-chip

STM32 LCD-TFT display controller1

st,stm32-ltdc

DMA

on-chip

STM32 DMA controller (V1)2

st,stm32-dma-v1

on-chip

STM32 BDMA controller1

st,stm32-bdma

on-chip

STM32 DMAMUX controller2

st,stm32-dmamux

Ethernet

on-chip

ST STM32 Ethernet MAC1

st,stm32h7-ethernet

on-chip

Synopsys DesignWare MAC MDIO controller1

snps,dwmac-mdio

on-board

Generic MII PHY1

ethernet-phy

on-chip

Synopsys DesignWare MAC PTP (Precision Time Protocol) Clock1

snps,dwmac-ptp-clock

Flash controller

on-chip

STM32 Family flash controller1

st,stm32-flash-controller

on-board

STM32 QSPI Flash controller supporting the JEDEC CFI interface1

st,stm32-qspi-nor

GPIO & Headers

on-chip

STM32 GPIO Controller11

st,stm32-gpio

I2C

on-chip

STM32 I2C V2 controller22

st,stm32-i2c-v2

I2S

on-chip

STM32H7 I2S controller3

st,stm32h7-i2s

on-chip

STM32 SAI Block controller1

st,stm32-sai

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

on-chip

STM32 External Interrupt Controller1

st,stm32-exti

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

Memory controller

on-chip

STM32 Battery Backed RAM1

st,stm32-bbram

on-chip

STM32H7 Flexible Memory Controller (FMC)1

st,stm32h7-fmc

on-chip

STM32 Flexible Memory Controller (SDRAM controller)1

st,stm32-fmc-sdram

MMU / MPU

on-chip

ARMv7-M Memory Protection Unit (MPU)1

arm,armv7m-mpu

MTD

on-chip

STM32 flash memory1

st,stm32-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

NVMEM

on-chip

Fixed layout for Non-Volatile memory1

fixed-layout

OTP memory

on-chip

STM32 embedded NVM OTP1

st,stm32-nvm-otp

PHY

on-chip

This binding is to be used by all the usb transceivers which are built-in with USB IP1

usb-nop-xceiv

on-board

Simple GPIO controlled CAN transceiver2

can-transceiver-gpio

Pin control

on-chip

STM32 Pin controller1

st,stm32-pinctrl

Power management

on-chip

STM32H7 power controller1

st,stm32h7-pwr

PWM

on-chip

STM32 PWM111

st,stm32-pwm

QSPI

on-chip

STM32 QSPI Controller1

st,stm32-qspi

Regulator

on-chip

STM32 VREFBUF regulator1

st,stm32-vrefbuf

Reset controller

on-chip

STM32 Reset and Clock Control (RCC) Controller1

st,stm32-rcc-rctl

RNG

on-chip

STM32 Random Number Generator1

st,stm32-rng

RTC

on-chip

STM32 RTC1

st,stm32-rtc

SDHC

on-chip

STM32 SDMMC Host Controller2

st,stm32-sdmmc

Sensors

on-board

Vishay VEML7700 High Accuracy Ambient Light Sensor With I2C Interface1

vishay,veml7700

on-board

STMicroelectronics IIS2MDC magnetometer accessed through I2C bus1

st,iis2mdc

on-board

TMP108 Digital Temperature Sensor1

ti,tmp108

on-board

STMicroelectronics LPS25HB pressure sensor1

st,lps25hb-press

on-board

STMicroelectronics LSM6DSO 6-axis IMU (Inertial Measurement Unit) sensor accessed through I2C bus1

st,lsm6dso

on-chip

STM32 quadrature decoder6

st,stm32-qdec

on-chip

STM32 family TEMP node for production calibrated sensors with two calibration temperatures1

st,stm32-temp-cal

on-chip

STM32 VBAT1

st,stm32-vbat

on-chip

STM32 VREF+1

st,stm32-vref

Serial controller

on-chip

STM32 USART13

st,stm32-usart

on-chip

STM32 UART4

st,stm32-uart

on-chip

STM32 LPUART1

st,stm32-lpuart

SMbus

on-chip

STM32 SMBus controller4

st,stm32-smbus

SPI

on-chip

STM32H7 SPI controller6

st,stm32h7-spi

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

on-chip

STM32 timers113

st,stm32-timers

on-chip

STM32 low-power timer (LPTIM)1

st,stm32-lptim

USB

on-chip

STM32 OTGFS controller1

st,stm32-otgfs

Video

on-chip

STM32 DCMI1

st,stm32-dcmi

on-chip

STM32 JPEG HW Codec1

st,stm32-jpeg

Watchdog

on-chip

STM32 watchdog1

st,stm32-watchdog

on-chip

STM32 system window watchdog1

st,stm32-window-watchdog

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

References