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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> NIOS II начало.
vadimuzzz
сообщение Dec 18 2009, 14:21
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Evgeniiy @ Dec 18 2009, 20:11) *
если я меняю workspace в NIOS II IDE стандартный там nios2-ide-workspace-8.0_1, на другой в другой папке и создаю проект не в директорию по умолчанию а в свою,то проект не создается и появляется ошибка error parsing project STF file.

я просто хочу создать проект не в c\altera\nios..., а скажем на диске d, а могу создать тока туда

так это эклипсовские настройки там лежат, они ценности не представляют. сам проект и его system library лежат в папке software в квартусовском проекте. если в настройках эклипса поковыряться, то, наверное, можно найти способ, но какой смысл в этом?
Go to the top of the page
 
+Quote Post
Evgeniiy
сообщение Dec 22 2009, 13:50
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705



Цитата(vadimuzzz @ Dec 18 2009, 17:21) *
так это эклипсовские настройки там лежат, они ценности не представляют. сам проект и его system library лежат в папке software в квартусовском проекте. если в настройках эклипса поковыряться, то, наверное, можно найти способ, но какой смысл в этом?



Я просто хотел создать проект и все к нему относящееся в другой папке, на другом диске и пока не создал там папку эклипс, IDE выдавал ошибку и не создавал его.








А есть ли возможность в порт выдавать числа напрямую, а не через регистры r1,r2 итд.
я вот хочу например регистр таймера snapl выдать в PIO
Go to the top of the page
 
+Quote Post
barabek
сообщение Dec 22 2009, 14:38
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(Evgeniiy @ Dec 23 2009, 00:50) *
А есть ли возможность ...

Таких команд в asm нет.
Go to the top of the page
 
+Quote Post
Evgeniiy
сообщение Dec 24 2009, 08:30
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705



Написал програмку для таймера, счетчик загружается из регистра периода и досчитав до нуля не выдает сигнала timeout и перезагружается всеми единицами, а не как написано в пдф числом из регистра периода, в ригистре статус всегда горит бит RUN, как бы исправить это?

CODE
.equ timer_status, (0x20)
.equ timer_control, (0x24)
.equ timer_period_low, (0x28)
.equ timer_period_high, (0x2C)
.equ timer_snap_low, (0x30)
.equ timer_snap_high, (0x34)

.text
.global main

main:
movui r12,0x0
movui r15,0x4
movui r16,0x12

stwio r16,timer_period_low(r12)
stwio r15,timer_control(r12)
loop:

ldwio r14,timer_status(r12)
stwio r16,timer_snap_low(r12)
ldwio r17,timer_snap_low(r12)
bne r12,r15,loop
.End
Причина редактирования: Оформление кода
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 24 2009, 08:59
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



а вот это
Код
stwio r16,timer_snap_low(r12)
ldwio r17,timer_snap_low(r12)

зачем? так он до второго пришествия считать будет. настройки таймера в SOPC`е какие? период не маловат? и почему инициализируете только младшие разряды? содержимое всех регистров тоже выкладывайте.
Go to the top of the page
 
+Quote Post
Evgeniiy
сообщение Dec 24 2009, 09:56
Сообщение #21


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705



Цитата(vadimuzzz @ Dec 24 2009, 11:59) *
а вот это
Код
stwio r16,timer_snap_low(r12)
ldwio r17,timer_snap_low(r12)

зачем? так он до второго пришествия считать будет. настройки таймера в SOPC`е какие? период не маловат? и почему инициализируете только младшие разряды? содержимое всех регистров тоже выкладывайте.





stwio r16,timer_snap_low(r12)
ldwio r17,timer_snap_low(r12) r17 выдаю в порт и тем самым смотрю, что на счетчике. Все записав в старшие разряды 0, все заработало. Спасибо за ответ.
Go to the top of the page
 
+Quote Post
Evgeniiy
сообщение Dec 24 2009, 12:59
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705



Подскажите мне пожалуйста ещё на счет прерываний. Я так понимаю что бы включить их нужно записать 1 в ITO регистра счетчика, 1 в PIEрегистра статус и 1 в соответсятвующий бит регистра ienable. В моём примере у счетчика IRQ0, вот он досчитал, оно выдалось и тут вопрос, что дальше? IRQ0 можно использовать как метку, если IRQ0= 1 значит выполняется кусок программы ниже или что если не секрет?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 24 2009, 14:38
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



самый простой вариант - висеть в цикле, смотреть соотв. флажок; когда срабатывает прерывание, вызывается обработчик, который сбрасывает флаг. более интересный вариант - сделать interrupt vector. или прикрутить EIC (в последних версиях ниоса появился, я еще не пробовал, обхожусь софтовыми)
Go to the top of the page
 
+Quote Post
Evgeniiy
сообщение Dec 25 2009, 06:08
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705



Цитата(vadimuzzz @ Dec 24 2009, 17:38) *
самый простой вариант - висеть в цикле, смотреть соотв. флажок; когда срабатывает прерывание, вызывается обработчик, который сбрасывает флаг. более интересный вариант - сделать interrupt vector. или прикрутить EIC (в последних версиях ниоса появился, я еще не пробовал, обхожусь софтовыми)



Если я буду висеть в цикле и смотреть флаг, то когда ж моя программа выполняться будет?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 25 2009, 06:49
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Evgeniiy @ Dec 25 2009, 12:08) *
Если я буду висеть в цикле и смотреть флаг, то когда ж моя программа выполняться будет?

никто же не говорил, что в цикле нужно только смотреть флаг smile.gif в любой из описанных выше реализаций подразумевается наличие бесконечного цикла. разница только в способе, которым вызывается обработчик прерывания
Go to the top of the page
 
+Quote Post
Evgeniiy
сообщение Dec 25 2009, 07:08
Сообщение #26


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705



Цитата(vadimuzzz @ Dec 25 2009, 09:49) *
никто же не говорил, что в цикле нужно только смотреть флаг smile.gif в любой из описанных выше реализаций подразумевается наличие бесконечного цикла. разница только в способе, которым вызывается обработчик прерывания



Ну вот началась у меня программа я глянул флаги и пошел выполнять свою прогу, допустим на середине кода взвелся флаг, те у меня будет задержка обнаружения флага равная остатку кода?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 25 2009, 07:19
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Evgeniiy @ Dec 25 2009, 13:08) *
Ну вот началась у меня программа я глянул флаги и пошел выполнять свою прогу, допустим на середине кода взвелся флаг, те у меня будет задержка обнаружения флага равная остатку кода?

прерывания по своей сути предполагаются достаточно редкими событиями, в сравнении с тактовой частотой процессора. т.е. если, к примеру проц на 50 МГц, а таймер, скажем, на 50 кГц - то это нормально. а если, проц 50 МГц, а таймер 25 МГц - то инструмент(МК) выбран неправильно. также неявно подразумевается, что обработчики прерываний - это маленькие куски кода имеющие наивысший приоритет. ну и если у вас реальная задача, так озвучьте ее, может вам ни ниос, ни прерывания и не нужны.
Go to the top of the page
 
+Quote Post
Evgeniiy
сообщение Dec 25 2009, 07:41
Сообщение #28


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705



vadimuzzz

Реальной задачи у меня для ниуса нет, просто появилось свободное время, решил изучить ниус, до этого работал только с ПЛИС.
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 25 2009, 07:55
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



тогда RTFM: ftp://ftp.altera.com/outgoing/download/su...II_docs_9_1.zip
Go to the top of the page
 
+Quote Post
Evgeniiy
сообщение Dec 29 2009, 07:09
Сообщение #30


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705



Цитата(vadimuzzz @ Dec 25 2009, 10:55) *



Почитал я эти документы, но вот вопросик у меня все равно есть. При срабатывании прерывания начинает выполняться код записанный в как я понимаю в стартапе , как бы это убрать?
Go to the top of the page
 
+Quote Post

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

 


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


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