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

 
 
> Назначение адреса SOPC Bulder'ом
Fynjisx
сообщение Jan 11 2012, 19:08
Сообщение #1


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



Привет Всем.
подключил порт под название pio_x и назначил для него адрес - 0x2810. После чего зашел в настройки PIO и установил галку: "Индивидуальная установка очистка битов". После чего увидел следующую картину см.рис. Увеличил адрес для порта pio_x 0x2820 и ошибка ушла. Вопрос в том почему SOPC не разрешил адрес 0х2810?
И второй вопрос, как в Eclipse Cи задать установку одного единственного бита?
Есть ли какой нибудь вообще мануал по программированию в Eclipse на С???
Заранее спасибо...

Сообщение отредактировал Fynjisx - Jan 11 2012, 19:08
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
barabek
сообщение Jan 11 2012, 23:14
Сообщение #2


Знающий
****

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



Цитата(Fynjisx @ Jan 12 2012, 05:08) *
Привет Всем.
подключил порт под название pio_x и назначил для него адрес - 0x2810. После чего зашел в настройки PIO и установил галку: "Индивидуальная установка очистка битов". После чего увидел следующую картину см.рис. Увеличил адрес для порта pio_x 0x2820 и ошибка ушла. Вопрос в том почему SOPC не разрешил адрес 0х2810?

А если нажать "system->autoassign base address" он автоматически не приводит адрес к требуемому, чтобы ушла ошибка? У меня такое тоже было, но ошибка выдается и ее исправить не проблема. А чтобы больше она не возникала залочил этот адрес (в колонке baseaddress нажал на замочек). А не нравится, я так думаю, ему потому что при Вашем первоначальном варианте адреса меняются от 2810 до 282f -меняются 6 младших бит, причем 6-й бит будет участвовать в адресации у других элементов. А если сделать 2820-283f - в адресации участвуют только 5 бит и они принадлежат только этому элементу. Соответственно значительно упрощается system interconnect fabric.
Цитата
И второй вопрос, как в Eclipse Cи задать установку одного единственного бита?

записью в регистр outset PIO. Можно так: IOWR_ALTERA_AVALON_PIO_SET_BITS(base, data); Где вместо data нужная маска. Читайте "quartus handbook. Volume 5. Embedded peripherals. PIO Core" а также файл altera_avalon_pio_regs.h, о котором также упоминается в handbook.
Цитата
Есть ли какой нибудь вообще мануал по программированию в Eclipse на С???Заранее спасибо...

В eclipse такой же си как и в африке sm.gif. Есть ньюансы компилятора gcc. На то есть хелп и гугль ну и здесь, при возникновении конкретных вопросов.
Go to the top of the page
 
+Quote Post
Fynjisx
сообщение Jan 12 2012, 09:08
Сообщение #3


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



Цитата(barabek @ Jan 12 2012, 03:14) *
А если нажать "system->autoassign base address" он автоматически не приводит адрес к требуемому, чтобы ушла ошибка? У меня такое тоже было, но ошибка выдается и ее исправить не проблема. А чтобы больше она не возникала залочил этот адрес (в колонке baseaddress нажал на замочек). А не нравится, я так думаю, ему потому что при Вашем первоначальном варианте адреса меняются от 2810 до 282f -меняются 6 младших бит, причем 6-й бит будет участвовать в адресации у других элементов. А если сделать 2820-283f - в адресации участвуют только 5 бит и они принадлежат только этому элементу. Соответственно значительно упрощается system interconnect fabric.

Спасибо. Ясно.
Цитата(barabek @ Jan 12 2012, 03:14) *
записью в регистр outset PIO. Можно так: IOWR_ALTERA_AVALON_PIO_SET_BITS(base, data); Где вместо data нужная маска. Читайте "quartus handbook. Volume 5. Embedded peripherals. PIO Core" а также файл altera_avalon_pio_regs.h, о котором также упоминается в handbook.

тогда в чем прикол, той галочки, при генерации порта, которая означает "Установка/сброс отдельных битов"? Ведь получается если я её не поставлю, то тем же макаром, а именно записью: IOWR_ALTERA_AVALON_PIO_SET_BITS(base, data); - могу установить нужные биты.


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
barabek
сообщение Jan 12 2012, 22:18
Сообщение #4


Знающий
****

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



Цитата(Fynjisx @ Jan 12 2012, 19:08) *
Спасибо. Ясно.

тогда в чем прикол, той галочки, при генерации порта, которая означает "Установка/сброс отдельных битов"? Ведь получается если я её не поставлю, то тем же макаром, а именно записью: IOWR_ALTERA_AVALON_PIO_SET_BITS(base, data); - могу установить нужные биты.

Нет, если галку не поставить, то этих регистров (set/clear) просто не будет синтезировано. В этом случае все нужно будет делать через регистр data, но об индивидуальной установке/очистке битов придется забыть. Если же Вы попытаетесь все-таки записать IOWR_ALTERA_AVALON_PIO_SET_BITS, то или ничиго не произойдет, или попадете в следующую по адресу периферию со всеми вытекающими.
Go to the top of the page
 
+Quote Post

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

 


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


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