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

 
 
> Вопрос о прерываниях, памяти и MMU EP9315(+)
Дмитрий Агапов
сообщение Apr 13 2009, 05:54
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 12-02-09
Пользователь №: 44 757



Доброе утро вам

Пишу для тиона про 2 без ОС.

Программа скомпилирована по адресу 0x60000000 и оттуда же работает. Использую для заливки download.exe.
Оба банка SDRAM инициализированы и вроде как работают, поскольку в первом видео память на TFT. Стек может располагаться в любом банке, проверил, инициализируются все 4 банка SDRAM.

Вектора прерываний скопированы в SDRAM банк 0, по адресу 0x00000000, указал в файле линкера и проверил чтением из оттуда. Все вроде ок.

MMU выключен.

Но как только приходит прерывание, контроллер уходит непонятно куда...

По адресу 0x18 поставил включение светодиодов, никаких переходов ни по каким адресам из контроллера прерываний не делаю.

Но он туда не приходит...

В чем может быть дело? Или обязательно нужно MMU конфигурировать?
Куда копать?

2 дня и 2 ночи...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Дмитрий Агапов
сообщение Apr 13 2009, 10:00
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 12-02-09
Пользователь №: 44 757



Ё мое.... Спасибо вам огромное... Здоровья Вам и вашим детям))

Т.е. если обработчик в адресах 0x6000_0000, то по адресу 0х18 разместить команду перехода "B 0x600xxxxx" и там уже выполнять обработку прерывания? Я просто никогда не работал с векторами в ОЗУ. Или слинковать обработчик отдельным модулем по адресам в области 0x0000_0000 и скопировать код в ОЗУ?

при попытке разместить вектора в VECTORS, ругается
RM9200.s(44): error: A1186E: Code generated in data area

это же описание сегмента в ОЗУ...
Go to the top of the page
 
+Quote Post



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

 


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


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