Hi Master_szumi,
Declaring the variable within the task will use the task stack.
Using the _mem_alloc() get memory from the heap.
Declaring a variable "static" will place it in the BSS space.
Note that the Kinetis family with 128KB SRAM actually has that memory in two 64KB blocks. The architecture doesn't let you allocate variable across the 0x2000_0000 boundary. So to declare a 64KB or larger memory block needs to be parsed/divided into smaller blocks. I've attached ".gif" to show the heap used for two big buffers. I've also attached the source file I used to play around on the TWRK60.
Hope this helps.
Regards,
David