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.

RTOS/PROCESSOR-SDK-AM57X: PRU-ICSS and EMACs together in TI-RTOS

Part Number: PROCESSOR-SDK-AM57X


Tool/software: TI-RTOS

Hello. I'm using AM572x IDK board and want to use all ethernet ports. I know, that second pru on this board is not connected. I want to use 2 gigabit (emac) ports and 2 pru-icsses ports (from first pru), all with their own static IP addresses, on TI-RTOS (with NDK). Would you please clarify some points for me?

  1.  How can I configure emac and pru-icss ports together (from one kernel)? How can I assign port-own static IP address for each port?
  2.  How can I use emac and pru-icss ports concurrently from A15 (and other too) kernels?

  • Hi Alex,

    One AM572x IDK board, the default configuration provides two 100Mb Industrial Ethernet ports from PRU-ICSS2 and two Gigabit (1000Mb) Ethernet ports from CPSW.

    You may refer to the PDK examples NIMU_DualMACExample_idKAM572x and NIMU_ICSS_BasicaExample_idKAM572x for port configuration and connectivity. Essentially, you need to distinguish the ports via Ip.ifIdx if using staic IP address, and add network interface entry CpswEmacInit and NIMU_ICSS_EmacInit in NIMUDeviceTable.

    Regards,
    Garrett
  • Hi Garrett,

    How can I assign Ip.ifIdx to more than one interface (example with one interface I was found in DualMac project)?

    With regards,
    Alex
  • Alex,

    The IP address of 1st network interface in the DualMac project is assigned via CfgAddEntry with index = 1.

       /* Add IP address for interface 1 */

       NA.IPAddr = inet_addr(ipAddr);

       NA.IPMask = inet_addr(ipMask);

       CfgAddEntry(hCfg, CFGTAG_IPNET, 1, 0, sizeof(CI_IPNET),

                   (UINT8 *)&NA, 0);

    Regards,

    Garrett