I solve my problem!
Firstly, FreeRTOS does not use the heap or stack defined in the linker. Normally, this heap is set to zero and the stack value set to a minimum for main function use.
Using the "Heap 4" option, the "heap_4.c" file located at "freertos->portable" within the project directory, the heap is declared as a global variable like this:
static uint8_t ucHeap [configTOTAL_HEAP_SIZE];
Therefore, you can increase the size of the heap used by FreeRTOS through the configTOTAL_HEAP_SIZE macro in the FreeRTOSConfig.h file. Using the default memory settings available in "Project-> Properties-> C/C ++ Build-> Settings-> MCU C++ Linker-> Managed Linker Script" and increasing the size of this heap, the program will not compile because the ucHeap variable will exceed the SRAM UPPER (which is not allowed). For a value of ucHeap equal to 51200 bytes, in my case, is generated the following memory usage:
Memory region Used Size Region Size %age Used
PROGRAM_FLASH: 216492 B 512 KB 41.29%
SRAM_UPPER: 71516 B 64 KB 109.12%
SRAM_LOWER: 0 GB 64 KB 0.00%
make: *** [makefile:55: HartROS_v3.axf] Error 1
"make -r -j4 all" terminated with exit code 2. Build might be incomplete.
To get around this, my way out was to put the global variables (and hence ucHeap) in SRAM LOWER with all its space available for storage. For this, in "Project-> Properties-> C/C ++ Build-> Settings-> MCU C++ Linker-> Managed Linker Script" the "Global data placement" field was changed from "default" to "SRAM LOWER" as presented in figure below.

Now my program compiles correctly after increasing the heap to 51200 bytes. The memory usage output was as follows:
Memory region Used Size Region Size %age Used
PROGRAM_FLASH: 216492 B 512 KB 41.29%
SRAM_UPPER: 8 KB 64 KB 12.50%
SRAM_LOWER: 63324 B 64 KB 96.62%
Finished building target: HartROS_v3.axf