|
|
  |
NIOS II начало. |
|
|
|
Dec 18 2009, 14:21
|

Гуру
     
Группа: Свой
Сообщений: 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 в квартусовском проекте. если в настройках эклипса поковыряться, то, наверное, можно найти способ, но какой смысл в этом?
|
|
|
|
|
Dec 22 2009, 13:50
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705

|
Цитата(vadimuzzz @ Dec 18 2009, 17:21)  так это эклипсовские настройки там лежат, они ценности не представляют. сам проект и его system library лежат в папке software в квартусовском проекте. если в настройках эклипса поковыряться, то, наверное, можно найти способ, но какой смысл в этом? Я просто хотел создать проект и все к нему относящееся в другой папке, на другом диске и пока не создал там папку эклипс, IDE выдавал ошибку и не создавал его. А есть ли возможность в порт выдавать числа напрямую, а не через регистры r1,r2 итд. я вот хочу например регистр таймера snapl выдать в PIO
|
|
|
|
|
Dec 24 2009, 08:30
|
Частый гость
 
Группа: Участник
Сообщений: 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
Причина редактирования: Оформление кода
|
|
|
|
|
Dec 24 2009, 09:56
|
Частый гость
 
Группа: Участник
Сообщений: 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, все заработало. Спасибо за ответ.
|
|
|
|
|
Dec 25 2009, 06:08
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705

|
Цитата(vadimuzzz @ Dec 24 2009, 17:38)  самый простой вариант - висеть в цикле, смотреть соотв. флажок; когда срабатывает прерывание, вызывается обработчик, который сбрасывает флаг. более интересный вариант - сделать interrupt vector. или прикрутить EIC (в последних версиях ниоса появился, я еще не пробовал, обхожусь софтовыми) Если я буду висеть в цикле и смотреть флаг, то когда ж моя программа выполняться будет?
|
|
|
|
|
Dec 25 2009, 07:08
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705

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

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

|
Цитата(Evgeniiy @ Dec 25 2009, 13:08)  Ну вот началась у меня программа я глянул флаги и пошел выполнять свою прогу, допустим на середине кода взвелся флаг, те у меня будет задержка обнаружения флага равная остатку кода? прерывания по своей сути предполагаются достаточно редкими событиями, в сравнении с тактовой частотой процессора. т.е. если, к примеру проц на 50 МГц, а таймер, скажем, на 50 кГц - то это нормально. а если, проц 50 МГц, а таймер 25 МГц - то инструмент(МК) выбран неправильно. также неявно подразумевается, что обработчики прерываний - это маленькие куски кода имеющие наивысший приоритет. ну и если у вас реальная задача, так озвучьте ее, может вам ни ниос, ни прерывания и не нужны.
|
|
|
|
|
Dec 25 2009, 07:41
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 5-03-09
Из: СПБ
Пользователь №: 45 705

|
vadimuzzzРеальной задачи у меня для ниуса нет, просто появилось свободное время, решил изучить ниус, до этого работал только с ПЛИС.
Причина редактирования: Избыточное цитирование
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|