Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Назначение адреса SOPC Bulder'ом
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Fynjisx
Привет Всем.
подключил порт под название pio_x и назначил для него адрес - 0x2810. После чего зашел в настройки PIO и установил галку: "Индивидуальная установка очистка битов". После чего увидел следующую картину см.рис. Увеличил адрес для порта pio_x 0x2820 и ошибка ушла. Вопрос в том почему SOPC не разрешил адрес 0х2810?
И второй вопрос, как в Eclipse Cи задать установку одного единственного бита?
Есть ли какой нибудь вообще мануал по программированию в Eclipse на С???
Заранее спасибо...
barabek
Цитата(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. На то есть хелп и гугль ну и здесь, при возникновении конкретных вопросов.
Fynjisx
Цитата(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); - могу установить нужные биты.
barabek
Цитата(Fynjisx @ Jan 12 2012, 19:08) *
Спасибо. Ясно.

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

Нет, если галку не поставить, то этих регистров (set/clear) просто не будет синтезировано. В этом случае все нужно будет делать через регистр data, но об индивидуальной установке/очистке битов придется забыть. Если же Вы попытаетесь все-таки записать IOWR_ALTERA_AVALON_PIO_SET_BITS, то или ничиго не произойдет, или попадете в следующую по адресу периферию со всеми вытекающими.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.