lib_ethernet application on AN00199 example
Posted: Mon Dec 10, 2018 4:02 pm
Hi all,
I am working with XCORE-200 eXplorer device with the lib Ethernet MAC (version3.3.0) in order to capture ethernet packets. I use the AN00199 (version 1.0.2) example on XTimeComposer (version Community_14.3.3) tool.
The objective is to retrieve the entire Ethernet frame: Preamble, Start Frame Delimiter (SFD) and Frame Check Sequence (FCS) in addition to the usual frame data. Digging a bit in the lib_ethernet code, I tried to find the code behind the call to the get_packet function, and went to the rgmii_ethernet_rx_server function.
I found the “get_packet” case on which I can use breakpoints, but I can’t find the link to “rgmii_10_100_master_rx_pins” in rgmii_10_100_master.xc which seems to contain the code I am interested in (reception of the raw frame with preamble and CRC check).
If I modify the code in the “rgmii_ethernet_rx_server” function I can see the modifications results. If I do the same in "rgmii_10_100_master_rx_pins" I cannot see any result from my modifications.
Adding debug_printf in "rgmii_buffer_manager" function in rgmii_buffering.xc doesn’t change the terminal output.
Can you tell me which code is used to retrieve the Ethernet frames data when “get_packet” function is called?
I am working with XCORE-200 eXplorer device with the lib Ethernet MAC (version3.3.0) in order to capture ethernet packets. I use the AN00199 (version 1.0.2) example on XTimeComposer (version Community_14.3.3) tool.
The objective is to retrieve the entire Ethernet frame: Preamble, Start Frame Delimiter (SFD) and Frame Check Sequence (FCS) in addition to the usual frame data. Digging a bit in the lib_ethernet code, I tried to find the code behind the call to the get_packet function, and went to the rgmii_ethernet_rx_server function.
I found the “get_packet” case on which I can use breakpoints, but I can’t find the link to “rgmii_10_100_master_rx_pins” in rgmii_10_100_master.xc which seems to contain the code I am interested in (reception of the raw frame with preamble and CRC check).
If I modify the code in the “rgmii_ethernet_rx_server” function I can see the modifications results. If I do the same in "rgmii_10_100_master_rx_pins" I cannot see any result from my modifications.
Adding debug_printf in "rgmii_buffer_manager" function in rgmii_buffering.xc doesn’t change the terminal output.
Can you tell me which code is used to retrieve the Ethernet frames data when “get_packet” function is called?