I am at a bit of a loss trying to figure out what I am missing. I am pretty new to FreeRTOS and the TCP IP stack.
I have an application running on a STM32H750-DK.
With the ucHeap placed in DTCMRAM everything works as expected. I create 3 blinky LED tasks and a simple task that waits for a socket connection. If a client connects the child socket spawns and a simple HTTP exchange occurs before the child socket closes. No problems.
When I add the definition for:
#define configAPPLICATION_ALLOCATED_HEAP 1
And add this line in my main.c
__attribute__((section(".sdram_data"))) uint8_t ucHeap[configTOTAL_HEAP_SIZE];
The blinky LED tasks still run just fine and the main socket task is created. The problem seems to be that the child tasks are never created because FreeRTOS_accept never returns.
Things I have checked so far:
- Full check of SDRAM address space writes/reads [OK]
- Ping Test [No response]
The lack of ping makes me think it is something in the IP-Task.
Edit: I should add that the board successfully negotiates its link and gets a DHCP address from my router.
I am not sure where to start poking at. Any guidance/wisdom would be very much appreciated.