Перейти к содержанию
    

Как работает внутренний контроллер прерываний?

Устройство работы

Процессор Nios II может откликаться на исключения, включая программные исключения и аппаратные прерывания. Когда процессор Nios II отвечает на исключение, он выполняет следующие задачи:

1. Сохраняет регистр status в estatus. Это означает, что если разрешены аппаратные прерывания, то установлен бит PIE в регистре estatus.

2. Запрещает аппаратные прерывания.

3. Сохраняет следующий адрес исполнения в ea (r29).

4. Передаёт контроль на соответствующий адрес исключения, то есть:

Программное исключение или внутреннее аппаратное прерывания – на основной адрес исключения процессора Nios II.

Внешнее аппаратное прерывание – заданный для этого устройства адрес прерывания.

 

Работа внутреннего контроллера прерываний

В IIC доступно до 32 независимых сигналов аппаратных прерываний. Эти сигналы прерываний позволяют программно задавать приоритет прерываний, даже если сами по себе сигналы прерываний не имеют свойства приоритета.

В IIC исключения Nios II являются невекторными. Поэтому один адрес исключений принимает контроль над всеми типами исключений. Основной направитель (funnel) исключений по этому адресу должен определять тип программного исключения или аппаратного прерывания.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это я прочитал. это понятно. не понятно причем тут адреса вектора сброса 0х1810000...0х1810020?

 

Что разместится по адресам 0х1810000 ... 0х1810020? Конкретно.... по адресу 0х1810010 было значение 0х74. Потом стало 0х34. Что это значит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел..... не нашел... Что разместится по адресам 0х1810000 ... 0х1810020? Конкретно.... по адресу 0х1810010 было значение 0х74. Потом стало 0х34. Что это значит? Как работает внутренний контроллер прерываний?

"Да Вы лентяй, Антуан!" (це)

1. Читайте описание программной модели Nuios II: http://www.altera.com/literature/hb/nios2/n2cpu_nii51003.pdf (или ищите перевод на сайте ув. naliwator'а).

2. Как работает внутренний контроллер прерываний, описано тут : http://www.alterawiki.com/wiki/IRQ_Code

 

:bb-offtopic: Если бы Вы хотя бы часть того времени, что потратили на писанину сюда, отвели бы на чтение мануалов, пользы для дела было бы больше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Читайте описание программной модели Nuios II: http://www.altera.com/literature/hb/nios2/n2cpu_nii51003.pdf
эээ..... ну я так понял что в этих 32-х байтах вектора сброса исполняемый код. У меня есть машинный код, а как можно посмотреть ассемблер этого кода? Не могу в Nios II IDE найти View->Disassembler ((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

эээ..... ну я так понял что в этих 32-х байтах вектора сброса исполняемый код. У меня есть машинный код, а как можно посмотреть ассемблер этого кода? Не могу в Nios II IDE найти View->Disassembler ((

post-39551-1306156735_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго время суток!

 

Не подскажете, как избавится от time-limited ядра NIOS в Q11.0. А то, для Q9.1 все было хорошо, а здесь не катит :rolleyes: .

Заранее благодарен.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не подскажете, как избавится от time-limited ядра NIOS в Q11.0. А то, для Q9.1 все было хорошо, а здесь не катит :rolleyes: .

Смотрите лицензию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лицензия, конечно, вещь не очень дорогая (для NIOSа), если удалось бы уговорить начальство. Но самому выкладывать 500$ + НДС как-то грустно. В принципе, меня устроило бы и ограничение по времени для тестирования, но Q11.0 не позволяет создавать .rbf файл и прочие, только .sof.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лицензия, конечно, вещь не очень дорогая (для NIOSа), если удалось бы уговорить начальство. Но самому выкладывать 500$ + НДС как-то грустно. В принципе, меня устроило бы и ограничение по времени для тестирования, но Q11.0 не позволяет создавать .rbf файл и прочие, только .sof.

Поиск по форуму пробовали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 MaxLucky

эконом вариант бесплатный :laughing:

 

Ну, эконом вариант - это только светодиодами помигать.

До недавнего времени проектировал все с использованием FSM, на ниос то времени не находилось, то обычная лень не давала :blush:

Однако, с разрастанием проекта, как это, скорее всего, у всех бывает пришел к тому, что мозг уже не вмещает все машинки и надо как-то оптимизировать.

 

Поиск по форуму пробовали?

 

Пробовал. Проблема в том, что те лицензии которые (для NIOS) есть под Q11.0 не хотят работать. То ли это новая фича Qsys мешает, то ли еще что.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему SOPC не может сам назначить правильно адреса? На рисунке адреса назначенные автоматически. Приходится руками все адреса назначать. В др. проекте такого не было.

post-49045-1306903854_thumb.png

post-49045-1306903863_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему SOPC не может сам назначить правильно адреса? На рисунке адреса назначенные автоматически. Приходится руками все адреса назначать. В др. проекте такого не было.

Может. Меню System - Auto Assign Base Addresses, если мне склероз не изменяет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может. Меню System - Auto Assign Base Addresses, если мне склероз не изменяет.

Я так и делаю. На левом рисунке адреса назначены после Auto Assign Base Addresses. SOPC Builder почему-то на каждый SPI выделил по 0х20 адресов. А при компиляции ругается, что мало, что нужно по 0х40. Сейчас руками все адреса назначил и замки повесил. Но почему же сопс сам не правильно выделает адреса?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...