STM32F746ZG (uGOAL)

Introduction

The STM32F746ZG incorporate the Arm®Cortex®-M7 32-bit RISC CPU with up to 216 MHz. It provides up to 1 Mbyte, 320 Kbytes of SRAM. The STM32F746ZG is capable as an application controller for the iRJ45/SoM module.

STM32F746ZG target is only compatible with uGOAL.

 

The port for STM32F746ZG is based 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 stm32f746zg make PLATFORM=stm32f746zg

Flashing

Flashing the firmware is done with the following command. Please use the UART device for your system.

make PLATFORM=stm32f746zg UART=/dev/tty.ACM0 flash serial

The Makefile target serial will use minterm.py from the pyserial package. Thus python and pyserial needs to be installed.

The Flashing could also be done by simply copying the created binary (e.g. under “projects\ugoal\02_profinet\gcc\build\stm32f746zg\02_profinet_stm32f746zg.bin”) onto the STM32F746ZG.

Getting Started

Preparations

Hardware Requirements

Arduino PMOD Adaptershield

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”

STM32F746ZG Board

There is no configuration required.

Target System

Please connect both boards with each other, before you connect them per USB to your computer.

There is no further configuration required.

Debugging

UART

The STM32F746ZG 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:

[INF] ../rpc/goal_mctc_rb.c:277 creating rpc ring buffer with buffer size 768 and elem size 256 [INF] ../rpc/goal_mctc_rb.c:277 creating rpc ring buffer with buffer size 768 and elem size 256 [INF] ../goal_media/goal_mi_mctc.c:793 rpc transfer size set to 1024 [INF] ../goal_media/goal_mi_mctc.c:723 peer requested Sync Init [INF] ../goal_media/goal_mi_mctc.c:723 peer requested Sync Init [INF] ../goal_media/goal_mi_mctc.c:723 peer requested Sync Init [INF] ../goal_media/goal_mi_mctc.c:723 peer requested Sync Init [INF] ../goal_media/goal_mi_mctc.c:455 RPC state synchronized, running appl_setup [INF] ../goal_media/goal_mi_mctc.c:458 configuring timeout values for peer [INF] ../pnio/goal_pnio_rpc_ac.c:259 PROFINET Application Core successfully started [INF] ../example/02_profinet/goal_appl.c:188 Initializing device structure [INF] ../example/02_profinet/goal_appl.c:230 PROFINET ready [INF] ../goal_media/goal_mi_mctc.c:487 local setup done !! application setup done !!<\n> HEAP remaining free: 319824 bytes<\n>

Known Issues

Currently there are no limitations regarding the STM32F746ZG.