Цитата(Rst7 @ Jun 11 2009, 11:33)

Галочки? Тьфу! Там для вменяемого результата скрипты надо писать. Чтобы, например, обрабатывало LDI Rx,LOW(adr) или HIGH(adr). Кроме того, надо эмулировать разные адресные пространства на линейной модели. Тогда можно на что-то надеяться. Будет типа такого
Код
ROM:1627 E140 ldi r20, (16) & 0xFF
ROM:1628 E050 ldi r21, (16) >> 8
ROM:1629 E860 ldi r22, (byte_300180 & 0xFF)
ROM:162A E071 ldi r23, (byte_300180 >> 8)
ROM:162B E385 ldi r24, (byte_400135 & 0xFF)
ROM:162C E091 ldi r25, (byte_400135 >> 8)
ROM:162D 940E 19A6 call memcpy_P ; R20:R21 - len; R22:R23 - *src; R24:R25 - *dst
Вот тут видна эмуляция - с адреса 0x300000 - Flash как данные, с адреса 0x400000 - ОЗУ. С адреса 0 - флеш как код. Собственно метки расставлены самописным скриптом - типа, ставишь курсор на первую команду, давишь кнопку - получаешь результат. И то, хорошо, что это результат компилятора, а не рукописная шняга, а то наверняка вручную пришлось бы бодаться...
Короче, курите маны и будет счастье

Вобщем то спасибо большое за "всеобъемлющие советы",но вопросов стало на порядок больше

Маны курить не стал,покурил Pall Mall (правда много покурил

)и все встало на свои места!
Вобщем дело было в том, что IDA почему то не вкуривает корректно HEX файлы,обозвал их BIN-ами,но при загрузке в IDA указывал что HEX.И о чудо,появился корректный ASM код!Пробовал на нескольких своих проектах и на слитой из ATmega16 прошивке.Сравнивал свой исходник с кодом в IDA, на первый взгляд довольно неплохо.
Всем спасибо!