Решил тут я перекомпилить AVR500USB под IAR
и вот чего нашел:
файл uart.c строка 74
while ((c = pgm_read_byte(progmem_s++)))
а должно быть наверное while ((c = pgm_read_byte(*progmem_s++)))
зачем там применяется utoa ?
для этого: ?
http://ru.wikipedia.org/wiki/RADIX-50
http://www.users.pjwstk.edu.pl/~jms/qnx/help/watcom/clibref/src/utoa.html
Попробуй полз прошить в свой программатор прошивку
http://upload.caxapa.ru/avr500usb_iar.hex что бы проверить что перекомпиляуия под IAR не испортила ничего