Самое главное -- нет смысла, скорей, переопределять new. Например в libstdc++ он реализован через malloc: http://gcc.gnu.org …ion=206301&view=markup
Нужно просто сделать для каждого процесса во FreeRTOS какой-то вариант malloc. Для каких-то процессов общий, для каких-то свою маленькую мини-кучу.