Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added Information about Footprints on STM32 Platforms.

General Integration Hints

MAC Address

  • when the configuration option for LLDP MAC address generation is enabled, MAC addresses for ports are calculated from the base MAC address

  • this option is enabled by default and can be disabled by (goal_pnioCfgLldpGenMacSet)

Code Block
calculation of MAC addresses
============================

MAC (device)   = 0x02:0x00:0x00:0x00:0x00:0x01
MAC (port-001) = 0x02:0x00:0x00:0x00:0x00:0x02
MAC (port-002) = 0x02:0x00:0x00:0x00:0x00:0x03

NVS Storage

  • via PROFINET (DCP) values can be set in the device which optionally need to be stored permanently

  • to be conform to the PROFINET standard, this process needs to be executed timely and should not block normal device operation for more than 200ms

  • BACKGROUND: in the conformance test it is checked if a DCP set request is processed and answered within a time window of 500ms

Firewall Settings

GOAL PROFINET uses the following Ethertypes.

Ethertype

Description

Note

0x0800

Internet Protocol version 4 (IPv4)

only for GOAL managed TCP/IP Stacks

0x0806

Address Resolution Protocol (ARP)

only for GOAL managed TCP/IP Stacks

0x8100

VLAN-tagged frame (IEEE 802.1Q)

only if not removed by receive logic

0x8892

PROFINET Protocol

0x88cc

Link Layer Discovery Protocol (LLDP)

Table: Firewall Ethertypes

Additionally GOAL PROFINET uses the following UDP ports.

UDP Port

Description

0x8894

RPC port (34964, according to IANA)

0xc000

RPC responder port (49152, according to IANA)

Table: Firewall UDP Ports

Platform specific Integration Hints

Example

Memory Footprint on Platforms

STM32 with GOAL 2.25.2

Following Memory Footprints for STM32 Derivates with application goal_pnio/13_pnio_snmp using GCC with Optimization (-O2) and without logging:

STM32F429

used

FLASH

2 MB

187 kB

CCMRAM

64 kB

9 kB

RAM

192 kB

177 kB

STM32H723

used

FLASH

1 MB

200 kB

RAM

432 kB

190 kB

ARM Cortex-M3 Platform with GOAL 2.12

Memory Footprint (01_simple_io)

Code Block
220 058 bytes of readonly code memory
69 079 bytes of readonly data memory
375 422 bytes of readwrite data memory (contains GOAL HEAP, thus not used 100%)

Memory Footprint (13_pnio_snmp)

Code Block
275 816 bytes of readonly  code memory
78 228 bytes of readonly  data memory
420 413 bytes of readwrite data memory (contains GOAL HEAP, thus not used 100%)
GOAL heap (01_simple_io / 13_pnio_snmp)
Code Block
heap usage id(GOAL_ID_TASK): 252 Bytes
heap usage id(GOAL_ID_TGT): 17004 Bytes
heap usage id(GOAL_ID_INSTANCE): 148 Bytes
heap usage id(GOAL_ID_MA_NVS): 88 Bytes
heap usage id(GOAL_ID_MI_NVS): 16867 Bytes
heap usage id(GOAL_ID_MAIN): 124 Bytes
heap usage id(GOAL_ID_DRV_NVS): 12 Bytes
heap usage id(GOAL_ID_MA_SECTION): 64 Bytes
heap usage id(GOAL_ID_DRV_SPI): 12 Bytes
heap usage id(GOAL_ID_MA_SPI): 100 Bytes
heap usage id(GOAL_ID_DRV_WD): 4 Bytes
heap usage id(GOAL_ID_LOCK): 624 Bytes
heap usage id(GOAL_ID_LOG): 5164 Bytes
heap usage id(GOAL_ID_CM): 8284 Bytes
heap usage id(GOAL_ID_QUEUE): 49960 Bytes
heap usage id(GOAL_ID_LM): 60 Bytes
heap usage id(GOAL_ID_STAT): 2388 Bytes
heap usage id(GOAL_ID_ETH): 120 Bytes
heap usage id(GOAL_ID_NET): 16 Bytes
heap usage id(GOAL_ID_TMR): 1280 Bytes
heap usage id(GOAL_ID_PNIO): 49368 Bytes
heap usage id(GOAL_ID_DD): 4 Bytes
memory allocation number: 568
memory allocation alignment overhead: 12
memory usage: 156964/259072 bytes
memory usage: (61%)

Certification Notes

Documentation

During the Conformance Test the behavior of the cyclic data is checked in the

following situations:

  • PLC enters state 'stop'

  • AR is closed

This behavior must be defined in the device manual. If not changed, the GOAL

PROFINET stack handles the situations in this way:

  • PLC enters state 'stop'

    • Input data values don't change.

  • AR is closed

    • Input data values are not longer available in memory, zeroed values are

      reported.

Table of Contents