не знаю как там в студии, но для использования маллока нужно установить размер кучи не менее чем хочется выделить памяти. То есть разумно предположить еще и наличие __heap_start ... ПС: погуглил слегка: строчка __heap_end=0x80ffff означает, что у http://www.nongnu.org/avr-libc/user-manual/malloc.html вас ОЗУ 64к, но в ХМеге его всего 8к, может написать так: __heap_end=0x801fff