|
NIOS II, программирование ниос2 на СИ |
|
|
|
Jan 20 2015, 06:52
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 7-05-10
Пользователь №: 57 122

|
Здравствуйте, пишу программу на Си в ниос2 эклипс. Проект был собран в qsys, там имеется ниос2, DDR2, PIO, on-chip memory2 и т.д. Возник вопрос: как на языке Си обратиться например именно к выводу PIO или к шине адреса DDR2? Вставил несколько строк, но не знаю правильно ли сделал ALT_MODULE_CLASS_pio_in (PIO_IN_BASE, data_inp); ALT_MODULE_CLASS_pio_out_on (PIO_OUT_ON_BASE, data_out_on); ALT_MODULE_CLASS_pio_out (PIO_OUT_BASE, data_out); ALT_MODULE_CLASS_onchip_memory2_0 (ONCHIP_MEMORY2_0_BASE, on_chip);
|
|
|
|
|
 |
Ответов
|
Jan 20 2015, 10:45
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 7-05-10
Пользователь №: 57 122

|
Когда смотрел примеры, на сайте альтеры нашел файл где была программа с использованием указателей. натыкался на другие примеры там с использованием макросов было. Это меня и сбивало с толку, как я понял это два способа работы с одним и тем же
|
|
|
|
|
Jan 20 2015, 10:53
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(x66 @ Jan 20 2015, 13:45)  Когда смотрел примеры, на сайте альтеры нашел файл где была программа с использованием указателей. натыкался на другие примеры там с использованием макросов было. Это меня и сбивало с толку, как я понял это два способа работы с одним и тем же Сомневаюсь, что Вы могли найти примеры от Alter-ы с использованием указателей для обращения к регистрам периферии, тут всё только через макросы (возможно какой-то очень "особенный" пример для ниоса без кэша, но очень маловероятно). Для работы с памятью (On-Chip, SDRAM, DDR и т.д.) указатели и используются.
|
|
|
|
|
Jan 20 2015, 11:00
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 7-05-10
Пользователь №: 57 122

|
Цитата(doom13 @ Jan 20 2015, 13:53)  Сомневаюсь, что Вы могли найти примеры от Alter-ы с использованием указателей для обращения к регистрам периферии, тут всё только через макросы (возможно какой-то очень "особенный" пример для ниоса без кэша, но очень маловероятно). Для работы с памятью (On-Chip, SDRAM, DDR и т.д.) указатели и используются. вот код примера int to_hex(char* pkt) { int value[8]; int value1; int q; for (q=0; q <= 7; q++) { value[q] = (pkt[q] > 0x39) ? (pkt[q] - 0x37) : (pkt[q] - 0x30); if (q == 0) value1 = (0 + value[q]); else value1 = ((value[q-1] << 4) + value[q]); } return value1; } int main() { unsigned long *DDR_address; //long is 32 bits. int addr; int datar; int ddr_data_out; char packet[32]; DDR_address = (unsigned long *)0x2000000; //make non-cache iprintf("DDR test installed \n"); while (1) { gets(packet); switch(packet[0]) { case 'B': // write operation addr = to_hex(&packet[1]); datar = to_hex(&packet[9]); DDR_address[addr] = datar; iprintf("Written %08x to address %08x \n", datar, addr); break; case 'C': // Read operation addr = to_hex(&packet[1]); ddr_data_out = DDR_address[addr]; iprintf("Read %08x from address %08x \n", ddr_data_out, addr); break; default: iprintf("Error: Unexpected command. Switch was - %C \n",packet[0]); break; } } return 0; }
|
|
|
|
Сообщений в этой теме
x66 NIOS II Jan 20 2015, 06:52 doom13 Цитата(x66 @ Jan 20 2015, 09:52) Здравств... Jan 20 2015, 07:55 x66 Цитата(doom13 @ Jan 20 2015, 10:55) Смотр... Jan 20 2015, 08:24  doom13 Цитата(x66 @ Jan 20 2015, 11:24) Все что ... Jan 20 2015, 08:36 Golikov A. DDR2 - это не просто статичная память, даже когда... Jan 20 2015, 08:38 doom13 Обманул Вас, для DDR2 как и для On-Chip Memory не ... Jan 20 2015, 08:49 x66 получается, что я могу работать только с адресами ... Jan 20 2015, 09:07 doom13 Цитата(x66 @ Jan 20 2015, 12:07) altera_a... Jan 20 2015, 09:09  x66 Цитата(doom13 @ Jan 20 2015, 12:09) Да, т... Jan 20 2015, 09:14  x66 Цитата(doom13 @ Jan 20 2015, 12:09) Да, т... Jan 20 2015, 09:19   doom13 Цитата(x66 @ Jan 20 2015, 12:19) В моем с... Jan 20 2015, 09:26 doom13 Цитата(x66 @ Jan 20 2015, 12:07) получает... Jan 20 2015, 09:16  x66 Цитата(doom13 @ Jan 20 2015, 12:16) Не со... Jan 20 2015, 09:22   doom13 Цитата(x66 @ Jan 20 2015, 12:22) Имеется ... Jan 20 2015, 09:42    x66 Цитата(doom13 @ Jan 20 2015, 12:42) Нет, ... Jan 20 2015, 09:57 Golikov A. С DDR можно работать как с памятью вообще
Для этог... Jan 20 2015, 09:21 Golikov A. нет
потому что нужно адрес не
int addr_on_chip=0x... Jan 20 2015, 09:24 x66 Цитата(Golikov A. @ Jan 20 2015, 12:24) н... Jan 20 2015, 09:36 Golikov A. имеет ввиду тоже что и я... просто ответил позже
... Jan 20 2015, 09:59 doom13 Цитата(Golikov A. @ Jan 20 2015, 12:59) В... Jan 20 2015, 10:19 serjj ЦитатаТолько вот в случае ниоса обращение к регист... Jan 20 2015, 10:26 Golikov A. Ну прекратите сбивать человека
ну возьмите вы свои... Jan 20 2015, 10:59 doom13 Цитата(Golikov A. @ Jan 20 2015, 13:59) Н... Jan 20 2015, 11:38 krux http://www.altera.com/literature/hb/nios2/n2sw_nii... Jan 20 2015, 11:00 Golikov A. ох...
ЦитатаПервый код будет работать, а второй не... Jan 20 2015, 11:51 doom13 Цитата(Golikov A. @ Jan 20 2015, 14:51) а... Jan 20 2015, 11:55 Golikov A. раскройте вы макрос и поглядите что в нем, я не сп... Jan 20 2015, 12:01 doom13 Цитата(Golikov A. @ Jan 20 2015, 14:58)
... Jan 20 2015, 12:24 Golikov A. ну пипец ваша альтера....
этож надо было придумат... Jan 20 2015, 12:28 doom13 Цитата(Golikov A. @ Jan 20 2015, 15:27) н... Jan 20 2015, 12:30 x66 Вот перевод http://www.naliwator.narod.ru/N2swHb9... Jan 20 2015, 12:30 Golikov A. Цитатат.е. вся дискуссия была для того, чтобы Вы с... Jan 20 2015, 13:12 doom13 Цитата(Golikov A. @ Jan 20 2015, 16:12) я... Jan 20 2015, 13:41 Golikov A. не надо передергивать
я говорил что никакой магии ... Jan 20 2015, 16:28 x66 Возник еще такой вопрос: во время переключения DDR... Jan 23 2015, 07:47 doom13 Цитата(x66 @ Jan 23 2015, 10:47) Возник е... Jan 23 2015, 08:39  x66 Цитата(doom13 @ Jan 23 2015, 11:39) Для п... Jan 23 2015, 08:50   doom13 Цитата(x66 @ Jan 23 2015, 11:50) я планир... Jan 23 2015, 08:54    x66 Цитата(doom13 @ Jan 23 2015, 11:54) Смотр... Jan 23 2015, 09:02     doom13 Цитата(x66 @ Jan 23 2015, 12:02) Проблема... Jan 23 2015, 11:16 Golikov A. Вам FIFO надо.
Данные поступают в FIFO а оттуда ... Jan 23 2015, 11:59 doom13 Цитата(Golikov A. @ Jan 23 2015, 14:59) О... Jan 23 2015, 12:03 x66 Цитата(Golikov A. @ Jan 23 2015, 14:59) В... Jan 28 2015, 06:26  doom13 Цитата(x66 @ Jan 28 2015, 09:26) ФИФО мак... Jan 28 2015, 06:59   x66 Цитата(doom13 @ Jan 28 2015, 09:59) Что з... Jan 28 2015, 07:08    doom13 Цитата(x66 @ Jan 28 2015, 10:08) На входе... Jan 28 2015, 07:26     x66 Цитата(doom13 @ Jan 28 2015, 10:26) А поя... Jan 28 2015, 08:09      doom13 Цитата(x66 @ Jan 28 2015, 11:09)
Из Ваши... Jan 28 2015, 08:22       x66 Цитата(x66 @ Jan 28 2015, 11:09) Из Ваших... Jan 28 2015, 08:31        doom13 Цитата(x66 @ Jan 28 2015, 11:31) Чтение п... Jan 28 2015, 08:33         x66 Цитата(doom13 @ Jan 28 2015, 11:33) Т.е. ... Jan 28 2015, 08:35          doom13 Цитата(x66 @ Jan 28 2015, 11:35) нет, там... Jan 28 2015, 08:58           x66 Цитата(doom13 @ Jan 28 2015, 11:58) Что-т... Jan 28 2015, 09:03           x66 Цитата(doom13 @ Jan 28 2015, 11:58)
Уто... Jan 28 2015, 09:13 Golikov A. Чего то мне говорит что начиная с ддр2, уже не мож... Jan 23 2015, 17:44 doom13 Цитата(Golikov A. @ Jan 23 2015, 20:44) Ч... Jan 23 2015, 19:27 Golikov A. смело... Jan 23 2015, 21:48 doom13 Цитата(Golikov A. @ Jan 24 2015, 00:48) с... Jan 24 2015, 12:03 serjj Xilinx MPMC
И у Xilinx вроде давно уже есть контро... Jan 26 2015, 08:02 doom13 Цитата(serjj @ Jan 26 2015, 11:02) Xilinx... Jan 26 2015, 08:48 Golikov A. В целом конечно я не прав. Все же вопрос частоты. ... Jan 26 2015, 09:26 doom13 Цитата(Golikov A. @ Jan 26 2015, 12:26) В... Jan 26 2015, 10:24 Golikov A. БЛИН!
Ну пипец эта ваша альтера - это так что... Jan 28 2015, 08:59 doom13 Цитата(Golikov A. @ Jan 28 2015, 11:59) Б... Jan 28 2015, 09:11 doom13 Цитата(Golikov A. @ Jan 28 2015, 11:59) Б... Jan 28 2015, 10:32  x66 Цитата(doom13 @ Jan 28 2015, 13:17) В Qsy... Jan 28 2015, 10:37   doom13 Цитата(x66 @ Jan 28 2015, 13:37) А что ес... Jan 28 2015, 10:54    x66 Цитата(doom13 @ Jan 28 2015, 13:54) Вы мо... Jan 28 2015, 11:05     doom13 Цитата(x66 @ Jan 28 2015, 13:57) Можете п... Jan 28 2015, 11:06 Golikov A. ЦитатаЦелых два дня и две ночи Вы не спали - думал... Jan 28 2015, 10:35 doom13 Цитата(Golikov A. @ Jan 28 2015, 13:35) П... Jan 28 2015, 10:47 Golikov A. ЦитатаУточнил кое какую деталь: пользователь нажим... Jan 28 2015, 10:45 x66 Цитата(Golikov A. @ Jan 28 2015, 13:45) У... Jan 28 2015, 10:53 Golikov A. ЦитатаО каких 60 МГц говорили Вы - Вам виднее.
О с... Jan 28 2015, 11:12 x66 Цитата(Golikov A. @ Jan 28 2015, 14:12) В... Jan 28 2015, 11:34 doom13 Цитата(Golikov A. @ Jan 28 2015, 14:12) О... Jan 28 2015, 11:48 Timmy Цитата(Golikov A. @ Jan 28 2015, 14:12) В... Jan 28 2015, 11:50  doom13 Цитата(Timmy @ Jan 28 2015, 14:50) Остало... Jan 28 2015, 12:02   x66 Цитата(doom13 @ Jan 28 2015, 15:02) В DDR... Jan 28 2015, 13:44 Golikov A. Кстати а какая частота DDR2? Jan 28 2015, 12:23 doom13 Цитата(Golikov A. @ Jan 28 2015, 15:23) К... Jan 28 2015, 12:30  x66 Цитата(doom13 @ Jan 28 2015, 15:30) Это в... Jan 28 2015, 12:38 Golikov A. 200 МГц
Я ошибаюсь или пропускная способность так... Jan 28 2015, 12:39 x66 Цитата(Golikov A. @ Jan 28 2015, 15:39) 2... Jan 28 2015, 13:02  doom13 Цитата(x66 @ Jan 28 2015, 16:02) Цитата(G... Jan 28 2015, 13:22 Golikov A. а... 3.2 Гигабита...
А с учетом необходимой задер... Jan 28 2015, 13:39 doom13 Цитата(Golikov A. @ Jan 28 2015, 16:39) а... Jan 28 2015, 14:34 Golikov A. нет.
Надо просто линкеру указать что у него есть т... Jan 28 2015, 13:54 x66 Цитата(Golikov A. @ Jan 28 2015, 16:54) н... Jan 28 2015, 14:02  doom13 Цитата(x66 @ Jan 28 2015, 17:02) Кстати, ... Jan 28 2015, 14:14   x66 Цитата(doom13 @ Jan 28 2015, 17:14) Этого... Jan 28 2015, 14:22 Golikov A. Получается что я ошибся... мне только не понятно ч... Jan 28 2015, 14:34 doom13 Цитата(Golikov A. @ Jan 28 2015, 17:34) Е... Jan 28 2015, 14:52 Golikov A. Из полезного вот что надо сделать
надо ниосом в па... Jan 28 2015, 15:42 doom13 Цитата(Golikov A. @ Jan 28 2015, 18:42) К... Jan 28 2015, 16:55 Golikov A. А сколько тактов доступ к данным по шине Avalon? Н... Jan 28 2015, 17:20 doom13 Цитата(Golikov A. @ Jan 28 2015, 20:20) А... Jan 28 2015, 18:25
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|