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

 
 
> Прерывания в Microblaze
mikki
сообщение May 8 2007, 08:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-03-07
Пользователь №: 26 559



Всем привет.
Пытался завести прерывания по таймеру в собранной системе на Microblaze.
Для чего использую opb_taimer и opb_intc.
После некоторой заморочки с определением таймера и контроллера прерываний прерывания стали срабатывать.

Проблема в том что после того как одно прерывание сработало остальные запускаются самостоятельно.
И вот тут , что не делал ничего не помогает, просветите в какую сторону копать.
Может что в обработчик прерывания вставить, типа программный сброс какого битика.
help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mikki
сообщение May 9 2007, 12:59
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-03-07
Пользователь №: 26 559



Да, всегда нашим пацанам нехватает чуть чуть времени...
Вобщем я разобрался сам.
Задал в гугле запрос handler(void *baseaddr_p ) и получил много ссылок на примеры обработки прерываний..


Оказалось, что надо опросить флаг срабатываниЯ прерывания в регистре, например, для таймера CSR, о том что случилось прерывание и потом его же записать в тот же регистр CSR.
Типа сгенерить acknowledge соответствующего прерывания.

В этом случае запрос на прерывание сбрасывается и прерывание не автозапускается.


Я попробывал это в случае использования ядра opb_intc. Как это будет в случае прямой генерации прерывания не пробовал, но думаю также.

Спасибо отозвавшимся, надеюсть что мой опыт пригодится начинающим, типра меня.
Go to the top of the page
 
+Quote Post
-=Vitaly=-
сообщение May 10 2007, 08:20
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Цитата(mikki @ May 9 2007, 15:59) *
Спасибо отозвавшимся, надеюсть что мой опыт пригодится начинающим, типра меня.


С вашего позволения задам вопросик здесь, чтобы не плодить топиков.
Прикупил стартер борд на Спартане- 3Е. Поставил ЕДК 9.1 . Не могу ни в одном проекте сгенерировать нетлист пишет:

Код
Creating stub ...

ERROR:PersonalityModule:7 - Unable to open Xilinx data file for Vendor/Device
   Module "spartan3adspsd".  Please make sure that it has been correctly
   installed before continuing.

make: *** [implementation/microblaze_0_wrapper.ngc] Error 33


Взял пример из ЕДК, то же самое. В чем модет быть трабла??
СПС!!
Go to the top of the page
 
+Quote Post



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

 


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


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