Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
OuSa_4507991
Level 1
Level 1
First reply posted First question asked

Hi Community,

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 !

Regards

0 Likes
3 Replies
Nambi
Moderator
Moderator
Moderator
5 likes given 100 solutions authored 250 replies posted

Hi Team,

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)?

Regards,

Nambi.

0 Likes
MoHe_4629066
Level 1
Level 1
First like received First reply posted First question asked

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

0 Likes
OuSa_4507991
Level 1
Level 1
First reply posted First question asked

Hi,

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

Regards

0 Likes