gc_collect_root((void**)&_heap_end,(&_ram_end-&_heap_end)/4);// will trace regs since they now live in this function on the stack
gc_collect_root((void**)&_heap_end,((uint32_t)&_ram_end-(uint32_t)&_heap_end)/sizeof(uint32_t));// will trace regs since they now live in this function on the stack
gc_collect_end();
uint32_tticks=sys_tick_counter-start;// TODO implement a function that does this properly