STM32F429zi (uGOAL)

Introduction

The STM32F429zi incorporate the Arm®Cortex®-M4 32-bit RISC CPU with up to 48MHz. The STM32F429zi is capable as an application controller for the iRJ45/SoM module.

The port for STM32F429zi bases on ST’s HAL Layers. Thus porting to any other ST hardware is very easy. See here for additional information: STM32 (uGOAL) .

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 STM32F429zi make PLATFORM=STM32F429zi clean all

Flashing

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

make PLATFORM=STM32F429zi 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.

Or you could just copy the created *.bin to the STM32, which appears as Mass Data Storage in your computer.

Getting Started

Preparations

Hardware Requirements

Arduino PMOD Adaptershield

Make sure following settings are set:

J13: Connect “VCC33_Sockel” with “VCC33_RJ45”

J8: Connect “CS” with “PB2”

J7: Connect “RST” with “PD7”

All DIP-Switches to OFF

STM32F429I-Nucleo board

Make sure following settings are set:

JP6: Remove this Jumper on the front side of the board

Due to a double assignment of pins the simultaneous use of SPI and Ethernet is not possible with STM32 Nucleo-144. The JP6 jumper activates Ethernet.

Target System

There is no further configuration required.

Debugging

UART

The STM32F429zi 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 [INF] ../ugoal/ugoal.c:212 HEAP utilization: 3400/4096 (83%).

Known Issues

Currently there are no limitations regarding the STM32F429zi.