Linker Error "section `._user_heap_stack' will not fit in region `FLASH'"
I solved the issue.
It looks like the linker increments the FLASH location counter (load address, LMA) with the size of every section different from the canonical ones, i.e. .text, .data and .bss, even if they are to be located in RAM region.
The solution is to declare with NOLOAD mark type every section located in RAM region:
/* User_heap_stack section, used to check that there is enough RAM left */
._user_heap_stack (NOLOAD) :
{
. = ALIGN(8);
*(HEAP4) /* FreeRTOS heap4 */
PROVIDE ( end = . );
PROVIDE ( _end = . );
. = . + _Min_Heap_Size;
. = . + _Min_Stack_Size;
. = ALIGN(8);
} >RAM
With the NOLOAD mark type the section will not be loaded into FLASH memory and my application linking is successful.