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) |
|---|---|
00410_goal/no_net | RAM: 75 kB |
goal_ecat/02_eoe_http | RAM: 185 kB |
goal_eip/opener/08_acd_dhcp_dlr | RAM: 204 kB |
goal_pnio/13_pnio_snmp | RAM: 180 kB |
goal_mb/01_simple_io* | RAM: 200 kB |
goal_epl/01_cn1 | RAM: 180 kB |
goal_ccl_ie_tsn/01_master* | RAM: 180 kB |
goal_ccl_ie_tsn/04_remotestation* | RAM: 235 kB |
goal_opcua/port/03_conformance_test* | RAM: 400 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 |
|---|---|
| RAM |
| 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) |
|---|---|
goal_pnio/24_pnio_snmp_mrp |
|
goal_ccl_ie_tsn/04_remotestation* |
|
goal_mb/01_simple_io* |
|
goal_ecat/02_eoe_http |
|
goal_eip/08_acd_dhcp_dlr |
|
\* 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 |
|---|---|---|
00410_goal/no_net | RAM: 360 kB | 44 kB / 280 kB |
goal_ecat/02_eoe_http | RAM: 430 kB | 64 kB / 280 kB |
goal_eip/opener/08_acd_dhcp_dlr | RAM: 430 kB | 134 kB / 280 kB |
goal_pnio/24_pnio_snmp_mrp | RAM: 415 kB | 136 kB / 280 kB |
goal_mb/01_simple_io | RAM: 430 kB | 55 kB / 280 kB |
goal_epl/01_cn1 | RAM: 400 kB |
|
goal_ccl_ie_tsn/01_master* | RAM: 410 kB | 235 kB / 280 kB |
goal_ccl_ie_tsn/04_remotestation* | RAM: 460 kB | 150 kB / 280 kB |
\* built with logging