I am working on a LPC1758 using the GCC compiler with the MCUXpresso IDE. I want to setup a TCP/IP stack using FreeRTOS+TCP 2.0.7 and FreeRTOS v10.1.1.
I have written a ethernet driver that has been tested prior to adding it to to the stack. I have also written the port layer functions xNetworkInterfaceInitialise, xNetworkInterfaceOutput and vNetworkInterfaceAllocateRAMToBuffers. I have included BufferAllocation_1 so that I can use zero copy drivers.
I followed the FreeRTOS tutorial in creating sockets, binding them to a port and sending UDP packets. Unfortunately all of this has been to no avail. I have not managed to send a UDP packet. The execution kept ending up in the hard fault handler, so I traced the execution of FreeRTOS. I found that on line 826 of FreeRTOS_sockets.c, the function pxUDPPayloadBuffer_to_NetworkBuffer( ) returns a pointer to a memory address that is not a valid address on the on the LPC1758, according to its datasheet.
I am would really appreciate any help in debugging this!