STM32H7X5zi (uGOAL)

Introduction

The STM32H755zi and H745zi are based on the high-performance Arm® Cortex®-M7 and Cortex®-M4 32-bit RISC cores. The Cortex®-M7 core operates at up to 480 MHz and the Cortex®-M4 core at up to 240 MHz. It incorporate a dual-bank Flash memory of 2 Mbytes, up to 1 Mbyte of RAM. The STM32H755zi is capable as an application controller for the iRJ45/SoM module.

STM32H755zi and H745zi targets are only compatible with uGOAL.

uGOAL applications will be build for the Cortex®-M4.

The port for STM32H755zi bases on ST’s HAL Layers. Thus porting to any other ST hardware is very easy. See here for additional information: https://portgmbh.atlassian.net/wiki/spaces/IRJ45SOM/pages/201490466 .

Software

Toolchain

For compiling the example code, the GNU Arm Embedded Toolchain is required. It can be obtained in several ways. Further information can be found here: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads.

Make sure, the toolchain is added properly to your path variable after the installation.

Building

Within a example folder (e.g. projects/ugoal/02_profinet/gcc) of the software delivery build the firmware with following commands:

# build for h755zi or h745zi make PLATFORM=stm32h755zi clean all

Flashing

The Makefile will create two seperate binaries: one binary for the Cortex®-M4 and another one with included startup code for the Cortex®-M7. The startup code of the Cortex®-M7 resets the M4, initializes the clock settings and then start the application on the M4.

Flashing the firmware is done by copying the generated binary build/stm32h755zi/02_profinet_stm32h755zi_CM4_CM7.bin onto the STM32H755zi via the file explorer.

Using STM32CubeIDE

In the software delivery you’ll find several pre-build example projects for the STM32H7X5zi, which can be imported into the STM32CubeIDE. You’ll also find a project generator for STM32CubeIDE projects.

Generating a Project

Within the project folder (ugoal/projects/ugoal/02_profinet/gcc) trigger project creation using the following command:

make PLATFORM=stm32h755zi gen_project

The multiple choice menu allows selection of a template. For STM32H755zi a template is available, which can be selected by choosing [4] (stmcubeide):

Please select a template - OR - press <CTRL+c> and set the GEN_PROJECT_TPL environment variable. Choose IDE: [ 1] e2studio [ 2] eclipse [ 3] mcuxpressoide [ 4] stmcubeide Choice [1-4]:

After selection of the proper template (which needs to match the platform), an STM32CubeIDE project is located in the “ide” subfolder of the project.

Importing the Project

This project can be imported into STM32CubeIDE:

Select the project folder and import all projects for the STM32H755zi:

The imported projects can be compiled.

Getting Started

Preparations

Hardware Requirements

Make sure following settings are set:

  • J13 - Connect “iRJ45” with “Sockel”

  • J8 - Connect “CS_SOURCE” with “PB2”

  • J7 - Connect “RST_SOURCE” with “PD7”

  • Set all DIP-Switches to “OFF”

STM32H755zi Board

There is no configuration required.

Target System

There is no further configuration required.

Debugging

UART

The STM32H755zi provides an UART over USB cable. Choose the following settings:

Speed

115200

Data Bits

8

Stop Bits

1

Parity

None

Flow Control

None

Application 02_profinet

The available applications are described here. Following you’ll find an example. After setting up the serial monitor and starting the debug session, the output should look like this:

Known Issues

EtherCAT DC is not supported.