Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Применение NIOS
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
ZLOI
Привет, пользовался ли кто-нибудь альтеровским ниосом и какие ощущения.
Postoroniy_V
Цитата(ZLOI @ May 31 2007, 10:45) *
Привет, пользовался ли кто-нибудь альтеровским ниосом и какие ощущения.

1)да пользовался
2) ощущения непередаваемы smile.gif
3) норм софт проц, что надо решает что не надо не решает smile.gif
Alex11
Со вторым пунктом я особенно согласен. Настолько изгадить систему отладки могла только Altera. А на самом деле, све зависит от задачи. Мне нужен был 16-битный быстренький контроллер, а не этот монстр, который делает очень много, но очень медленно. Памяти жрет невпроворот. Хотя, следует отдать ему должное - работает.
vetal
Цитата
а не этот монстр, который делает очень много, но очень медленно
Можете уточнить - медленно это сколько?
Цитата
Настолько изгадить систему отладки могла только Altera
Это потому-что бесплатное))
ZLOI
Цитата(Postoroniy_V @ May 31 2007, 12:19) *
1)да пользовался
2) ощущения непередаваемы smile.gif
3) норм софт проц, что надо решает что не надо не решает smile.gif

Собственно интересует следующее:
1)Сколько он стоит, или он бесплатный?
2)Какую ПЛИС использовали, посоветуете, или это всё равно.
3)Что он из себя представляет когда настроен по максимуму, т.е. разрядность самая большая и т.д.
Войдёт ли такой в простой циклон.
4)Что он представляет собой когда настроен по минимуму(я имею ввиду занимаемое количество элементов)
Хотелось бы освоить, но если он что-то путное представляет только в Stratixах, то и браться за него смысла не имеет, а если можно 10 штук в циклон зафитить, то этого интересно.
vetal
Цитата
1)Сколько он стоит, или он бесплатный?
цена умеренная, при разработке можно использовать бесплатную версию. http://www.altera.ru/cgi-bin/price/price
Цитата
2)Какую ПЛИС использовали, посоветуете, или это всё равно.
cycloneII(все, что Cyclone)
Цитата
3)Что он из себя представляет когда настроен по максимуму, т.е. разрядность самая большая и т.д.
разрядность 32. по минимуму, без конвеера - 5 тактов на инструкцию. по максимуму - кэш инструкций, кэш программ, конвеер(от 1 такта на инструкцию)
Цитата
Хотелось бы освоить, но если он что-то путное представляет только в Stratixах, то и браться за него смысла не имеет, а если можно 10 штук в циклон зафитить, то этого интересно.
Циклоны разные бывают, все зависит от периферии процессора.
По минимуму - я запускал на макете EP1C3 с SDRAM uCLinux, для эксперимента. Потом купили кит.
ZLOI
Долго не мог достучаться вчера, это нормально для electronixа?

Вообщем спасибо за ваши впечатления, они меня толкают на детальное изучения данного проца,
правда до этого мне говорили, что он просто супер, лучше Pentiumовsmile.gif
Хорошо макетов покупать не придётся, так как у преподавателя по МПС есть самодельный с USB.
Он ввиде чего кстати, представлен .gdf или целого пакета?
Всего хорошего!
Alex11
Вчера был форс-мажор: перенос сервера в другое место, это нечастая операция. Процессор генерируется по задаваемым параметрам. Там большой пакет всего.
To vetal: медленно - это настолько, что противно. Больше всего убивает, что процесс тривиального рестарта программы проходит больше, чем за минуту. Пока он просмотрит все файлы, убедится, что ничего не изменилось... Вызов компилятора для одного файла занимает времени больше, чем собственно компиляция (при коротких файлах). Это очень раздражает.
vetal
Цитата
роцессор генерируется по задаваемым параметрам. Там большой пакет всего.
To vetal: медленно - это настолько, что противно. Больше всего убивает, что процесс тривиального рестарта программы проходит больше, чем за минуту. Пока он просмотрит все файлы, убедится, что ничего не изменилось... Вызов компилятора для одного файла занимает времени больше, чем собственно компиляция (при коротких файлах). Это очень раздражает.
Я подумал что вы о процессоре говорите. Есть у них такая особенность.
Для ускорения процесса компиляции и отладки можно перейти на make + insight.
Postoroniy_V
Цитата(Alex11 @ Jun 1 2007, 09:48) *
Вчера был форс-мажор: перенос сервера в другое место, это нечастая операция. Процессор генерируется по задаваемым параметрам. Там большой пакет всего.
To vetal: медленно - это настолько, что противно. Больше всего убивает, что процесс тривиального рестарта программы проходит больше, чем за минуту. Пока он просмотрит все файлы, убедится, что ничего не изменилось... Вызов компилятора для одного файла занимает времени больше, чем собственно компиляция (при коротких файлах). Это очень раздражает.

2 Alex11
ах вот в чем "медленность" a14.gif
хотите быстро делайте как сказал уважаемы vetal

2 ZLOI
проц может достаточно много сожрать внутряной памяти fpga при больших обьёмах кеша, ну это и понятно. vetal вообще то уже описал вам что да как, тоесть +1 smile.gif
ZLOI
Цитата(Postoroniy_V @ Jun 1 2007, 16:26) *
ах вот в чем "медленность" a14.gif

Прошу прощения, подразумевалась медленность Quartusа?
Цитата(Postoroniy_V @ Jun 1 2007, 16:26) *
2 ZLOI
проц может достаточно много сожрать внутряной памяти fpga при больших обьёмах кеша, ну это и понятно.

У меня возник вопрос следующего плана, если скажу глупость, то простите, в работе с ПЛИС я ещё новичок.
Однажды потребовалось написать 3d движок для отображения разных деталей станка. Детали были высокополигональными и весили много. А суть-то сама была типа в интернете выложить, чтобы люди покупающие железо, могли постоянно обновлённую версию качать. Пришлось заняться математикой - находить нормали для объекта, чтобы уменьшать размер модели на треть. Когда сделал первый вариант нормализации выполнялось 30 секунд для 60 000 полигонов на 3 пентиуме. Пришлось изучать SSE.
С SSE стало выполняться за 16 мили секунд(почти в 2000 раз быстрее, правда я и алгортм поумнее сделал). Тогда и пришла мысль. А почему же Intel сделали такой тупой процессор. Сделали бы поменьше частоту, но побольше крутых инструкций.
Итак сам вопрос: можно ли сделать на ПЛИС такой компьютер, чтобы основные инструкции были зашиты, а дополнительные могли создавать сами программисты. Т.е. хотите вы сделать ту же нормализацию создаёте её на каком-нибудь Quartuse и в простой программе добавляете к обычным инструкциям.?
Мне кажется такой компьютер бы уделал любой пентиум. Быстрое преобразование фурье действительно стало быстрым. А видеокарту можно было бы выкинуть и писать шэйдеры и т.д. к обычному процу на ПЛИС. Что скажете?
Postoroniy_V
Цитата(ZLOI @ Jun 1 2007, 20:01) *
Прошу прощения, подразумевалась медленность Quartusа?

У меня возник вопрос следующего плана, если скажу глупость, то простите, в работе с ПЛИС я ещё новичок.
Однажды потребовалось написать 3d движок для отображения разных деталей станка. Детали были высокополигональными и весили много. А суть-то сама была типа в интернете выложить, чтобы люди покупающие железо, могли постоянно обновлённую версию качать. Пришлось заняться математикой - находить нормали для объекта, чтобы уменьшать размер модели на треть. Когда сделал первый вариант нормализации выполнялось 30 секунд для 60 000 полигонов на 3 пентиуме. Пришлось изучать SSE.
С SSE стало выполняться за 16 мили секунд(почти в 2000 раз быстрее, правда я и алгортм поумнее сделал). Тогда и пришла мысль. А почему же Intel сделали такой тупой процессор. Сделали бы поменьше частоту, но побольше крутых инструкций.
Итак сам вопрос: можно ли сделать на ПЛИС такой компьютер, чтобы основные инструкции были зашиты, а дополнительные могли создавать сами программисты. Т.е. хотите вы сделать ту же нормализацию создаёте её на каком-нибудь Quartuse и в простой программе добавляете к обычным инструкциям.?
Мне кажется такой компьютер бы уделал любой пентиум. Быстрое преобразование фурье действительно стало быстрым. А видеокарту можно было бы выкинуть и писать шэйдеры и т.д. к обычному процу на ПЛИС. Что скажете?

0)подразумевалась не медленность Quartus а медленность nios ide
1)ну в intel далеко не тупицы работают smile.gif
2) плис да тем и хороша что можете сделать те самые инструкции - какие вам хочется( в nios2 custom instruction смотрите, ну и модную херь c->hdl)
3) п.2) ограничен ёмкостью кристала ну и вашим кошельком, а новомодные плисы сделаные по 65 нм технологии только только появляются, тогда как у интелей проц уже есть и продаётся
4) да вообщем то и в nvidia да в ati тоже не тупицы smile.gif
5) считаю вашу мысль утопией smile.gif (ничего личного)
vetal
Всё уже придумано до вас http://www.xtremedatainc.com/xd1000_devsys.html
PS: какие задачи - такие и цены)))
RHnd
Цитата(Postoroniy_V @ Jun 1 2007, 20:23) *
ну и модную херь c->hdl)


А вот можно о последнем подробнее? Я сколько не искал, так толком и не нашел отзывов о применимости этих модных штук. Статьи всякие обзорные видел, а вот чьего-нибудь личного опыта с примерами задач, которые решались и решились, - нема. sad.gif
ZLOI
Цитата(Postoroniy_V @ Jun 1 2007, 20:23) *
0)подразумевалась не медленность Quartus а медленность nios ide

Ну главное, чтобы не он сам.
Цитата(Postoroniy_V @ Jun 1 2007, 20:23) *
1)ну в intel далеко не тупицы работают smile.gif
2) плис да тем и хороша что можете сделать те самые инструкции - какие вам хочется( в nios2 custom instruction смотрите, ну и модную херь c->hdl)

Это как раз то что надо.
Цитата(Postoroniy_V @ Jun 1 2007, 20:23) *
3) п.2) ограничен ёмкостью кристала ну и вашим кошельком, а новомодные плисы сделаные по 65 нм технологии только только появляются, тогда как у интелей проц уже есть и продаётся
4) да вообщем то и в nvidia да в ati тоже не тупицы smile.gif
5) считаю вашу мысль утопией smile.gif (ничего личного)

http://www.xtremedatainc.com/xd1000_devsys.html
Ну вот видите, уже её и сделали. Может не много не в том контексте, но всё же.
Я хотел это сделать как диссертацию.crying.gif
Ладно, теперь ниос 100% придётся осваивать.
Всем спасибо, я получил ответы на свои вопросы!
Всего хорошего, всё ещё впереди! yeah.gif
AVR
Цитата(vetal @ May 31 2007, 14:06) *
Циклоны разные бывают, все зависит от периферии процессора.
По минимуму - я запускал на макете EP1C3 с SDRAM uCLinux, для эксперимента. Потом купили кит.
Страшно интересно! У меня есть EP2C20 и 8 МБ SDRAM к нему: возможно ли запустить на нём uClinux (в смысле на NIOSII)? Где можно скачать всё необходимое для этого? Можно ссылочку? А то бьюсь, но никак не могу ничего найти...
vetal
Цитата(AVR @ Jul 20 2007, 20:40) *
Страшно интересно! У меня есть EP2C20 и 8 МБ SDRAM к нему: возможно ли запустить на нём uClinux (в смысле на NIOSII)? Где можно скачать всё необходимое для этого? Можно ссылочку? А то бьюсь, но никак не могу ничего найти...

там все необходимое http://forum.niosforum.com/forum/index.php?showforum=33
AVR
Цитата(vetal @ Jul 20 2007, 20:55) *
там все необходимое http://forum.niosforum.com/forum/index.php?showforum=33

Спасибо! Всё нашел.
Возникла проблема... Следую этой инструкции, но на месте где "make vendor_hwselect..." возникла заминка:
Код
--- Please select which CPU you wish to build the kernel against:
(1) CPU - Class: altera_nios2 Type: f Version: 7.07
Selection: 1

на этом месте всё правильно, но вот следующая строка:
Код
--- Please select a device to upload the kernel to:
Selection: 1
Invalid response, please try again.

Какое устройство ему надо указать?..
vetal
в проекте должна быть cfi_flash, даже если ее нет - компонент должен быть. т.е. если нет флэш памяти - образ можно просто загрузить в озу, но компонент должен быть.
AVR
Цитата(vetal @ Jul 21 2007, 21:27) *
в проекте должна быть cfi_flash, даже если ее нет - компонент должен быть. т.е. если нет флэш памяти - образ можно просто загрузить в озу, но компонент должен быть.

Большое спасибо за помощь! a14.gif
Уже работает, супер! smile.gif
RHnd
Я тут смотрю на NIOS II Kit Cyclon I/II - там в комплекте идет толстая-толстая книга по mOS. А на сколько сия операционка используется в реальных проектах? Если ли смысл ее вообще изучать? С линуксом не знаком совершенно - так же с нуля изучать придется.
vetal
uCOS это скорее диспетчер задач, чем операционная система. Причем достаточно примитивный.
С ucLinux будет разобраться проще. Есть еще eCOS, но ее я не пробовал.
Решать вам, только посмотрите сколько стоят лицензии))
AVR
Прошу прощения, ещё один момент остался неясным. Работать-то оно работает, вот только как передать что-нибудь полезное? ^_^
Можно ли через JTAG-UART? Но он занят...
При конфигурировании Nios я создал компонент UART с фиксированной скоростью 115200 и форматом данных 8N1: как определить, запущен ли драйвер для UART и работает ли он? Можно ли через него закачивать свои программы и драйверы?
vetal
попробуйте написать в терминале : echo "Hello World" >>/dev/tty(номер порта)
Вся работа с портами доступна как в обычном линуксе.
AVR
Цитата(vetal @ Jul 22 2007, 02:15) *
попробуйте написать в терминале : echo "Hello World" >>/dev/tty(номер порта)
Вся работа с портами доступна как в обычном линуксе.

Честно говоря не знаю как определить какому порту оно назначило UART...
Перепробовал все ttyS0-ttyS4, но реакции нет, хотя через NIOS II IDE писал тестовую программку - там UART работает. Видимо драйвер в linux не хочет его опознавать...
Какой major и minor номер присваевается единственному UARTу в системе?

Код
/> more /proc/interrupts
<< /proc/interrupts >>
   :          0   spurious
  1:     255555 L timer
  2:        797   jtag_uart
/>

То что у таймера прерывание 1 а у jtag 2 это правильно - так я настроил в SOPC Builder, а вот третье это как раз UART, а его нет... Видимо придется переделывать сам NIOS, перекомпилить всё... Как нужно настроить UART в SOPC чтобы он увиделся и заработал?
vetal
1. включите поддержку uart при сборке ядра.
2. прерывание от системного таймера должно быть самым первым(номер 0)
AVR
Цитата(vetal @ Jul 22 2007, 15:53) *
1. включите поддержку uart при сборке ядра.

ОК, спс, буду искать как это сделать smile.gif

Цитата
2. прерывание от системного таймера должно быть самым первым(номер 0)
Понятно. Просто эта строчка в том руководстве смутила:
Цитата
Note, the interrupt vector (ie, exception vector) must be in uClinux program memory, ie sdram. Note in Linux, irq 0 means auto-detected, so you must not use irq 0 for ANY devices.
smile.gif
vetal
я его где-то год назад запускал, так что лучше поэкспериментируйте.
AVR
Нашел где можно включить поддержку ядром UART. Надо указать пункт в menuconfig что хочу настроить параметры ядра. Но вот снова непонятная проблема:
Код
nios2-linux-uclibc-gcc: installation problem, cannot exec `cc1': No such file or directory

И та же ошибка появляется при make config и make xconfig... А теперь перестало вообще собираться что-либо, пишет эту же ошибку... Но в том пакете nios2gcc нет упоминания о cc1...

Добавлено: нашел ошибку установки... Оказывает просто распаковать куда положено нельзя... Надо было особый ключ скормить архиватору... smile.gif
RHnd
Цитата(vetal @ Jul 22 2007, 00:17) *
Решать вам, только посмотрите сколько стоят лицензии))

Хм. На сколько знаю, линукс - бесплатный. Как я понял, mOS идет в комплекте с лицензией на NIOS. Где я не прав?
vetal
Цитата(RHnd @ Jul 22 2007, 19:19) *
Хм. На сколько знаю, линукс - бесплатный. Как я понял, mOS идет в комплекте с лицензией на NIOS. Где я не прав?

В комплекте с китом академическая лицензия. т.е. вы можете изучать и что-то делать, но не можете использовать в коммерческом приложении.
RHnd
Цитата(vetal @ Jul 22 2007, 19:43) *
В комплекте с китом академическая лицензия. т.е. вы можете изучать и что-то делать, но не можете использовать в коммерческом приложении.

Мдя. Придется линукс изучать. Хорошо хоть C знаю. А где бы можно почитать что-нить типа Starting Guide? На сколько нужно знать платформу линукс для компов, чтоб начать работать с uLinux? С чего вообще начать? только на niosforum не отсылайте, плиз. smile.gif
vetal
Цитата
Мдя. Придется линукс изучать. Хорошо хоть C знаю.

Еще есть eCOS и FreeRTOS smile.gif По последней на форуме пользователи есть.
Цитата
С чего вообще начать? только на niosforum не отсылайте, плиз.

http://www.uclinux.org smile.gif
В принципе, для начала можно посмотреть на те исходники что есть и научиться писать драйверы, потом научиться с ними общаться.

А можно еще плюнуть на все это и писать на базе HAL от altera приложение работающее на прерываниях как для обычных микроконтроллеров.(это на крайний случай)
AVR
Цитата(vetal @ Jul 22 2007, 20:02) *
http://www.uclinux.org smile.gif
В принципе, для начала можно посмотреть на те исходники что есть и научиться писать драйверы, потом научиться с ними общаться.
Ещё не маловажно знать как их потом переслать в пункт назначения... ^_^ Я понимаю что уже очень надоел вопросами, но всё же хотелось бы убедиться в одном: я включил в ядро поддержку UART, запустил - nios2-terminal не отвечает, но зато консоль перешла на UART, отображается в HyperTerminal, выполняет команды и прочее. Но ведь получается что я опять остался без устройства для пересылки данных, т.к. на UART теперь консоль висит. Вопрос: в конечном итоге, путем самостоятельных поисков решения, я смогу когда-нибудь переслать файл в файловую систему uClinux? smile.gif
vetal
Цитата
понимаю что уже очень надоел вопросами, но всё же хотелось бы убедиться в одном: я включил в ядро поддержку UART, запустил - nios2-terminal не отвечает, но зато консоль перешла на UART, отображается в HyperTerminal, выполняет команды и прочее. Но ведь получается что я опять остался без устройства для пересылки данных, т.к. на UART теперь консоль висит.

Драйвер нужно включить, но не назначать на него терминал. точно уже не помню как это сделать.
Цитата
Вопрос: в конечном итоге, путем самостоятельных поисков решения, я смогу когда-нибудь переслать файл в файловую систему uClinux?

Сможете, если у вас файловая система размещена во флеш памяти. Корневая файловая система немодифицируемая в стандартном варианте, т.к. является частью ядра. Вы сможете либо подключать флэш-память как дополнительное устройство в системе или же сделать его носителем root fs.
AVR
Цитата(vetal @ Jul 22 2007, 20:47) *
Сможете, если у вас файловая система размещена во флеш памяти. Корневая файловая система немодифицируемая в стандартном варианте, т.к. является частью ядра. Вы сможете либо подключать флэш-память как дополнительное устройство в системе или же сделать его носителем root fs.
Честно говоря, не совсем понял... Вот я сейчас попробовал, у меня свободно создаются папки, копируются файлы, даже в корень можно файлы копировать (в корень, это ведь "/"? т.е. "/myfile" файл, который в корне лежит?), при этом пропорционально уменьшается объём свободной оперативной памяти. Или это не то? smile.gif
RHnd
Цитата(vetal @ Jul 22 2007, 20:02) *
Еще есть eCOS и FreeRTOS smile.gif По последней на форуме пользователи есть.

Мне кажется, что если уж изучать с нуля, то уж лучше сразу линукс. smile.gif
Цитата(vetal @ Jul 22 2007, 20:02) *
А можно еще плюнуть на все это и писать на базе HAL от altera приложение работающее на прерываниях как для обычных микроконтроллеров.(это на крайний случай)

Ну для текущих-то проектов точно так. Линукс это попозжа, когда буду в нем хоть слегка разбираться.
Цитата(vetal @ Jul 22 2007, 20:02) *
В принципе, для начала можно посмотреть на те исходники что есть и научиться писать драйверы

А исходники и прочие примеры - на там сайте, что вы указали?
Спасибо. a14.gif
vetal
Цитата
Честно говоря, не совсем понял... Вот я сейчас попробовал, у меня свободно создаются папки, копируются файлы, даже в корень можно файлы копировать (в корень, это ведь "/"? т.е. "/myfile" файл, который в корне лежит?), при этом пропорционально уменьшается объём свободной оперативной памяти. Или это не то?

То, только после перезагрузки может ничего не остаться если это делается в озу, а не во флеш. вот если сделать mount /mnt /dev/mtd0 и работать с файлами в директории /mnt - все будет сохраняться.

Цитата
А исходники и прочие примеры - на там сайте, что вы указали?
Спасибо.

там и на сайте nioswiki(ссылку выше давал).
AVR
Цитата(vetal @ Jul 22 2007, 23:05) *
То, только после перезагрузки может ничего не остаться если это делается в озу, а не во флеш. вот если сделать mount /mnt /dev/mtd0 и работать с файлами в директории /mnt - все будет сохраняться.
Спасибо smile.gif
Осталось самое последнее чтобы начать осваивать эту ОС:
1) Понять как всё-таки закачать файл с компьютера (WinXP/Lin) на uCLin через терминал (если это вообще возможно).
2) Сборка программ и драйверов происходит тем же компилятором что и для ядра?
vetal
Цитата(AVR @ Jul 22 2007, 23:25) *
Спасибо smile.gif
Осталось самое последнее чтобы начать осваивать эту ОС:
1) Понять как всё-таки закачать файл с компьютера (WinXP/Lin) на uCLin через терминал (если это вообще возможно).
2) Сборка программ и драйверов происходит тем же компилятором что и для ядра?


1. Наверно специальное программой или по ethernet
2. да, причем драйверы вместе с ядром лучше собирать или включать модуль подгрузки драйверов.
хотя, раз в nios нет mmu - все можно попробовать сделать в одной программе как и в hal )
AVR
Цитата(vetal @ Jul 22 2007, 23:36) *
1. Наверно специальное программой или по ethernet
К сожалению, на моей плате нет ethernet'а... Но зато я нашел как пересылать файлы: надо было добавить "Zmodem tools" и приложения LRZ для приёма файла и LSZ для отправки, причем отправка и приём через соединение на котором консоль висит, пробовал через HyperTerminal =)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.