SPRADH8 September   2024 AM6442

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
    1. 1.1 AM64x and AM243x EVMs
    2. 1.2 SoC Architecture
      1. 1.2.1 AM64x
      2. 1.2.2 AM243x
    3. 1.3 Peripherals
      1. 1.3.1 CPSW3G
      2. 1.3.2 PRU-ICSSG
    4. 1.4 Ethernet Software Architecture
    5. 1.5 Prerequisite
      1. 1.5.1 HW Prerequisite
      2. 1.5.2 SW Prerequisite
        1. 1.5.2.1 Resource Allocation - AM64x
        2. 1.5.2.2 SBL update
  5. Multicore 5-Ethernet Ports Realization
  6. Supported Configurations on PRU-ICSSG
  7. Implementation
    1. 4.1 System Example
      1. 4.1.1 Software Architecture
      2. 4.1.2 5-Ethernet Port Example
  8. Debug Steps
  9. Reference Logs
  10. Testing for the ICSSG0 and ICSSG1 Functionality
  11. ICSSG and CPSW
  12. Summary
  13. 10References

ICSSG and CPSW

ICSSG and CPSW can run together on different cores. The current example uses the ICSSG on core R5Fss_0-0 as the main core and CPSW as the remote core. This example uses an independent LwIP stack and consumes more memory than the typical case. This can be replaced with CPSW running a Layer2 test case and ICSSG acting as a remote controller with only one LwIP stack running, and an interface layer between ICSSG and CPSW with IPC as the transfer medium.


make -s -C test/networking/lwip/enet_icssg_tcpserver/am64x-evm/system_cpsw_icssg clean all

This results in two .out files in the respective test folders.

  1. Load the file through CCS and start the ICSSG core first.
  2. Start the CPSW core.
    1. Four IPs on the UART console by ICSSG
    2. and one IP on the CCS console are then visible.
  3. All ports are in MAC mode out of box.

This example was tested with CPSW, the default LwIP example running on R5Fss_0-1 independently, and tested with iPerf software. Now, Ported the CPSW TCP server example into the Test folder and added IPC remote core functions. This cannot be used in parallel with the default IPC example testing as this uses different Vring config in the ti_drivers_config.c file. Make sure to allocate the correct number of cores to the example combo for testing, and to allocate the correct number of gcounts for the number of RPmessages.

Load this onto R5Fss_0-1 core and test for functionality.