Jump to content

    
Sign in to follow this  
AlexBel

NIOS для начинающих

Recommended Posts

Было сделано ICMP/PING, ARP, UDP (прием редко, выдача непрерывным потоком). В итоге Ethernet-100.

Все протоколы на Ниос-2, только вычисление контр.сумм для массивов UDP аппаратно.

В качестве платформы - кит DK-NIOS-2S60N. Там еще много аппаратного на verilog.

На ней было несколько проектов.

Каким образом собиралась аппаратная часть? Просто пример типа standart?

Share this post


Link to post
Share on other sites
Каким образом собиралась аппаратная часть? Просто пример типа standart?

Да standart (с режимом fast), все согласно рекомендациям на кит DK-NIOS-2S60N и др.

Только протокол TCP/IP усеченный и свой, так как приладить предлагаемые исходники (их было много) не удалось, и избыточны они, хотя некоторые куски кодов я позаимствовал.

Да и контрольную сумму надо было вычислять быстро, ну здесь уже особенности задачи.

 

 

 

Share this post


Link to post
Share on other sites
Да standart (с режимом fast), все согласно рекомендациям на кит DK-NIOS-2S60N и др.

Только протокол TCP/IP усеченный и свой, так как приладить предлагаемые исходники (их было много) не удалось, и избыточны они, хотя некоторые куски кодов я позаимствовал.

Да и контрольную сумму надо было вычислять быстро, ну здесь уже особенности задачи.

Скажите пожалуйста какая версия Квартуса использовалась? И в чем софт для Nios (Eclipse или IDE)?

В 11.0 и в 9.1 не могу откомпилить проект в Nios IDE, постоянно выдает ошибки в сообщениях выше.

 

Share this post


Link to post
Share on other sites

Quartus II 7.2 (32-Bit) и Nios II 7.2 IDE. У меня все проекты на этом софте. Пробовал и на Eclipse, но не получилось сразу, а время на освоение не хватает, так что пока на 7.2 (хоть синица в руках)...

 

Вы до сих пор не указали тип кита. Если он от Альтеры, то есть много примеров под каждый конкретный кит: с них надо и начинать. Например, там есть и начальные проекты с Ethernet-10/100 (кажется, сокет-сервер). Если они запускаются и работают, то аппаратура цела и можно двигаться дальше...

Share this post


Link to post
Share on other sites
Quartus II 7.2 (32-Bit) и Nios II 7.2 IDE. У меня все проекты на этом софте. Пробовал и на Eclipse, но не получилось сразу, а время на освоение не хватает, так что пока на 7.2 (хоть синица в руках)...

 

Вы до сих пор не указали тип кита. Если он от Альтеры, то есть много примеров под каждый конкретный кит: с них надо и начинать. Например, там есть и начальные проекты с Ethernet-10/100 (кажется, сокет-сервер). Если они запускаются и работают, то аппаратура цела и можно двигаться дальше...

 

Кит у меня DK-DSP-2S60N. На кристалле Stratix II EP2S60F1020C4. Примеры для платы есть. Но... Как работают не понятно. Например: загружаю standart для софта использую какой нибудь binary counter или сакраментальный hello world. Загружается, делает вид что работает, но Не моргает, не считает, хелло не вылетает. Создаю свой проект в Qsys. Для того же binary counter. (т.е. ставлю cpu, led_pio, onchip mem и т.д.). Софт при этом работает безупречно: счетчик считает, моргая светодиодами, hello фром ниос в консоль вылетает.

Пример standart возможно не для моей платы. Поэтому буду пробывать собирать свой Qsys для простейшего socket server.

Nios IDE при этом как запустить не знаю. Может знаете как сгенерить ptf файл для указания при создании проекта в nios IDE? (При создании sopcinfo в Qsys не создается ptf файл )

 

Share this post


Link to post
Share on other sites
...не создается ptf файл..

В Q7.2 через SOPC сам ptf-файл создается нормально (в феврале 2009г.). Вот его название в моем проекте: NiosII_stratixII_2s60_RoHS_small_sopc.ptf. Не зацыкливайтесь на нем (я даже не знал о его существовании), все должно выходить (входить) автоматически...

Если есть уже работающий проект, то отталкивайтесь от него... Если придется писать свой стек, то начинайте с PING, а потом остальное...

Дерзайте....

 

Еще один довод почему я остался в Q7.2 - это внутренний альтеровский симулятор, который к сожалению удалили начиная с Q9.0. Потом, говорят, что вернули с Q13. Таким образом, есть хороший стимул начать сразу с Q13...

Share this post


Link to post
Share on other sites

Я начинаю программировать на НИОС, хотел бы уточнить есть ли возможность использовать CFI-flash в качестве ПЗУ для хранения пользовательских данных, помимо хранения в ней прошивки, и где можно посмотреть пример использования cfi-flash на си? Спасибо.

Share this post


Link to post
Share on other sites
В Q7.2 через SOPC сам ptf-файл создается нормально (в феврале 2009г.). Вот его название в моем проекте: NiosII_stratixII_2s60_RoHS_small_sopc.ptf. Не зацыкливайтесь на нем (я даже не знал о его существовании), все должно выходить (входить) автоматически...

Если есть уже работающий проект, то отталкивайтесь от него... Если придется писать свой стек, то начинайте с PING, а потом остальное...

Дерзайте....

 

Еще один довод почему я остался в Q7.2 - это внутренний альтеровский симулятор, который к сожалению удалили начиная с Q9.0. Потом, говорят, что вернули с Q13. Таким образом, есть хороший стимул начать сразу с Q13...

 

Спасибо за совет. Сейчас пробую на 10.1 версии. Вопрос глупый: как подключить пины из/в lan91c111? Собрал Sopc, в схемантике вывел пины для Ethernet (т.е. на/из lan). Как их теперь подключить, если через обычный пин редактор они недоступны(как специально назначенные ноги стратикса)?

 

Спасибо за совет. Сейчас пробую на 10.1 версии. Вопрос глупый: как подключить пины из/в lan91c111? Собрал Sopc, в схемантике вывел пины для Ethernet (т.е. на/из lan). Как их теперь подключить, если через обычный пин редактор они недоступны(как специально назначенные ноги стратикса)?

 

Разобрался

Share this post


Link to post
Share on other sites
В Q7.2 через SOPC сам ptf-файл создается нормально (в феврале 2009г.). Вот его название в моем проекте: NiosII_stratixII_2s60_RoHS_small_sopc.ptf. Не зацыкливайтесь на нем (я даже не знал о его существовании), все должно выходить (входить) автоматически...

Если есть уже работающий проект, то отталкивайтесь от него... Если придется писать свой стек, то начинайте с PING, а потом остальное...

Дерзайте....

 

Еще один довод почему я остался в Q7.2 - это внутренний альтеровский симулятор, который к сожалению удалили начиная с Q9.0. Потом, говорят, что вернули с Q13. Таким образом, есть хороший стимул начать сразу с Q13...

 

Добрый день. Может подскажите. Запускаю пример standart для своего кита в Nios IDE. При компиляции выдает ошибку

Error: no processor component available.

SOPC_BUILDER_PATH may be incorrectly set in your environment.

 

Назначаю системную переменную SOPC_BUILDER_PATH в своей среде и указываю путь, где находятся ядра ( C:\altera\10.1\ip\altera).

Перезагружаюсь.

Ошибка все равно осталась. При этом если собираю свою SOPC систему, в Nios IDE все работает. При работе с примером выпадает вышеприведенная ошибка.

Не могу понять почему компилятор не видит ядро процессора из примера standart. Полагаю, что возможно необходимо перегенерить систему SOPC из примера. Но этого сделать не получается, так как только режим чтения.

 

Может есть какие нибудь мысли? Для меня принципиально важно пощупать ehternet на примере...

Edited by farbius

Share this post


Link to post
Share on other sites
Может есть какие нибудь мысли? Для меня принципиально важно пощупать ehternet на примере...

У меня lan91c111 в составе DK-NIOS-2S60N работал нормально. Я его применил в гражданском прибрежном радаре, там был прием с темпом 25МГц от АЦП 12 разрядов, затем первичная обработка и передача в локальную сеть по Ethernet-100 на вторичную обработку (c наложение на карту и прочее).

 

1. Советую перейти на проверенный Q7.2, так как DK-DSP-2S60N, да и мой DK-NIOS-2S60N был созданы во времена Q7.2, т.е. там есть все их примеры. После того как дело двинется, можно пересесть на более свежие, например, Q11 и выше. Но можете и игнорировать этот совет...

2. На первом этапе надо использовать Nios II, а потом перейти на аппаратный UDP (возможно, совместно с Nios II). Мне достаточно было Nios II с аппаратным вычислением контрольных сумм (так как эти суммы отнимают много ресурсов у Nios II при пересылке по UDP).

3. Начать надо с PING и ARP, без них все будет не так как у людей, а потом перейти к UDP.

4. А самое начало - это работа с регистрами и FIFO самого чипа lan91c111, типа чтение/запись. А перед этим просто написать программы на Nios II с управлением от кнопом, с миганием светодиодов и работой с LCD-монитором (последний входит в комплект с DK-NIOS-2S60N). Еще был обмен/управление по UART с компьютером, тоже было полезно вместо обмена по JTAG, так как последний отнимал много ресурсов, да и имелась возможность написать сервисно-управляющую программу, что тоже удобно...

Share this post


Link to post
Share on other sites

Добрый день. Столкнулся с очередной проблемой при заруске примера Nios II Simple socket server.

 

InterNiche Portable TCP/IP, v3.1 
=============== Software License Reminder ================
This software project uses an unlicensed version of the NicheStack TCP/IP
Network Stack - Nios II Edition. If you want to ship resulting object
code in your product, you must purchase a license for this software from
Altera. For information go to: "http://www.altera.com/nichestack"
=====================================================
InterNiche Portable TCP/IP, v3.1 

Copyright 1996-2008 by InterNiche Technologies. All rights reserved. 
Your Ethernet MAC address is 00:07:ed:ff:aa:20
prepped 1 interface, initializing...
Created "Inet main" task (Prio: 2)
Created "clock tick" task (Prio: 3)
smsc91c111 Auto-negotiation: 100 Mbps, Full Duplex
SMSC ethernet Rev: 0x3392, ram: 8192
mctest init called
IP address of et1 : 192.168.1.234
DHCP timed out, going back to default IP address(es)
Created "web server" task (Prio: 4)

Web Server starting up

 

Вместо Simple socket server starting up появляется сообщение о запуске примера Web server.

 

Как решить проблему? В чем может быть причина?

Share this post


Link to post
Share on other sites

Здравствуйте уважаемы коллеги.

У меня возник один вопрос, но корректного описания его ответа, я найти не могу. Как назначается арбитраж для общения нескольких устройств к одной памяти в QSYS?

Share this post


Link to post
Share on other sites
Здравствуйте уважаемы коллеги.

У меня возник один вопрос, но корректного описания его ответа, я найти не могу. Как назначается арбитраж для общения нескольких устройств к одной памяти в QSYS?

Cмотрите здесь: http://www.altera.com/literature/hb/qts/qs...nterconnect.pdf

До кучи - спецификация Авалона, сигнал lock для Avalon-MM

Share this post


Link to post
Share on other sites

Можно прочитать здесь

http://www.altera.com/literature/hb/qts/qs...nterconnect.pdf 9-13

When multiple masters contend for access to a slave, Qsys automatically inserts

arbitration logic which grants access in fairness-based, round-robin order.

In a fairness-based arbitration scheme, each master has an integer value of transfer

shares with respect to a slave. One share represents permission to perform one

transfer. The default arbitration scheme is equal share round-robin that grants equal,

sequential access to all requesting masters. You can change the arbitration scheme to

weighted round-robin by specifying a relative number of arbitration shares to the

masters that access a particular slave. AXI slaves have separate arbitration for their

independent read and write channels, and the Arbitration Shares setting affects both

the read and write arbitration. To display arbitration settings, right-click an instance

on the System Contents tab, and then click Show Arbitration Shares.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this