Hello,
I’ve noticed an “interesting” issue that I am simply unable to trackdown/resolve.
I am working on ST’s example LwIP_UDPTCP_Echo_Server_Netconn_RTOS.
If I compile it using IAR 7.40 everything works fine YET when I compile the same code using IAR 6.50 I get an HardFault.
Using LR (from the stack on HardFault) I’ve been able to track down the problem to a macro in FreeRTOS\tasks.c (which seems to run from memory, hence the address).
Since I can put a breakpoint I added a debug variable to find the problematic line.
If I try to debug further (adding more debug code) the location of the hard-fault changes…
Can’t figure out how to track it down, in the vast RTOS/LwIp code…
Any advice?
Also worth mentioning, the error occurs when I plug the ethernet cable and LwIP low_level_input is constantly being called.
[Relevant code]
taskSELECT_HIGHEST_PRIORITY_TASK()
…
df=5;
listGET_OWNER_OF_NEXT_ENTRY( pxCurrentTCB, &( pxReadyTasksLists[ uxTopReadyPriority ] ) );
df=6;
…
(Can’t figure out how to insert code! )
We find it extremely difficult to provide free support for lwIP, especially when the integration has been performed by somebody else. That is why we introduced our own TCP/IP stack.
In this case the first thing I suggest you do is a complete rebuild - make sure there are absolutely no object or dependency files created by IAR 7.4 left anywhere before clean building with IAR V6.x.
If that does not help, look through IAR’s change history to see if that provides any clues.
Not sure why my first replay wasn’t posted… 2nd Try
Thank you Dave and RTE team for you reply.
I tried another clean build with the startup code from IAR 6.50, exact same failure at the same point.
I was actually considering rewrite my code to use FreeRTOS+TCP/IP stack and and the new FatFS.
I will be happy to port the code for STM32F4* (and their eval board) but someone will need to help me to bridge my current knowledge gap… (with some guidance and technical support).
I need to use 6.50 as that’s the license I own, an upgrade will cost almost as much as a new license which is somethign I cannot afford…
I use size limit license with 7.40 only to test the code provided by ST (removed TCP to squeeze it in :))
It is not easy to support older IAR versions as we cannot run the code.
Did you try running without lwIP and looking through the IAR release notes as previously suggested?
We have FreeRTOS+TCP and FreeRTOS+FAT running on an STM32F4 already, the project needs updating since the last labs release though - it is in line though and will get released as soon as we get the chance.
I did check it and replied to it, on my first iteration
Without LwIP (/before plugging the Ethernet cable) RTOS is working fine, the Blinky thread, blinks.
Can I get the older, unupdated, version? where can I find it?