Do you know please if we need to enable the "DMA Controller" and/or "MPU for AXI" in order to be able to work with the Ethernet MAC controller correctly ?
P.S: Currently, I have an "AMBA (AXI) error" raised every time I hit the transmit start bit.
Thank you !
No, it is not needed to have DMA controller or MPU for AXI in order to work with Ethernet.
Ethernet has its own DMA controller which shall be initialized as a part of the Init process.
Please check if they are trying to access reserved memory space?
Please check if their Buffer Descriptors are 32/64 bits aligned (depending on the Packet Transmission mode)?
Addition to alignment mentioned above you need to make sure that the ethernet buffer and descriptors are located "linked" in a memory that could be accessed by the DMA. For example the sysram. I got this issue before and after long investigation that was the problem
Thanks a lot for your feedback guys !
I am using 32bit buffer descriptors aligned on 8 bytes (I tried also different allignments: 4 , 32, 64). The buffers and their descriptors are located in TCRAM and accessed from AXI_SLAVE_CORE0 (I tried also by putting them on SysRam as you mentioned above). But still every time I hit the bit TX_START_CLK in order to start the frame transmission, I got an AMBA AXI Error.
I still can't figure out what could cause this kind of issues
If you still have any other hints that could help me, it would be great.
Thanks again for your support