2021-07-26 11:26 PM
Hey there,
I have a question regarding the output of the build analyzer. When I set up freeRTOS + lwIP , like explained here:
on my STM32H753 everything works as expected but the build analyzer shows that RAM D2 is almost full.
When I check the Memory Details, I see that there are only the assigned descriptors inside and the 6k for the RxBuffer. There is also 512B for an internal buffer I need.
But why is the build analyzer showing that the RAM D2 is almost full?
2021-07-26 11:28 PM
Hey there,
sorry I forgot to add the part of the linker script. Please see the modifications in the linker script below:
/* Modification start */
.lwip_sec (NOLOAD) : {
. = ABSOLUTE(0x30040000);
*(.RxDecripSection)
. = ABSOLUTE(0x30040060);
*(.TxDecripSection)
. = ABSOLUTE(0x30040200);
*(.RxArraySection)
} >RAM_D2
/* Modification end */
2021-07-27 12:11 AM
Your LwIP section begins right after the D2 RAM (is automatically placed there) . You can change the start of the section in the linker script to an absolute address. Keep in mind to include the LwIP heap.
2021-07-27 12:22 AM
Dear DWeb_2,
thanks for your fast answer. This is great. Could you maybe share an example with me how to place the lwip_sec into an absoulte address and keeping the heap safe. My heap is set to "MEM_SIZE to 16360" as explained in the link above. The LWIP_RAM_HEAP_POINTER is set to 0x30044000. Do I have to take care also of the amount of TCP, UDP connections I allow? I have set MEMP_NUM_UDP_PCB to 3 and MEMP_NUM_TCP_PCB to 6.
2021-07-27 03:47 AM
Try this snippet for the linker script:
.lwip_sec 0x30040000 (NOLOAD) :
I can't help you considering the LwIP config
2021-07-27 11:21 PM
Dear DWeb_2,
okay got it. Thanks a lot for your support.