реклама на сайте
подробности

 
 
> Где располагаются вектора прерываний в SAM9XE?
V_M_Luck
сообщение Feb 4 2010, 11:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



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

Сорри. Все заработало. Был мой глюк.
Единственный вопрос к гуру. Нет ли в таком расположении векторов каких-нибудь принципиальных проблем?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
vmp
сообщение Feb 4 2010, 11:12
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070



Никаких глюков не наблюдаю, ремап отключил раз и навсегда.
При инициализации MMU надо будет 0 страницу памяти отобразить на ПЗУ (адрес 0x00200000).
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 4 2010, 11:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(V_M_Luck @ Feb 4 2010, 14:07) *
Нет ли в таком расположении векторов каких-нибудь принципиальных проблем?

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

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

Зачем, если флеш и так отмаплена в 0?
Go to the top of the page
 
+Quote Post
vmp
сообщение Feb 4 2010, 11:24
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070



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

Без этого не работают прерывания. Детально не разбирался, нащупал решение опытным путем и успокоился.
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Feb 4 2010, 12:08
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Цитата
Зачем, если флеш и так отмаплена в 0?

Без мму могут быть проблемы с кэшем.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 4 2010, 12:18
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



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

Про MMU и кэш я вообще-то в курсе. Будут не проблемы, а просто невозможность задействовать DCache без MMU.
Но вопрос был в том, зачем мапить флеш при помощи MMU, когда это и так уже сделано в железе.
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Feb 4 2010, 12:35
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



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

Проблема где-то еще.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 16:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016