реклама на сайте
подробности

 
 
43 страниц V  « < 25 26 27 28 29 > »   
Reply to this topicStart new topic
> NIOS для начинающих
_Desh_
сообщение Jun 6 2012, 03:02
Сообщение #391


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



Цитата(Stewart Little @ Jun 5 2012, 19:57) *
А Вы хардверную часть делаете в SOPC'е или в Qsys'е?


SOPC. Использую Altera Complete Design Suite 9.1.
Go to the top of the page
 
+Quote Post
_Desh_
сообщение Jun 6 2012, 06:51
Сообщение #392


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



Попробовал делать то же самое через Nios II IDE. Во время компиляции программы он кладет файл onchip_memory.hex в папку с проектом аппаратной части. И вот, во время перекомпиляции аппаратной части Quartus выводит предупреждение: Warning: Width of data items in "onchip_memory.hex" is greater than the memory width. Wrapping data items to subsequent addresses. Какая настройка за это отвечает, и как избавиться от этой ошибки? Может быть поэтому при прошивке и возникает ошибка Verify failed between address 0x1000 and 0x148B?
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Jun 6 2012, 08:36
Сообщение #393


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Такая ошибка возникает при несовпадении размеров ОЗУ в SOPC и скомпилированного файла программы, который должен там разместиться.
Убедитесь, что все настройки линкера, все сегменты памяти указывают на ваше ОЗУ (onchip_memory).
Также посмотрите карту памяти и размер памяти - всё ли соответствует истине?
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jun 6 2012, 10:38
Сообщение #394


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(_Desh_ @ Jun 6 2012, 10:51) *
И вот, во время перекомпиляции аппаратной части Quartus выводит предупреждение: Warning: Width of data items in "onchip_memory.hex" is greater than the memory width. Wrapping data items to subsequent addresses. Какая настройка за это отвечает, и как избавиться от этой ошибки?

Это не ошибка, а предупреждение. На наго вполне можно забить.
Но если очень сильно раздражает, то поиграйте настройками в Assignment - Settings - Compilation Process Settings - More Settings - Reading or Writing Hexadecimal (.hex) File in byte addresable mode
Для того, чтобы сделать эту настройку глобальной, откройте в квартусе редактор hex-файла, и в меню Tools - Options - Memory Editor установите или сбросьте соответствующую галку.

Но с Вашей проблемой все вышеизложенное напрямую не связано.
У Вас, скорее всего, или где-то "ошибка на внимание", или проблема в железе/драйверах.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
naliwator
сообщение Jun 6 2012, 11:27
Сообщение #395


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 11-08-08
Из: Kolpino
Пользователь №: 39 551



Цитата(_Desh_ @ Jun 5 2012, 17:49) *
Для примеров наверняка нужна отладочная плата? У меня ее нет и не будет. Если получится завтра какой-нибудь готовый проект запустить на доступной мне плате, то попробую.

Для простейшего проекта многое и не требуется: самый простейший проект - это тактовый вход и 5кб памяти. Это чтобы попробовать. Какой у вас чип? На какой пин подаётся тактовый сигнал?

Цитата(_Desh_ @ Jun 5 2012, 17:49) *
Да, кстати. На той плате, с которой я упражняюсь, стоит EPCS с прошитым в ней другим проектом. Я пытаюсь на лету зашивать в ПЛИС свой .sof файл через JTAG, а затем и .elf, чтобы не трогать старую прошивку. Так ведь и нужно делать?

Совершенно верно.


--------------------
Go to the top of the page
 
+Quote Post
_Desh_
сообщение Jun 6 2012, 16:25
Сообщение #396


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



В общем, решил я попробовать сделать все то же самое, только в Nios II IDE. При попытке прошиться из-под него выдавались такие же ошибки... пока я случайно (после чтения темы http://electronix.ru/forum/index.php?showtopic=103410) не заметил, что после компиляции программы IDE (и, видимо, Eclipse тоже) записывает в папку с аппаратным проектом файл onchip_memory.hex. Когда я после очередной неудачной попытки лез в Quartus, что-нибудь менял и перекомпилировал, он подцеплял этот файл, и генерировал .sof уже с прошивкой Nios. Получается, что после конфигурации ПЛИС через Quartus Programmer в устройство уже была залита рабочая программа! А я, следуя инструкциям Альтеры, пытался прошить .elf в уже работающее устройство. Может, дело в этом? В любом случае, если следовать совету Stewart Little из упомянутой темы и загружать проект только через Quartus Programmer, то все работает.

Уважаемые naliwator, Stewart Little, Копейкин, большое спасибо за советы!

Правда, теперь непонятно, как дебажить программу без Eclipse или IDE.

Сообщение отредактировал _Desh_ - Jun 6 2012, 16:27
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jun 6 2012, 16:40
Сообщение #397


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(_Desh_ @ Jun 6 2012, 19:25) *
А я, следуя инструкциям Альтеры, пытался прошить .elf в уже работающее устройство. Может, дело в этом?

Нет, не в этом.
Elf должен загружаться в систему с ниосом независимо от того, есть там в памяти что-нибудь, или нету.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
_Desh_
сообщение Jun 8 2012, 05:41
Сообщение #398


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



Eclipse неправильно считывает параметры зашитого в ПЛИС проекта. Для данной платы есть готовый, абсолютно точно рабочий проект. Я точно знаю, что в этом проекте есть процессор Nios, JTAG UART, system ID. Во-первых, не считывается название процессора. Во-вторых, неверно определяется тип ядра (должно быть, как я понял, 1, 2 или 3, а показывает -1). В-третьих, не находит JTAG UART. Последнее - всегда, вне зависимости от проекта, зашитого в плату, пишет, что реальный system ID - 0xffffffff, хотя базовый адрес компонента System ID Peripheral, базовый адрес памяти определяет верно. Если бы такое наблюдалось только с моим проектом, я бы согласился, что дело или в аппаратной части, или в моих кривых руках. Но с чужим проектом все проще - включается питание, проект загружается из EPCS и плата работает. Моего вмешательства в данном случае - один щелчок тумблером и запуск Eclipse. Вывод - проблема именно в Eclipse, возможно в драйвере USB Blaster. Как считаете, поможет ли переустановка или переход на более новую версию?

Сообщение отредактировал _Desh_ - Jun 8 2012, 05:45
Go to the top of the page
 
+Quote Post
Wic
сообщение Jun 8 2012, 07:10
Сообщение #399


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Цитата(_Desh_ @ Jun 8 2012, 12:41) *
Eclipse неправильно считывает параметры зашитого в ПЛИС проекта. Для данной платы есть готовый, абсолютно точно рабочий проект. Я точно знаю, что в этом проекте есть процессор Nios, JTAG UART, system ID. Во-первых, не считывается название процессора. Во-вторых, неверно определяется тип ядра (должно быть, как я понял, 1, 2 или 3, а показывает -1). В-третьих, не находит JTAG UART. Последнее - всегда, вне зависимости от проекта, зашитого в плату, пишет, что реальный system ID - 0xffffffff, хотя базовый адрес компонента System ID Peripheral, базовый адрес памяти определяет верно. Если бы такое наблюдалось только с моим проектом, я бы согласился, что дело или в аппаратной части, или в моих кривых руках. Но с чужим проектом все проще - включается питание, проект загружается из EPCS и плата работает. Моего вмешательства в данном случае - один щелчок тумблером и запуск Eclipse. Вывод - проблема именно в Eclipse, возможно в драйвере USB Blaster. Как считаете, поможет ли переустановка или переход на более новую версию?

Поставьте последний квартус + еклипс, если не поможет то скорей всего, дело в чьих то руках wink.gif
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Jun 8 2012, 07:44
Сообщение #400


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Такие фокусы, как невозможность прочесть system ID и timestamp, очень часто случается, когда не
работает или не соответствует ожидаемым параметрам тактовый генератор.
Я, запаяв не рабочий генератор, тоже как-то долго пытался дебажить проект, и тоже не верифицировалась залитая
программа, не совпадал сисид и время создания...
1) Проверьте, на те ли выводы подаётся тактовая частота и работает ли генератор?
2) Проверьте назначение пина для тактовой частоты в проекте.
3) Есть возможность проверить другую плату/рабочий проект?

PS
А версия ква 9.1 довольно таки безглючная...
Мне сюрпризов почти не преподносила.

Сообщение отредактировал Копейкин - Jun 8 2012, 07:46
Go to the top of the page
 
+Quote Post
_Desh_
сообщение Jun 9 2012, 04:42
Сообщение #401


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



Цитата(Копейкин @ Jun 8 2012, 11:44) *
1) Проверьте, на те ли выводы подаётся тактовая частота и работает ли генератор?
2) Проверьте назначение пина для тактовой частоты в проекте.
3) Есть возможность проверить другую плату/рабочий проект?


1) и 2) - генератор рабочий (если верить осциллографу), тактовый вход задан правильно (потому что проект все-таки работает, если загружать его из EPCS или Quartus Programmer'ом). Другой платы нет, а вот другой проект вчера проверял разработчик платы (я ее использую только как отладочную) - все нормально, в смысле если опять же грузить через EPCS, в Eclipse проверить не получится - проект сделан в Nios II IDE 9.0.

Если будет время, попробую накатить сервис пак - вдруг поможет...
Go to the top of the page
 
+Quote Post
Wic
сообщение Jun 9 2012, 05:55
Сообщение #402


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Сколько у меня было проблем с NIOSом - все были из за моих кривых рук. Или не правильно соберу в СОПКе схему, или ресет не правильно задам, или не правильно указал вектора. Работал в 3ех версиях квартуса, в каждой получалось запустить ниос.
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Jun 9 2012, 13:15
Сообщение #403


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Desh, я работаю с версией 9.1 SP 2 и у меня глюков мало.
Eclipse работает вполне стабильно.
Изредка отваливается/не стартует консоль Nios, но при следующем запуске, как правило всё ОК.
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Jun 19 2012, 07:15
Сообщение #404


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 1-01-06
Из: Волгоград
Пользователь №: 12 763



Небольшой вопрос-уточнение,
как я понял включение галки Small C Library автоматически переключает драйвер для UART из FAST (который с прерываниями работоает) в Small (который Polled). Т.е. комбинаций Small C Library и FAST Driver невозможна.

Т.е. по сути получается что мы можем выводить в UART через printf а читать только через getchar, причем printf будет работать в блокирующем режиме, пока не отправит все байтики код дальше не пойдет.

По сути отличие от Use Lightweight Device Driver API отличие только в том что есть printf. Если он не нужен то лучше и его тоже убить и сэкономить еще пространства для кода в Onchip.

Все ли верно?
Go to the top of the page
 
+Quote Post
_Desh_
сообщение Jun 23 2012, 08:03
Сообщение #405


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



В общем, отписываюсь по поводу своей проблемы - дело оказалось в программаторе USB Blaster. Взял (самодельный!) ByteBlaster II (который через LPT) и все заработало, как и должно. Вот такая вот загогулина.
Go to the top of the page
 
+Quote Post

43 страниц V  « < 25 26 27 28 29 > » 
Reply to this topicStart new topic
7 чел. читают эту тему (гостей: 7, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.015 секунд с 7
ELECTRONIX ©2004-2016