This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM64X: Access to PRU Ethernet/IP and CPSW swicth from same R5-0

Part Number: PROCESSOR-SDK-AM64X
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Can you help us to enable and configure the access to CPSW (ICSSG0) and ICSS-EMAC Ethernet/IP (ICSSG1) in sysconfig with the INTDUSTRIAL-COMMUNICATION-SDK-AM64x version 9.2.0.24 ?

From our code running in R5-0 core, we need to forward data from Ethernet/IP fieldbus to other device connected on a second network connected on CPSW.

It seems that there is a limitation in sysconfig which block us to do that.


  • Hi ,

    Thanks for your query.

    configure the access to CPSW (ICSSG0)

    ICSSG0/CPSW will be used for Ethernet connection (100M or 1G)?

    What is traffic speed expected here?

    From our code running in R5-0 core, we need to forward data from Ethernet/IP fieldbus to other device connected on a second network connected on CPSW.

    Ethernet and Ethernet/IP packets will be consumed by single R5F core ?

    or forwarded some other core for processing?

    Regards

    Ashwani

  • ICSSG0/CPSW will be used for Ethernet connection?

    Yes, it is an independent second network, where we expect to exchange Ethernet frame Layer 2.

    What is traffic speed expected here?

    At the maximum of what we could support.
    As we are at 100M on EIP, i expect to be at maximum at 70% of this on network 2. The Regulation will come from Ethernet IP network, by increasing the eip cycle time (RPI).

    Ethernet and Ethernet/IP packets will be consumed by single R5F core ?

    Yes, both network will be handled by same R5F core.




    Please can you let us know how can we configure the two Ethernet access in sysconfig ? 

  • Hi Christophe,

    The following response from my colleague Tushar has the detailed steps on how to make the ENET modules show up in the SysConfig : https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1412093/processor-sdk-am64x-ti-networking-with-enet-cpsw-is-not-available-along-with-ti-industrial-toolkit/5452236#5452236 

    Please try out these steps and let me know if this unblocks you.

    Regards
    Archit Dev

  • Hello,
    I followed the response and I have some problems.
    - When trying to configure cpsw on sysconfig, I don't see CPSW associated PHY configuration.
    - When adding cpsw communication layer (and associated library), I have the following error:

    "syscfg/linker.cmd", line 60: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment fails for section "GROUP_2" size 0xa3330.  Available memory ranges:
       MSRAM        size: 0x150000     unused: 0x85480      max hole: 0x85478   
        GROUP  :   {
    error #10010: errors encountered during linking; "ss1_cpsw_hsrprp2.out" not built
    tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
    gmake[1]: *** [ss1_cpsw_hsrprp2.out] Error 1
    gmake: *** [all] Error 2
    makefile:178: recipe for target 'all' failed
    Best regards,
    Cyril

  • Hi ,

    Thanks for update.

    I added sysconfig expert to look into this.

    Please allow him some time to get back to you.

    Regards

    Ashwani

  • HI Ashwani,

    Do you have an estimate dateline when you should back to us ?
    we are currently blocked without your support.
    Thanks
    Christophe.

  • Hi Christophe,

    We are attempting to reproduce the issue on our end. 

    In order to ensure that we are aligned on the versions used, can you please confirm the SDK version of the following SDKs:
    1. Industrial Comms SDK
    2. MCU+ SDK 

    Regards
    Archit

  • Hi Archit,
    We want to use only Industrial Comms SDK with the latest released version ind_comms_sdk_am64x_09_02_00_24.

    Also, if it can help:
    - sysconfig_1.23.1
    - ccs1281

     

    Best regards,
    Cyril

  • HI Cyril,

    Thanks for the reply. The MCU+ SDK version enclosed within the ind_comms_sdk_am64x_09_02_00_24 is : 09.02.00.50.

    Can you please try it out with the Toolchain version with which, the SDK was tested? They're as follows:
    1. CCS Version :  CCS 12.7.0
    2. SysConfig Version : SysConfig 1.20.0 
    3. Compiler Version : TI ARM CLANG 3.2.2 LTS

    Download links for the 3 can be found in the following link : INDUSTRIAL-COMMUNICATIONS-SDK-AM243X Software development kit (SDK) | TI.com

    Please let me know how it goes.

    Regards
    Archit Dev

  • Archit,
    I installed the following:
    1. CCS Version :  CCS 12.7.0
    2. SysConfig Version : SysConfig 1.20.0 
    3. Compiler Version : TI ARM CLANG 3.2.2 LTS

     

    Then, imported hsr_rgmii_demo_am64x-evm_r5fss0-0_freertos_ti-arm-clang with a copy (modification of example.projectspec)

     

    Check that configuration is correct

     

    Open example.syscfg

    Add enet (cpsw ) component.

    Fix the error by disabling RGMII2 of CPSW


    Then, try to configure PHY associated to CPSW:

    It is not possible. I don’t see associated entry.

     

    So, with the version you are proposing, I can reproduce the issue.
    I was expecting a configuration of CPSW PHY.

    Regards,
    Cyril

  • Hi Cyril,

    Thank you for the detailed explanation.

    According to information provided by the ENET CPSW team - in SDK version 09.02, PHY configuration is performed through the "Board Config" section of the ENET (CPSW) SysConfig instance. Please refer to the attached screenshot for reference.



    Regards
    Archit 

  • Hi Archit,.
    I have some problems with generated file from \mcu_plus_sdk\source\networking\.meta\enet_cpsw\templates\enet_lwipif.h.xdt

    The output file contains #endif but not #if...

    Here is the generated file:

    /**
     *  \file ti_enet_lwipif.h
     *
     *  \brief Enet Lwip Interface header file.
     */
    
    
    /*
     *  Functions provided by enet_netif_manager.c to initialize a new netif, create tx & rx tasks, and start a scheduler OS agnostically.
     */
    void LwipifEnetApp_startSchedule(LwipifEnetApp_Handle handle, struct netif *netif
    );
    
    struct netif * LwipifEnetApp_getNetifFromName(NetifName_e name);
    
    
    #endif /* TI_ENET_LWIPIF_H_ */ 
    
    


    It seems that the number of instances = 0 (module.getNetifCount(instance)).
    With sysconfig I have, I don't know how to add it. 

    I would like to associate lwip interface with icss-emac but not enet(CPSW).

    Can you provide me the best way to configure it please ?

    Best regards,
    Cyril

  • Hi Cyril,

    I would like to associate lwip interface with icss-emac but not enet(CPSW).

    Both ICSS EMAC and ENET(CPSW) have an lwIP interface associated with them. If you're planning to use an LwIP bridge to intercommunicate between the 2 network peripherals, this is what the flow would look like (click the image below to enlarge).



    If you provide more details on the requirement and why you'd want the LwIP interface of the ENET removed - I can provide you with some more details.

    I have some problems with generated file from \mcu_plus_sdk\source\networking\.meta\enet_cpsw\templates\enet_lwipif.h.xdt

    Regarding the SysConfig related queries, I've notified the expert - he'll get back to you with an update soon.

    Thanks
    Archit