Да нету там никакой системной проблемы в самом AVR. Есть компиляторостроители, которые не желают поддерживать generic pointers, широко известные еще с 8051. Насчет printf сотоварищи - принципиально никогда не использую LIBC от компилятора. Грабли с портированием обеспечены. Код, работающий только на одной архитектуре (неважно - AVR, PIC, HCS12) - фтопку.
Не надо делать мне как лучше, оставьте мне как хорошо