So after some serious debugging, editing, and regenerating of the bitstream, I was able to send out an ARP response from the FPGA to my linux server, and for my linux server to send a UDP packet in to the MicroBlaze. This was all verified via UART debug statements.
Now while I work on cleaning this all up, you can actually use this code in your project, but only if you have enough knowledge of LabVIEW and Xilinx. My job is to help bridge that gap, but for now:
The source code is located in:
https://github.com/fpganow/MicroBlaze_lwIP
The application that is to be compiled and to run on the MicroBlaze is called ‘mb_lwip’ and its source code is here:
https://github.com/fpganow/MicroBlaze_lwIP/tree/master/xilinx_mb_lwip/mb_lwip
To make it work, you will need to add a reference to the lwip directory, which is currently located:
https://github.com/fpganow/lwip/tree/master/lwip
Note, that the ‘fpganow/lwip’ repository is currently referenced as a sub-module of ‘fpganow/MicroBlaze_lwIP’. I will move it of course… But I will first try to re-create this project and while I re-create the project I will move and clean things up.
Now on to the LabVIEW part.
https://github.com/fpganow/MicroBlaze_lwIP
You want to open the ‘Tests/FPGANic/FPGANic-Tester.vi’ program as your entry. Start the vi, wait for the FPGA bitfile to be downloaded and then click on the ‘polling’ button to start receiving debug information about incoming and outgoing packets.