AM6442: HWAL_init() and API Usage in EtherNet/IP Adapter Demo

Part Number: AM6442

Tool/software:

We are currently working on implementing the EtherNet/IP Adapter functionality on our custom board and would appreciate your guidance, especially regarding the use of APIs such as HWAL_init().

We have successfully confirmed that the EtherNet/IP Adapter demo runs on our custom board. Our development environment is as follows:

  • SDK: AM64x Industrial Communications SDK v11.00.00
  • Reference Sample: EtherNet/IP Adapter Demo
  • Target Processor: A processor with “E” functionality as described in section 9.1.2 of the JAJSL34G device naming convention
    (i.e., supports “D” functionality, with EtherCAT HW accelerator and CAN-FD enabled)
  • Stack: Third-party EtherNet/IP stack (not the one included in the SDK)

We are planning to implement the third-party EtherNet/IP stack based on the EtherNet/IP Adapter demo.

In the demo source code, the function HWAL_init() is called, but we could not find its definition in the API reference or source files.

    *Please note that the following link refers to an older SDK version (AM243x SDK v08.00.00.21) and is used only as a reference:

     https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_00_00_21/exports/docs/industrial_protocol_docs/am243x/ethernetip_adapter/_app_8c-example.html

Although the header file exists in [source/industrial_comms/common/inc], the implementation of HWAL_init() is missing, making it difficult to understand its functionality.

We would appreciate your support in clarifying the following points:

  1. What is the role of HWAL_init() in the EtherNet/IP Adapter demo?
  2. Are there any precautions or conditions to consider when calling this function?
  3. In this context, does HWAL (Hardware Abstraction Layer) refer to FWHAL (Firmware and Hardware Abstraction Layer)?
  4. Are there any API references or implementation guidelines available for the EtherNet/IP Adapter, similar to the following EtherCAT example?
    https://software-dl.ti.com/processor-industrial-sw/esd/ind_comms_sdk/am64x/09_02_00_08/docs/am64x/ethercat_slave/example1.html
  5. we are looking for more documentation or guidance to help us determine which functions are essential and which are not when adapting the demo to our custom board and third-party stack.

Any advice or pointers would be greatly appreciated.

Thank you.

  • Hi,

    Considering you're planning to use a Third Party EtherNet/IP Stack, there's no need to use any OSAL or HWAL calls, since those are specific to the TI EtherNet/IP Stack.

    Instead, you can use standard FreeRTOS functions or the third-party APIs directly.

    To help provide you with a better example as a starting point, could you please clarify which interface you plan to use - MII or RGMII?

    Regards
    Archit
  • Hi,

    Thank you very much for your helpful response and clarification.

    To answer your question, we are using the RGMII interface.

    Best regards,
    Hiroki

  • Thank you very much for your support.

    The issue was resolved after I was contacted directly by the person in charge.

    I appreciate your assistance.

    Best regards,
    Hiroki

  • Hello,

    That's good to hear.

    We've shared a sample project along with details on how to port a third-party stack over ICSS_EMAC/EIP FWHAL over email to the FAE. We suggest to use this project as the baseline as all the functions/APIs used have their source code present in the MCU+ SDK / Industrial Comms SDK.

    Feel free to contact us if you face any further issues.

    Regards
    Archit