|
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 28 2015, 11:12
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата О каких 60 МГц говорили Вы - Вам виднее. О сферических в вакууме, естественно Цитата но лучше разобраться с DMA (SgDMA/mSgDMA). ДМА имеет смысл если ядро чем то еще полезным нагружено, в данном же случае, я так понимаю вся нагрузка на ядро проца - это тосовка данных. Более того подозреваю что ядро проца появилось как раз из-за необходимости доступа к ДДР, через имеющийся в ядре интерфейс. В таком раскладе ДМА - лишнее усложнение и нестабильность В атаче если будет интересно программное фифо, вам надо создать 2 буфера длинной в 1.2 мегобайта, и набивать один из входящего потока, как получите сигнал выдать данные, переходите на другой буффер, а первый отдаете пользователю. какой смысл хранить данных больше чем у вас могут попросить? использовать буферы так Код uint8_t DataBuf1[1.2*1024*1024+2]; //буфер для хранения его надо в ДДР пихануть uint8_t DataBuf2[1.2*1024*1024+2]; //буфер для хранения его надо в ДДР пихануть FIFOStr Buffer1; FIFOStr Buffer2;
InitFIFOStr(Buffer1,DataBuf1, sizeof(DataBuf1)); InitFIFOStr(Buffer2,DataBuf2, sizeof(DataBuf2)); дальше пихаете туда данные через AddFIFOData и забираете через GetFIFOData, буфер чиститься сам при забирании данных, но можно и вызвать функцию очистки вам надо только поправить функцию добавления данных, потому что она не дает перезаписывать буфер, возвращая код ошибки при переполнении. А также надо понять что делать если данные запросили, но их в буфере меньше 1.2 МБ, может вам вообще надо сделать 1 буфер, и выдавать всегда его целиком, а писать его по кругу...
Прикрепленные файлы
Code.zip ( 2.04 килобайт )
Кол-во скачиваний: 9
|
|
|
|
|
Jan 28 2015, 11:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(Golikov A. @ Jan 28 2015, 14:12)  О сферических в вакууме, естественно  Цитата(Golikov A. @ Jan 28 2015, 11:59)  Ну пипец эта ваша альтера - это так чтобы doom13'а позлить  .. то хоть убейтесь ничего не выйдет, даже на ксалинксе, не то что на альтере - ну это тоже чтобы дума позлить  Цитата(Golikov A. @ Jan 26 2015, 12:26)  В целом конечно я не прав. Все же вопрос частоты. Я как то не подумал что люди могут ставить DDR3 и работать с ним на 60 МГц... (условно все конечно) Цитата(Golikov A. @ Jan 24 2015, 00:48)  смело... Цитата(Golikov A. @ Jan 23 2015, 20:44)  Чего то мне говорит что начиная с ддр2, уже не может, но могу и ошибаться... Цитата(Golikov A. @ Jan 20 2015, 15:28)  ну пипец ваша альтера  .... этож надо было придумать отдельные инструкции записи мимо кеша. Так за этим еще следить надо чтобы кеш был всегда синхронен с памятью под ним... а вот явно указано что срали они на понятие изменяемый%) и просто оптимизацию отключают и рады) Думаю, скоро можно будет менять Ваш статус на "БОЛТУН"
|
|
|
|
Сообщений в этой теме
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 x66 Когда смотрел примеры, на сайте альтеры нашел файл... Jan 20 2015, 10:45 doom13 Цитата(x66 @ Jan 20 2015, 13:45) Когда см... Jan 20 2015, 10:53  x66 Цитата(doom13 @ Jan 20 2015, 13:53) Сомне... Jan 20 2015, 11:00 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 x66 Цитата(Golikov A. @ Jan 28 2015, 14:12) В... Jan 28 2015, 11:34 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
|
|
|