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

Сорри. Все заработало. Был мой глюк.
Единственный вопрос к гуру. Нет ли в таком расположении векторов каких-нибудь принципиальных проблем?
vmp
Никаких глюков не наблюдаю, ремап отключил раз и навсегда.
При инициализации MMU надо будет 0 страницу памяти отобразить на ПЗУ (адрес 0x00200000).
aaarrr
Цитата(V_M_Luck @ Feb 4 2010, 14:07) *
Нет ли в таком расположении векторов каких-нибудь принципиальных проблем?

Нет. По большому счету, Remap у Atmel'а - это просто дань традиции.

Цитата(vmp @ Feb 4 2010, 14:12) *
При инициализации MMU надо будет 0 страницу памяти отобразить на ПЗУ (адрес 0x00200000).

Зачем, если флеш и так отмаплена в 0?
vmp
Цитата(aaarrr @ Feb 4 2010, 14:16) *
Зачем, если флеш и так отмаплена в 0?

Без этого не работают прерывания. Детально не разбирался, нащупал решение опытным путем и успокоился.
V_M_Luck
Цитата
Зачем, если флеш и так отмаплена в 0?

Без мму могут быть проблемы с кэшем.
aaarrr
Цитата(V_M_Luck @ Feb 4 2010, 15:08) *
Без мму могут быть проблемы с кэшем.

Про MMU и кэш я вообще-то в курсе. Будут не проблемы, а просто невозможность задействовать DCache без MMU.
Но вопрос был в том, зачем мапить флеш при помощи MMU, когда это и так уже сделано в железе.
V_M_Luck
Практика лучше теории. Я у себя отключил мму - работает.
Отключил мму и кэши - работает.
То есть и прерывания то-же.
Цитата
Без этого не работают прерывания. Детально не разбирался, нащупал решение опытным путем и успокоился.

Проблема где-то еще.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.