Начинаю работать с SAM9XE, IAR 5.2. Во всех примерах в board_lowlevel.c в конце инициализации выполняется RamRemap. Покапавшись, я обнаружил, что ремап используется для обслуживания векторов прерываний с адреса 0. Я решил разместить вектора во флеш. У брал ремап, подправил icf, чтобы .vectors линковались во флеш, на старте проверяю GPNVMBit[3] - он в "1". Все вроде ок, но не работает. Какие здесь могут быть еще грабли?
Сорри. Все заработало. Был мой глюк. Единственный вопрос к гуру. Нет ли в таком расположении векторов каких-нибудь принципиальных проблем?
|