SLUUDO2 September   2026 AM2611 , AM2612 , AM2612-Q1 , AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1 , AM263P2 , AM263P2-Q1 , AM263P4 , AM263P4-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Acronyms
  5. 2Introduction
  6. 3Introduction to CPSWSS and ENET-LLD
    1. 3.1 Hardware
    2. 3.2 Software
    3. 3.3 Application Software
      1. 3.3.1 Board and Peripherals Initialization (SYSCFG)
      2. 3.3.2 CPSW Configuration (ENET-LLD)
      3. 3.3.3 Operating System (FreeRTOS or NoRTOS)
      4. 3.3.4 Middleware Stack (LwIP, Arm® Mbed™ Platform TLS, TSN)
      5. 3.3.5 Application Layer
  7. 4Debugging Hardware and Software
    1. 4.1 Hardware Debugging
      1. 4.1.1 Schematic Review Checklist
        1. 4.1.1.1 Management Data Input/Output (MDIO and MDC)
        2. 4.1.1.2 RGMII Interface
      2. 4.1.2 PHY Debug
        1. 4.1.2.1 PHY Bootstrap Settings
        2. 4.1.2.2 Trace Length
        3. 4.1.2.3 Clock Configuration
        4. 4.1.2.4 Mode Settings
        5. 4.1.2.5 IO MUX and SW Switch Settings
        6. 4.1.2.6 PHY Troubleshooting Guides
        7. 4.1.2.7 Custom Pin MUX Settings
      3. 4.1.3 Test Setup
      4. 4.1.4 Software Debugging
        1. 4.1.4.1 Using GEL Scripts in CCS
          1. 4.1.4.1.1 Statistics Using GEL Scripts
          2. 4.1.4.1.2 Statistics Using Expressions
      5. 4.1.5 Debugging Custom Ethernet Software
        1. 4.1.5.1 Debugging Initialization Sequence
        2. 4.1.5.2 PHY Debugging
        3. 4.1.5.3 MAC Port Debugging
        4. 4.1.5.4 TX Path Debugging
        5. 4.1.5.5 Systematic Debugging Checklist
          1. 4.1.5.5.1 RX Path Debugging
          2. 4.1.5.5.2 Multicast or Broadcast Does Not Work, But Unicast Works
    2. 4.2 Custom Hardware Bring-Up Process
      1. 4.2.1 Example 1: CPSW PHY Loopback
        1. 4.2.1.1 Failure: PHY Not Detected or MDIO Bus Not Alive
        2. 4.2.1.2 Failure: TX Packets Transmitted But RX Count = 0
      2. 4.2.2 Example 2: CPSW MAC Loopback Example
        1. 4.2.2.1 Failure: MAC Loopback Initialization Fails
        2. 4.2.2.2 Failure: TX Packets Increase But RX = 0
        3. 4.2.2.3 Failure: Nonzero Error Counters
      3. 4.2.3 Example 3: Enet_Layer2_CPSW and Enet_Layer2_cpsw_switch
        1. 4.2.3.1 Hardware Setup
        2. 4.2.3.2 Failure: Link Never Comes UP
        3. 4.2.3.3 Failure: Link is Up But No Frames Are Received or Transmitted
        4. 4.2.3.4 Failure: RX and TX Counters Increase But Error Rates Are High
      4. 4.2.4 Example 4: Enet_lwip_cpsw_example
        1. 4.2.4.1 Failure: Link Never Comes Up
        2. 4.2.4.2 Failure: Links Up But No IP Address Is Assigned
        3. 4.2.4.3 Failure: Ping Fails Despite Link and IP Address
    3. 4.3 Debugging Packet Forwarding Issues (ALE and Statistics)
      1. 4.3.1 CPSW Statistics Architecture
        1. 4.3.1.1 What Each Block Measures
        2. 4.3.1.2 Counter Reference Tables
          1. 4.3.1.2.1 MAC Port – RX Counters
          2. 4.3.1.2.2 MAC Port – TX Counters
          3. 4.3.1.2.3 MAC Port and Host Port – ALE and FIFO Drop Counters
          4. 4.3.1.2.4 Host Port – ALE Flood and Overrun Counters
          5. 4.3.1.2.5 MAC Port RX Issues
          6. 4.3.1.2.6 MAC Port TX Issues
          7. 4.3.1.2.7 Host Port RX Issues
          8. 4.3.1.2.8 Host Port TX Issues
    4. 4.4 Custom Board Enablement in SYSCFG
    5. 4.5 LwIP Debug Guide
      1. 4.5.1 LwIP Stack Configuration
      2. 4.5.2 lwip_stats
  8. 5Conclusion
  9. 6References

lwip_stats

The LwIP stack also provides statistics for the packets received by the stack. The statistics can be viewed by entering the lwip_stats expression in the CCS.

AM2612 AM2611 AM2634 AM2632 AM2631 AM263P4 AM263P2 AM263P4-Q1 AM263P2-Q1 AM2612-Q1 AM2634-Q1 AM2632 LwIP Statistics Screen
                    Shot Figure 4-22 LwIP Statistics Screen Shot

Figure 4-22 provides crucial information about the packets generated by the stack and the packets received by the stack for application (for example, UDP packets or HTTP packets).

The LwIP statistics can be used in conjunction with CPSW_STATS to understand the behavior of the traffic. For example, if the developer suspects that the application cannot receive packets from an external source, but is able to generate and send packets, the debug flow is to:

Transmission:

  • Generate a packet through the application and send the packet out through any MAC port (for example, MAC port 1)
  • If the application has LwIP integrated, check the LwIP statistics to see the xmit count increment. For example, if the application sends x UDP packet, the xmit statistic is meant to increment accordingly.
  • Check the MAC port and host port statistics of the CPSW. Since the host port generates the packet and sends the packet to the MAC port, and the MAC port sends the packet out of the device to the external source, the count of RxGoodFrames increments for the host port and the count of the TxGoodFrames increments for the MAC port.

Reception:

  • The packet generated externally is received in the MCU on the MAC port and the RxGoodFrames count increments.
  • The host port statistics show an increment in the TxGoodFrames count.
  • The lwip_stats shows an increment in the recv parameter.

If the statistics are not incrementing as expected, this result points to packet drop behavior. At the CPSW level, the packet is either dropped when the packet is malformed, has incorrect headers, or if the ALE is configured to not forward the packet to other MAC port or host port (refer to CPSW Statistics section for more details). If the CPSW receives the packet and the LwIP statistics do not show the packet, this result indicates an issue on the side of the lwIP. Check the memory pools and failures at the LwIP level.

If the packets do not show up at the CPSW statistics or LwIP statistics, revisit the Hardware Debug section and make sure the Ethernet hardware, links, PHY, and setup is flawless.

When debugging a LwIP based on a TCP or UDP application on the DUT, verify the link partner is properly running the TCP or UDP client or server. Start the server application before running the client application. Use packet sniffing tools, such as Wireshark®, to see if the packet flow is as expected. Since the LwIP is an open source software stack, not maintained by TI, direct questions specific to the functions and support of the LwIP stack to the LwIP support forum.