GOAL - Memory Footprint

GOAL - Memory Footprint

This page gives you an brief overview about general topics regarding GOAL and compatible platforms.

Memory Footprint of Applications

This chapter gives an overview about the needed memory of several applications based on GOAL version 2.26.0. The footprints are determined using the supported Platforms STM32 with an external KSZ Switch, the NXP RT1180 and the Renesas RZ/N1S.

Using STM32

For the Platform STM32H723 with the external Switch, the GOAL applications were built with the needed Hardware Abstraction Layer provided by ST. Afterwards, the application were built without GOAL to determine the exact space needed by these HAL to give exact information about the pure GOAL footprint. These application were built without logging (except those with \*) and without optimization.

Application

Memory Footprint (without HAL)

Application

Memory Footprint (without HAL)

00410_goal/no_net

RAM: 75 kB
Flash: 75 kB

goal_ecat/02_eoe_http

RAM: 185 kB
Flash: 210 kB

goal_eip/opener/08_acd_dhcp_dlr

RAM: 204 kB
Flash: 200 kB

goal_pnio/13_pnio_snmp

RAM: 180 kB
Flash: 300 kB

goal_mb/01_simple_io*

RAM: 200 kB
Flash: 203 kB

goal_epl/01_cn1

RAM: 180 kB
Flash: 120 kB

goal_ccl_ie_tsn/01_master*

RAM: 180 kB
Flash: 590 kB

goal_ccl_ie_tsn/04_remotestation*

RAM: 235 kB
Flash: 490 kB

goal_opcua/port/03_conformance_test*

RAM: 400 kB
Flash: 420 kB

\* built with logging

Using NXP RT1180

The platform NXP RT1180 uses a complex memory layout with fragmented RAM and FLASH areas with different speeds to guarantee best performances. These areas are defined following:

Memory Area

Type

Memory Area

Type

  • m_data

  • m_ncache

  • m_heap

  • m_data2

  • m_data3

  • m_qacode

RAM

  • m_text

  • m_flash_config

  • m_ivt

  • m_interrupts

FLASH

The GOAL static heap is located at the area m_data3 and allocs memory during startup of the application. Is it designed to leave some additional space for further application development. GOAL does not use all of this space now.

The following sizes are determined by building the application with enabled optimization -O2 and without logging to ensure best performance. GOAL uses FreeRTOS and the FLASH for this platform. The BSP of the RT1180 is included in these sizes.

Application

Memory Footprint (with BSP)

Application

Memory Footprint (with BSP)

goal_pnio/24_pnio_snmp_mrp

[LD] Memory region Flash/RAM Used Size Region Size %age Used
[LD] m_interrupts_ram: - 0 GB 0 GB [LD] m_flash_config: Flash 0 GB 3 KB 0.00% [LD] m_ivt: Flash 0 GB 4 KB 0.00% [LD] m_interrupts: Flash 1 KB 1 KB 100.00% [LD] m_text: Flash 221736 B 16339 KB 1.33% [LD] m_data: RAM 114744 B 128 KB 87.54% [LD] m_ncache: RAM 0 GB 0 GB [LD] m_heap: RAM 0 GB 0 GB [LD] m_data2: RAM 24604 B 496 KB 4.84% [LD] m_data3: RAM 256 KB 256 KB 100.00% [LD] m_qacode: RAM 22400 B 128 KB 17.09%

goal_ccl_ie_tsn/04_remotestation*

[LD] Memory region Used Size Region Size %age Used
[LD] m_interrupts_ram: 0 GB 0 GB
[LD] m_flash_config: 0 GB 3 KB 0.00%
[LD] m_ivt: 0 GB 4 KB 0.00%
[LD] m_interrupts: 1 KB 1 KB 100.00%
[LD] m_text: 404380 B 16339 KB 2.42%
[LD] m_data: 121256 B 128 KB 92.51%
[LD] m_ncache: 0 GB 0 GB
[LD] m_heap: 0 GB 0 GB
[LD] m_data2: 72520 B 496 KB 14.28%
[LD] m_data3: 256 KB 256 KB 100.00%
[LD] m_qacode: 33920 B 128 KB 25.88%

goal_mb/01_simple_io*

[LD] Memory region Used Size Region Size %age Used [LD] m_interrupts_ram: 0 GB 0 GB [LD] m_flash_config: 0 GB 3 KB 0.00% [LD] m_ivt: 0 GB 4 KB 0.00% [LD] m_interrupts: 1 KB 1 KB 100.00% [LD] m_text: 197712 B 16339 KB 1.18% [LD] m_data: 95272 B 128 KB 72.69% [LD] m_ncache: 0 GB 0 GB [LD] m_heap: 0 GB 0 GB [LD] m_data2: 66372 B 496 KB 13.07% [LD] m_data3: 256 KB 256 KB 100.00% [LD] m_qacode: 29952 B 128 KB 22.85%

goal_ecat/02_eoe_http

[LD] Memory region Used Size Region Size %age Used
[LD] m_interrupts_ram: 0 GB 0 GB
[LD] m_flash_config: 0 GB 3 KB 0.00%
[LD] m_ivt: 0 GB 4 KB 0.00%
[LD] m_interrupts: 1 KB 1 KB 100.00%
[LD] m_text: 204080 B 16339 KB 1.22%
[LD] m_data: 99488 B 128 KB 75.90%
[LD] m_ncache: 0 GB 0 GB
[LD] m_heap: 0 GB 0 GB
[LD] m_data2: 66372 B 496 KB 13.07%
[LD] m_data3: 256 KB 256 KB 100.00%
[LD] m_qacode: 22400 B 128 KB 17.09%

goal_eip/08_acd_dhcp_dlr

[LD] Memory region Used Size Region Size %age Used
[LD] m_interrupts_ram: 0 GB 0 GB
[LD] m_flash_config: 0 GB 3 KB 0.00%
[LD] m_ivt: 0 GB 4 KB 0.00%
[LD] m_interrupts: 1 KB 1 KB 100.00%
[LD] m_text: 164936 B 16339 KB 0.99%
[LD] m_data: 95936 B 128 KB 73.19%
[LD] m_ncache: 0 GB 0 GB
[LD] m_heap: 0 GB 0 GB
[LD] m_data2: 66372 B 496 KB 13.07%
[LD] m_data3: 256 KB 256 KB 100.00%
[LD] m_qacode: 22912 B 128 KB 17.48%

\* built with logging

Using Renesas RZ/N1S

For the Platform RZ/N1S Evaluation Board, the GOAL applications were built using the IAR Embedded Workbench for Arm, version 8.50 with the needed Board Support Package provided by Renesas. These application were built with optimization (similiar -O2), without logging (except those with \*).

The GOAL static heap is located at the RAM and allocs memory during startup of the application. Is it designed to leave some additional space for further application development. GOAL does not use all of this space now.

Application

Memory Footprint (with BSP)

used heap at RAM

Application

Memory Footprint (with BSP)

used heap at RAM

00410_goal/no_net

RAM: 360 kB
Flash: 85 kB

44 kB / 280 kB

goal_ecat/02_eoe_http

RAM: 430 kB
Flash: 130 kB

64 kB / 280 kB

goal_eip/opener/08_acd_dhcp_dlr

RAM: 430 kB
Flash: 145 kB

134 kB / 280 kB

goal_pnio/24_pnio_snmp_mrp

RAM: 415 kB
Flash: 195 kB

136 kB / 280 kB

goal_mb/01_simple_io

RAM: 430 kB
Flash: 90 kB

55 kB / 280 kB

goal_epl/01_cn1

RAM: 400 kB
Flash: 95 kB

 

goal_ccl_ie_tsn/01_master*

RAM: 410 kB
Flash: 460 kB

235 kB / 280 kB

goal_ccl_ie_tsn/04_remotestation*

RAM: 460 kB
Flash: 420 kB

150 kB / 280 kB

\* built with logging