I am sorry to respond so late. I had prepared a reply but forgot to finish and post it.
I m using an cortex R5 32 bit arm v7 for ethernet
As you probably know, I tested the Ultrascale+ driver on a 64-bit Cortex-A53 core.
I don’t know what you have to do to have an R5 talk with the xemacps.
My buffer descriptors are located in the ddr uncached memory.
Did you use the module uncached_memory.c for this?
i m using an ultrascale+ version 7. in the xemacps when the version are not 2 it switch
to Q1 queue buffer but it seems the q1 receive_queue and Q1 transmit_queue not configured.
i fixed this problem but what the difference between Q1 and Q0 and what’s the effect in
the ethernet controller ?
I am sorry, but I don’t know much about the memories of an Ultrascale.
@Maxim.Vechkanov, who helped me a lot when developing the driver, do you have an idea?
as I show in the picture, the statistic register show that the message are transmitted
but i can’t see it throw wireshark.
Maybe there is a problem with the PHY? Is your PHY supported? Does it get a
proper Link Status? Does it report a line speed?
in the tx_DMA_buffer i added the offset 0xffe00000 to allow the dma to access to atcm
ram memry of the R5 in both RX AND TX.
You seem to know more about the memories than I do.
for padding i use the 32 bit padding 8+2 it s ok pour R5 ?
Yes, that is OK.
The library uses a dynamic test:
if( sizeof( uintptr_t ) == 8 )
as i am not sure if __aarch64__
is defined on all compilers.
My arp frame don’t show in the wireshark flow but when i use loopback option i see the
message came from tx to rx and i get data, did you have any idea about why the frame
didn’t be sent on the ethernet bus ?
Did you also use the FreeRTOS+TCP sources as posted here above?
Have you defined:
#define ipconfigETHERNET_MINIMUM_PACKET_BYTES ( 60 )