I just wanna ask you what is better using a dymanic memory allocation or a static one with freertos ?
That completely depends on your application and preference.
Dynamic is much easier to use, minimises the amount of RAM required as
memory is only allocated while it is actually required, but also means
the maximum required amount of RAM is harder to predict and adds a
little (if you are using a FreeRTOS heap implementation) non-determinism
and fragmentation risk. In most applications these risks don't exist in
Static requires more coding on the part of the application writer (you
have to allocated the objects by declaring variables), is a little more
complex as there are additional function parameters, normally creates a
higher maximum RAM usage as everything is always allocated whether it is
used or not, but is deterministic and the you know if you have enough
RAM a link time rather than run time. These last two points being why
static is normally preferred in safety critical applications.