Вот решил попробовать IAR. Проц на котором пробую ATXMega128A1.
С ходу возникло несколько вопросов:
1. Как в создании проекта объёснить что у меня есть внешная память?
нашёл настройку Enable external bus interface
и там указал начало RAM 0x1000 и конец 0x1FFFF.
Этого достаточно?
2. Как обращаться к конкретному адресу в памяти?
Пробую так, как я это делал в GCC, *(int *)(0x1234)=123;
Компилтор ругается, что не может писать в константу... бред.
3. Где же после компиляции *.HEX?

И немного фантастики

1. Как объявить функцию так, чтобы после сборки она была в определённом месте falsh? Например функции записи во flash из бутлоадера, чтобы онм были в определенном месте. И опять же общие функции bootloader и application секции.
2. правильно ли я понял, что функции __monitor выполняются с предварительной остановкой прерываний?