AnsweredAssumed Answered

ENETx on Cortex - M4

Question asked by Andreas Werner on Sep 30, 2016
Latest reply on Oct 5, 2016 by Andreas Werner

Hello, 

We currently build a FreeRTOS based ENET driver for the Cortex - M4. We have some Problems with Recving Ethernet packets on the Cortex - M4. 

We disable the Ethernet driver on Linux and U-Boot. Currently we boot the Cortex - M4 with the debugger, on Cortex - A9 currently running U-Boot. 

We build the Ethernet driver based on Linux Driver on a selfmade HAL for FreeRTOS found at github: FreeROTS Hardware Abstraction Layer

We want to use IEEE1588 to support AVB/TSN on Cortex - M4. 

The Testbanch is: 

- Linux Dev PC with 100 MBit Ethernet sending ARP Broadcast Messages.

- 100 MBit Ethernet switch

- IMX6sx Conected with patchcable to Switch

The Cortex - M4 detect correctly 100 a Mbit Full Duplex Link with the Phy. Currently we can send packets from IMX6sx to the PC but we can't recv packets on IMX6sx. The Contoller set the RDAR bit in RDAR Register so we think the controller is correctly setup. 

 

It is impossible get some help with this problem? 

 

The Sourcecode is found on github: 

https://github.com/FreeRTOSHAL/testsystem.git branch imx6sx

checkout with: 

git clone https://github.com/FreeRTOSHAL/testsystem.git -b imx6sx --recursive
The FEC code is found at mach/imx6/fec.c (fhal-mach/fec.c at imx6sx · FreeRTOSHAL/fhal-mach · GitHub)

We use this compiler GNU ARM Embedded Toolchain project files : GNU ARM Embedded Toolchain  and the build system is based on Linux Kbuild: Configure Project with: "make imx6sx_defconfig"

 

Best regards

Andy Werner

Outcomes