lwIP problems (XMC4500)

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

cross mob
User3847
Level 3
Level 3
Hello there!

Just as a little introduction, this week I have been trying to port lwIP 1.4.0 for the XMC4500 (when I have the current version working we can discuss that) with FreeRTOS and I have been stuck. I have arrived to a state in which I just copied the Dave generated lwIP (its a previous version) and just tried to mimic the results I get with Dave code generation, but with FreeRTOS.

My status now is:

I have a DAVE CE project in which I entered the ETH004 app and dependencies, just configured it to get an address via DHCP and called the stack initialization. As expected, it does DHCP, gets and address and answers to my pings.

I have another non DAVE CE project in which I just have FreeRTOS working. I copied the apps I need (just the Ethernet ones), replaced the Timer App functionality by FreeRTOS timers (and checked it works) and copied the generated initialization. It all seems to work the same, I even get the DMA interrupt when sending, but it is not actually sending anything (checked with Wireshark).

I am using the Hexagon development board and I have been trying to get this working for the last 5 days without success. Obviously there is some initialization or something that I am not seeing, because the problem is pretty low level.

I include the project, if someone has some experience on this and can check it I would be very grateful. You will notice there are two lwip directories under Ethernet; one of them is 1.4.0 with sys_arch implemented for FreeRTOS and some little modifications I have been doing to try to get it working. If we can solve first the problem with the DAVE included version 1.4.0 can probably be solved too.

https://www.dropbox.com/s/0mm7zgc89ouwt1d/Project.zip?m

P.S: I know doing the timeouts from FreeRTOS timers is not a good idea because I the have two different threads accesing the stack, NO_SYS mode. But in this demo there is nothing more and it is jut to simplify and discover the problem, the idea is working with a newer lwIP (it manages timers itself) and with NO_SYS=0

Thank you
0 Likes
0 Replies