Function EPS_APP_INIT - Manual - PROFINET Driver

How to port PROFINET Driver

Portfolio
PROFINET Development Kits
Product
PROFINET Driver
Software version
v3.1.0
Edition
03/2024
Language
en-US (original)
LSA_VOID EPS_APP_INIT (LSA_VOID_PTR_TYPE hSys, EPS_HW_INFO_PTR_TYPE pEpsHw)

This function is called by the EPS at eps_init().

The following has to be done in this function:

  • Provide local memory
  • Provide local fast memory
  • Install shared memory driver
  • Install host interface driver
  • Install hardware device driver
  • Install additional drivers (e. g. for interrupting at real time OS, exception handling)
  • Setting initial log levels for tracing

The following shared memory drivers are available:

  • eps_noshm: No shared memory is used (Windows/Linux Native variant)
  • eps_pncore: Shared memory driver in EPS (CP1625 Host variant)

The following host interface drivers are available:

  • eps_hif_short_drv
  • eps_hif_universal_drv
  • eps_hif_pncorestd_drv

The following hardware device drivers are available:

  • eps_pndevdrv

Parameters

hSys: Input. System handle
pEpsHw: Output. Pointer to the local memory and the local fast memory.

Local memory is used for malloc operations. Note that the PROFINET stack as well as PN Driver uses this memory for malloc/free operations. Communication memory for acyclical communication (so-called Non-Real-Time (NRT) memory) as well as the Process Image (PI) memory for cyclical communication is provided by PNDevDriver, see section EPS_PNDEV_OPEN_FCT.

Local fast memory is used for IO data. (optional)

Interaction between EPS and PN Driver

At the startup, PN Driver calls EPS at SERV_CP_init.

EPS performs a callback to PN Driver by calling EPS_APP_INIT().

Interaction between EPS and PN Driver at SERV_CP_init

Using another EPS driver

If you want to use another driver provided by EPS, replace the call of eps_XXX_install() function with another driver listed in the description of EPS_APP_INIT().

Using a custom driver

If you want to use a custom driver that is not included in PN Driver delivery, this driver has to be implemented and registered in EPS_APP_INIT() using the eps_XXX_install() functions. See section EPS driver concept (Ethernet adapters abstraction) for more detailed information.