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

 
 
> новый проект
_Anatoliy
сообщение Feb 12 2014, 13:24
Сообщение #1


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Всем доброго дня!
Делаю новый проект с nios,похоже снова что то напутал,застрял на загрузке.
После включения питания и загрузки хард-части начинает грузиться софт-часть,но как-то странно.На линии epcs_flash_controller_dclk идут пачки клока по 8 тактов и интервалом 2 мкс,этот процесс длится примерно 8 секунд после чего полная тишина.Причём линия epcs_flash_controller_sce так и остаётся в нуле. Мемори-эдитором смотрел область памяти - там только 0xFF ,т.е. загрузки из epcs не происходит.Посмотрите,плз,нет ли ошибок в qsys.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
4 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 55)
Kuzmi4
сообщение Feb 12 2014, 13:32
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 _Anatoliy
тут надо бы ещё лог сообщений Qsys (если есть варнинги), настройки NIOS2 и сообщения при сборке - какие там варнинги по ходу дела. А так если не ругается Qsys - значит 100% дело в настройках а не в соединении.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 12 2014, 14:24
Сообщение #3


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Kuzmi4 @ Feb 12 2014, 15:32) *
2 _Anatoliy
тут надо бы ещё лог сообщений Qsys (если есть варнинги), настройки NIOS2 и сообщения при сборке - какие там варнинги по ходу дела. А так если не ругается Qsys - значит 100% дело в настройках а не в соединении.

Спасибо! Qsys при сборке выдаёт 4 варнинга,один о том что не задействовано прерывание SPI, и три касаемо епцс-загрузчика.Но что они означают?

Вот настройки корки ниос.

Альтера говорит что подобные варнинги вроде можно игнорировать.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 12 2014, 15:19
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 _Anatoliy
На счёт варнингов - так оно и есть, это частично AV-ST интерфейс, он вам не надо.
В принципе классическая конфигурация, как по документам, должен быть автоматом сгенерирован загрузчик и всё должно работать.
А версия софта у вас какая (там просто в 13м квартусе помнится epcs_flash_controller сильно "доработан" - не исключено что что-то поломали когда "дорабатывали")? Если 13я - возможно есть смысл откатиться на более позднюю версию..
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 13 2014, 07:15
Сообщение #5


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Kuzmi4 @ Feb 12 2014, 17:19) *

Квартус 12.1
А таки похоже что-то в qsys не сростается.Не меняя ничего остального просто добавил в qsys ещё три компонента : sysid,jtag_uart и spi_slave - поведение изменилось коренным образом.Теперь после взвода CONF_DONE вообще нет обращения к epcs.Я в шоке - каждый новый проект как новый бой.Что ещё можно сделать?Пока попробую с нуля собрать qsys(сейчас использовал заготовку от прошлого проекта).
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 13 2014, 08:52
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(_Anatoliy @ Feb 13 2014, 10:15) *
..Что ещё можно сделать?..

Можно в принципе попробовать в 9/10 квартусе - там точно всё работало, потом посмотреть хекс-файло которое сделано в новой и в старой вериях. Возможно его замена в 12й версии даст какие то результаты..
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 13 2014, 09:37
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



у ксалинкса взять старый проект и адаптировать под новый - 100% гарантия глюков. Всегда проект делаю заново, и ксалинкс еще библиотеки перекомпиливает постоянно под разные конфигурации с отладкой и без, потому старое в новое - лучше заново. Думаю что они не сами это придумали и у альтеры подобные проблемы)
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Feb 13 2014, 10:02
Сообщение #8


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

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



Цитата(_Anatoliy @ Feb 12 2014, 17:24) *
После включения питания и загрузки хард-части начинает грузиться софт-часть,но как-то странно.На линии epcs_flash_controller_dclk идут пачки клока по 8 тактов и интервалом 2 мкс,этот процесс длится примерно 8 секунд после чего полная тишина.Причём линия epcs_flash_controller_sce так и остаётся в нуле. Мемори-эдитором смотрел область памяти - там только 0xFF ,т.е. загрузки из epcs не происходит.Посмотрите,плз,нет ли ошибок в qsys.

А EPCS-ку каким образом прошивали?
Если мне склероз не изменяет, с каких-то 12-х версий FlashProgrammer начал вести себя непонятным образом, и приходилось прошивать конфигуратор через JIC (предварительно нужно было преобразовывать sof и elf в формат flash, затем из flash в hex, затем объединять оба этих hex'а в jic).


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 13 2014, 11:16
Сообщение #9


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Stewart Little @ Feb 13 2014, 12:02) *
А EPCS-ку каким образом прошивали?
Если мне склероз не изменяет, с каких-то 12-х версий FlashProgrammer начал вести себя непонятным образом, и приходилось прошивать конфигуратор через JIC (предварительно нужно было преобразовывать sof и elf в формат flash, затем из flash в hex, затем объединять оба этих hex'а в jic).

Ага,примерно так и делаю - sof и elf в формат flash, затем из эльфовской flash в hex, затем объединяю hex и sof в jic.
Посмотрите,плз,скрипт на наличие косяков.
Код
sof2flash --epcs --input=nios_kit.sof --output=nios_kit_hw.flash  --verbose
elf2flash --input=nios_2s_app.elf --output=nios_kit_sw.flash --epcs --after=nios_kit_hw.flash --verbose
nios2-elf-objcopy -I srec -O ihex nios_kit_sw.flash  nios_2s_sw.hex --verbose

Вот отчёт :
Код
BLOCK               START ADDRESS        END ADDRESS

Page_0                0x00000000        0x0003CFDB
nios_2s_sw.hex        0x0003CFDC        0x0003F267

Пересборка qsys и bsp с нуля ничего не дала,на линии epcs_flash_controller_dclk идут пачки клока по 8 тактов и интервалом 2 мкс,этот процесс длится примерно 8 секунд после чего полная тишина.Причём линия epcs_flash_controller_sce так и остаётся в нуле.
Я правильно понимаю что если epcs_flash_controller используется только для загрузки программы то его выход прерывания можно не подключать?
Ещё добивает что предыдущий проект я делал именно в Q12.1 и всё загружалось и работало... И скрипты те же...

Только камень другой,в прошлом проекте был EP3C55F484, а в новом EP3C25E144.Жаль железа уже нет,проверил бы на старом камне.
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Feb 13 2014, 11:54
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



Совет прост.
Начните отладку с ончип памяти!
Причём убедитесь, что в начале она инициализируется реальным hex файлом, чтобы при старте и до прогрузки из Эклипса ниос не сошёл с ума от мусора в ончипе.
Когда всё заработает - копайте в сторону скриптов и интерфейса FlashProgrammer.
Бывало, что иногда только через меню получалось зашиться во флеш через программер, а скриптами - нифига. Разбираться было некогда.
К тому же Эклипс умеет генерить сразу готовый файл .flash.


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 13 2014, 12:38
Сообщение #11


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(warrior-2001 @ Feb 13 2014, 13:54) *
Совет прост.
Начните отладку с ончип памяти!
Причём убедитесь, что в начале она инициализируется реальным hex файлом, чтобы при старте и до прогрузки из Эклипса ниос не сошёл с ума от мусора в ончипе.
Когда всё заработает - копайте в сторону скриптов и интерфейса FlashProgrammer.
Бывало, что иногда только через меню получалось зашиться во флеш через программер, а скриптами - нифига. Разбираться было некогда.
К тому же Эклипс умеет генерить сразу готовый файл .flash.

Спасибо!В том то и дело что ончип память не инициализируется - epcs_flash_controller читает что-то из епцс целых 8 секунд,после этого в памяти нули. Я сейчас попробовал из Эклипса по jtag в режиме отладки приконнектиться,пишет что ошибка при загрузке.Вот репорт:
Код
!ENTRY com.altera.sbtgui.launch 1 0 2014-02-13 14:27:02.406
!MESSAGE Executing: [C:\altera\12.1\quartus\bin\cygwin\bin\bash.exe, -c, nios2-download '--cable=USB-Blaster on localhost [USB-0]' --device=1 --instance=0 --accept-bad-sysid --sidp=0x12070 /cygdrive/e/My_Designs/2014/ModulatorCOFDM-8K_2x/Nios_kit/software/nios_2s_app/nios_2s_app.elf]

!ENTRY com.altera.sbtgui.launch 4 0 2014-02-13 14:27:05.078
!MESSAGE Failed Executing: [nios2-download, '--cable=USB-Blaster on localhost [USB-0]', --device=1, --instance=0, --accept-bad-sysid, --sidp=0x12070, /cygdrive/e/My_Designs/2014/ModulatorCOFDM-8K_2x/Nios_kit/software/nios_2s_app/nios_2s_app.elf] return code: 4, 'other error'

!ENTRY com.altera.sbtgui.launch 4 0 2014-02-13 14:27:05.078
!MESSAGE Downloading ELF Process failed

Как это понять?Может это быть причиной?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Feb 13 2014, 13:29
Сообщение #12


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

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



Цитата(_Anatoliy @ Feb 13 2014, 15:16) *
Только камень другой,в прошлом проекте был EP3C55F484, а в новом EP3C25E144.Жаль железа уже нет,проверил бы на старом камне.

Стандартный вопрос - брюхо у EP3C25E144 не забыли к земле припаять?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 13 2014, 13:47
Сообщение #13


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Stewart Little @ Feb 13 2014, 15:29) *
Стандартный вопрос - брюхо у EP3C25E144 не забыли к земле припаять?

Не,это святое rolleyes.gif
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Feb 13 2014, 14:40
Сообщение #14


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

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



Цитата(_Anatoliy @ Feb 13 2014, 16:38) *
Спасибо!В том то и дело что ончип память не инициализируется - epcs_flash_controller читает что-то из епцс целых 8 секунд,после этого в памяти нули.

1. Ну а конфигурация ПЛИСки происходит корректно? CONF_DONE и INIT_DONE взводятся?
2. А если сперва залить конфигурацию по JTAGу, то после этого будет с эклипсом коннектиться?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 13 2014, 14:49
Сообщение #15


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Stewart Little @ Feb 13 2014, 16:40) *
1. Ну а конфигурация ПЛИСки происходит корректно? CONF_DONE и INIT_DONE взводятся?
2. А если сперва залить конфигурацию по JTAGу, то после этого будет с эклипсом коннектиться?

1). Всё корректно и всё взводится.
2). Так тоже не коннектится.

Пока мыслей нет решил захватить сигналы чтения из епцс сигналтапом,может что и прояснится.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Feb 13 2014, 14:58
Сообщение #16


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

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



Цитата(_Anatoliy @ Feb 13 2014, 18:49) *
Пока мыслей нет решил захватить сигналы чтения из епцс сигналтапом,может что и прояснится.

А в настройках bsp случайно галка "Allow code at reset" не взведена?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 13 2014, 15:53
Сообщение #17


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Stewart Little @ Feb 13 2014, 16:58) *
А в настройках bsp случайно галка "Allow code at reset" не взведена?

Блин,взведена... Не нужно было?

После того как убрал эту палку ситуация изменилась. После взвода CONF_DONE обращения к епцс совсем нету секунд 20.После этого начинается какой-то обмен с епцс и идёт бесконечно долго.

Зато по Jtag вроде законнектился,спасибо.Завтра досмотрю.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 13 2014, 15:59
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(Stewart Little @ Feb 13 2014, 17:29) *
Стандартный вопрос - брюхо у EP3C25E144 не забыли к земле припаять?

а че альтеры правда к земле дном корпуса припаиваются?
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Feb 13 2014, 16:21
Сообщение #19


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

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



Цитата(Golikov A. @ Feb 13 2014, 19:59) *
а че альтеры правда к земле дном корпуса припаиваются?

Честная, святая правда!
И не припаявший будет горько о том сожалеть.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 13 2014, 16:50
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



че прям кладешь микруху и паяльником-феном греешь? как БГА? как ей пузо то нагретьsm.gif?

вот же придумают супостаты....
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Feb 14 2014, 09:07
Сообщение #21


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

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



Цитата(Golikov A. @ Feb 13 2014, 20:50) *
че прям кладешь микруху и паяльником-феном греешь? как БГА? как ей пузо то нагретьsm.gif?
вот же придумают супостаты....

Ну не хватило ног у корпуса для земли. Вот ее на exposed pad и вывели sm.gif
А паять - да, можно феном. Только при этом еще и плату подогревать надо (у меня из строительного фена сделан прехитер, а монтажный фен используется по назначению sm.gif ).

Цитата(_Anatoliy @ Feb 13 2014, 19:53) *
Блин,взведена... Не нужно было?

Разумеется - если у Вас используется epcs_flash_controller, то эту галку взводить не надо.
При взведении этой опции линкер будет располагать сегмент кода по адресу сброса, а там у Вас ПЗУ epcs_flash_controller'а, в котором копировщик лежит.
Таким образом - конфликт налицо sm.gif


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 14 2014, 09:32
Сообщение #22


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Stewart Little @ Feb 14 2014, 11:07) *
Разумеется - если у Вас используется epcs_flash_controller, то эту галку взводить не надо.
При взведении этой опции линкер будет располагать сегмент кода по адресу сброса, а там у Вас ПЗУ epcs_flash_controller'а, в котором копировщик лежит.
Таким образом - конфликт налицо sm.gif

Ясно,спасибо! С JTAG сейчас проблем нет,коннектится нормально. А вот с epcs_flash_controller проблема так и осталась,загрузка в onchip ram не выполняется,хотя обращение к епцс есть. Нет ли у Вас ещё каких мыслей?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 14 2014, 15:48
Сообщение #23


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Вот захватил сигналы on-chip-ram, видно что epcs_flash_controller всё-таки записывает данные в память,причём данные соответствуют содержимому епцс и идут в нужном порядке. При этом мемори-эдитор показывает что в памяти либо нули либо 0хFF и ниос не работает. Бред какой-то...
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 15 2014, 00:22
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



а содержимое флешки проверяли?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 15 2014, 08:25
Сообщение #25


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(vadimuzzz @ Feb 15 2014, 02:22) *
а содержимое флешки проверяли?

После программирования выполняется контроль CRC,всё нормально.
Тут очень похоже что epcs_flash_controller считывает данные в on-chip-ram , но после этого он не останавливается а продолжает шелестеть дальше. И on-chip-ram по новой забивается 0хFF из пустой области епцс. Это видно осциллом,клок на епцс идёт порядка 5-8 секунд. Коллеги,можете подсказать кто и каким образом указывает epcs_flash_controller-у количество байт данных , которое он должен считать?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 15 2014, 10:25
Сообщение #26


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Так и есть,если тормознуть epcs_flash_controller на некоторое время и просмотреть содержимое on-chip-ram то можно увидеть загруженный код.
Правда выглядит он как-то для меня непонятно. Вот листинг стартовой секции:
Код
Disassembly of section .text:

00008020 <_start>:
    8020:    06c00074     movhi    sp,1
    8024:    dec00014     ori    sp,sp,0
    8028:    06800074     movhi    gp,1
    802c:    d6889d14     ori    gp,gp,8820
    8030:    00800034     movhi    r2,0
    8034:    10a8a114     ori    r2,r2,41604
    8038:    00c00034     movhi    r3,0
    803c:    18e8c014     ori    r3,r3,41728
    8040:    10c00326     beq    r2,r3,8050 <_start+0x30>
    8044:    10000015     stw    zero,0(r2)
    8048:    10800104     addi    r2,r2,4
    804c:    10fffd36     bltu    r2,r3,8044 <_start+0x24>
    8050:    000a0640     call    a064 <alt_main>

Память on-chip-ram – 0x00008000…0x0000FFFF
1). В 32-битных словах из памяти наблюдается сдвижка на идин байт.
2). Весь блок кода должен начинаться с восьмого адреса on-chip-ram,реально начинается с адреса 0х800.
Кто нибудь разбирался как реально мапится код в on-chip-ram?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 15 2014, 11:36
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



исходники загрузчика есть в составе квартуса, можете сравнить с дизассемблером. такое впечатление, что баг программатора (заголовок битый или типа того). а вы оба способа пробовали - с jic и с nios2-flash-programmer?

upd: и да, crc - не показатель, я помню минимум 2 версии квартуса с корявым загрузчиком, контрольная сумма-то совпадает, только образ изначально битый/кривой. имеет смысл тот же проект прогнать на другой версии ПО
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 17 2014, 09:13
Сообщение #28


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(vadimuzzz @ Feb 15 2014, 13:36) *
исходники загрузчика есть в составе квартуса, можете сравнить с дизассемблером. такое впечатление, что баг программатора (заголовок битый или типа того). а вы оба способа пробовали - с jic и с nios2-flash-programmer?

upd: и да, crc - не показатель, я помню минимум 2 версии квартуса с корявым загрузчиком, контрольная сумма-то совпадает, только образ изначально битый/кривой. имеет смысл тот же проект прогнать на другой версии ПО

Спасибо!
Я пробовал только с jic и Run As. При выполнении Run As ниос работает нормально. А nios2-flash-programmer я ещё не пользовал,как-то обходился без него. Сейчас попробовал законнектиться - результат на картинке. От чего это может быть? Подскажите, плз, что ещё можно сделать?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 17 2014, 09:37
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



галочки поставьте, чтоб он игнорировал ID и прочее
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 17 2014, 09:46
Сообщение #30


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(vadimuzzz @ Feb 17 2014, 11:37) *
галочки поставьте, чтоб он игнорировал ID и прочее

Значит это допустимая ситуация?
Пробовал ставить флажки ,но кнопка Start после refresh остаётся недоступной.
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Feb 17 2014, 09:50
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



Вот что-то каши много теперь стало.
1 - я предлагал грузиться имеено из ончипа! Сразу! Это когда ончип память инициализируется вашим кодом для Ниоса сразу. Это hex файл подключить надо в Qsys при создании самой ончип памяти.
2 - Раз теперь загрузка есть - смотрите, что вам генерит программер.
Его нутро не сложное и по коду множно понять где заголовок загрузчика, какого размера сам код, где закончился код, что доливается после кода до кратного числа в память. Там вроде всё просто. Бывало - приходилось писать свой генератор .bin файлов для заливки во флеш память. По разным причинам. Но удалось и всё работает. Возможно, что размер указан неверно. Или у программера указано перелить всё содержимое флеши в ончип.
У альтеры есть мануал по способам загрузки:
Alternate Nios Boot Methods. Может покурить его. Ну и багрепорт почитать.


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 17 2014, 10:12
Сообщение #32


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Сразу после добавления проекта Квартус в Hardware Connections появляются такие ошибки.

Цитата(warrior-2001 @ Feb 17 2014, 11:50) *
1 - я предлагал грузиться имеено из ончипа! Сразу! Это когда ончип память инициализируется вашим кодом для Ниоса сразу. Это hex файл подключить надо в Qsys при создании самой ончип памяти.

Это hex файл перед подключением нужно переделать?У того что у меня сейчас стартовый адрес 0х8020.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Feb 17 2014, 10:40
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



Цитата(_Anatoliy @ Feb 17 2014, 14:12) *
Это hex файл перед подключением нужно переделать?


Его нужно получить их эклипса. Результат компиляции вашего ПО для Ниоса. Сейчас не могу сказать, где там эти галочки.



--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 17 2014, 11:40
Сообщение #34


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(warrior-2001 @ Feb 17 2014, 12:40) *
Его нужно получить их эклипса. Результат компиляции вашего ПО для Ниоса. Сейчас не могу сказать, где там эти галочки.

Флажок enable_alt_load в настройках bsp?Попробовал несколько вариантов,всегда у *.hex стартовый адрес 0х0003EE53.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 18 2014, 00:30
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(_Anatoliy @ Feb 17 2014, 16:46) *
Значит это допустимая ситуация?

да, вообще не понимаю, зачем все это нужно. во всяком случае, с этим можно потом разобраться
Цитата
Пробовал ставить флажки ,но кнопка Start после refresh остаётся недоступной.

в консоли вбейте: nios2-flash-programmer --verbose
если покажет, что видит регистры EPCS, то накидайте скрипт а-ля:
CODE

#!/bin/sh
EPCS_BASE=0x100a800
cd /home/vadik/Qdesigns/L150_220_test
# Creating .flash file for the FPGA configuration
"$SOPC_KIT_NIOS2/bin/sof2flash" --epcs --input="./L150_220_test.sof" --output="L150_220_test.flash"
# Programming flash with the FPGA configuration
"$SOPC_KIT_NIOS2/bin/nios2-flash-programmer" --epcs --base=$EPCS_BASE "L150_220_test.flash"
# Creating .flash file for the project
"$SOPC_KIT_NIOS2/bin/elf2flash" --epcs --after="L150_220_test.flash" --input="./software/L150_220_sw/L150_220_sw.elf" --output="epcs_flash_controller_0.flash"
# Programming flash with the project
"$SOPC_KIT_NIOS2/bin/nios2-flash-programmer" --epcs --base=$EPCS_BASE "epcs_flash_controller_0.flash"

и забудьте про этот корявый эклипсовский гуй
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 18 2014, 07:15
Сообщение #36


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(vadimuzzz @ Feb 18 2014, 02:30) *
и забудьте про этот корявый эклипсовский гуй

Огромное спасибо!
Вот уважаю такие бескомпромиссные ответы.
Сейчас попробую,только скажите как выбрать EPCS_BASE?
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Feb 18 2014, 10:08
Сообщение #37


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



Цитата(_Anatoliy @ Feb 18 2014, 11:15) *
Огромное спасибо! Вот уважаю такие бескомпромиссные ответы. Сейчас попробую,только скажите как выбрать EPCS_BASE?





Так это же адрес из системы Qsys для EPCS.

Я не понимаю, отчего у вас получаются разные адреса в Qsys и в hex. Может в этом и косяк. Я с Ниосом работаю только в Quartus 11.1sp2.



--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 18 2014, 11:06
Сообщение #38


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(warrior-2001 @ Feb 18 2014, 12:08) *
Так это же адрес из системы Qsys для EPCS.
Я не понимаю, отчего у вас получаются разные адреса в Qsys и в hex. Может в этом и косяк.

Адрес чего?Епцс-контроллера?Для чего кому-то знать какой адрес на шине имеет контроллер?
Я выше приводил скрипты,там ключа --base нет,скрипты брал на www.naliwator.narod.ru
Пока беру тайм-аут,буду переустанавливать ОС на компе.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 19 2014, 01:23
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(_Anatoliy @ Feb 18 2014, 18:06) *
Адрес чего?Епцс-контроллера?Для чего кому-то знать какой адрес на шине имеет контроллер?

именно, сам адрес можно взять в system.h или из QSys выдернуть. смысл в том, что nios2-flash-programmer шьет "на горячую",
используя контроллер EPCS (который на самом деле SPI). кстати, забыл написать, что sof уже должен быть загружен
(при первой прошивке можно использовать nios2-configure-sof). при последующих манипуляциях sof нужно подгружать только если сменится адрес контроллера
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 20 2014, 11:08
Сообщение #40


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(vadimuzzz @ Feb 19 2014, 03:23) *
именно, сам адрес можно взять в system.h или из QSys выдернуть. смысл в том, что nios2-flash-programmer шьет "на горячую",
используя контроллер EPCS (который на самом деле SPI). кстати, забыл написать, что sof уже должен быть загружен
(при первой прошивке можно использовать nios2-configure-sof). при последующих манипуляциях sof нужно подгружать только если сменится адрес контроллера

Ясно,спасибо!
Переустановил у себя ОС,Квартус и т.д.
Е.М.Н.И.П раньше скрипты были в файлах *.sh например elf2flash.sh , сейчас же есть только elf2flash без расширения с загадочным содержимым:
Код
#!/bin/sh
. "${0%[\\/]*}/sh_jar.sh"

Или так и должно быть и память опять подводит? WinXP32.
Кстати,а чем плох метод предложенный warrior-2001? По моему это самый короткий путь. Правда у меня ещё не получилось сделать *.hех из *.elf для инициализации ram , отвлекаюсь постоянно.
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Feb 20 2014, 13:10
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



Цитата(_Anatoliy @ Feb 20 2014, 15:08) *
Кстати,а чем плох метод предложенный warrior-2001? По моему это самый короткий путь.





Отвечу сам пожалуй.

Минус в том, что ПО для процессора по сути хранится в самой конфигурации ПЛИС.

И если захотите сменить ПО, не меняя прошивку(а вы захотите wink.gif ), то придётся перекомпиливать весь проект в квартусе с новым hex файлом.

Так что в моём случае - это лишь первый этап.



--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Feb 20 2014, 13:13
Сообщение #42


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(warrior-2001 @ Feb 20 2014, 17:10) *
И если захотите сменить ПО, не меняя прошивку(а вы захотите wink.gif ), то придётся перекомпиливать весь проект в квартусе с новым hex файлом.


hex можно обновить и без полной пересборки проекта.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 20 2014, 13:39
Сообщение #43


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(warrior-2001 @ Feb 20 2014, 15:10) *

А Вы не правы. Ведь есть же такая чудесная команда как Update Memory Initialization File.

Цитата(_Anatoliy @ Feb 20 2014, 13:08) *
Е.М.Н.И.П раньше скрипты были в файлах *.sh например elf2flash.sh , сейчас же есть только elf2flash без расширения с загадочным содержимым:
Код
#!/bin/sh
. "${0%[\\/]*}/sh_jar.sh"

Или так и должно быть и память опять подводит? WinXP32.

Таки память меня подвела,скрипты нормальные.
Цитата(vadimuzzz @ Feb 19 2014, 03:23) *

Ваш метод заработал с полоборота rolleyes.gif
Спасибо!
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 21 2014, 03:15
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(_Anatoliy @ Feb 20 2014, 18:08) *
сейчас же есть только elf2flash без расширения с загадочным содержимым:
Код
#!/bin/sh
. "${0%[\\/]*}/sh_jar.sh"

это тоже shell-script, в *nix расширения не обязательны
Цитата
Кстати,а чем плох метод предложенный warrior-2001? По моему это самый короткий путь. Правда у меня ещё не получилось сделать *.hех из *.elf для инициализации ram , отвлекаюсь постоянно.

мне скрипт удобнее тем, что он хоть напишет, если что не так пошло. а квартусовский программер выкинет что-нибудь типа "JTAG error $*&^*#%" и сиди думай. а еклипсовские приблуды имеют свойство падать вообще молча (не все, зависит от версии и погоды на Марсе).
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 21 2014, 09:29
Сообщение #45


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(vadimuzzz @ Feb 21 2014, 05:15) *
мне скрипт удобнее тем, что он хоть напишет, если что не так пошло. а квартусовский программер выкинет что-нибудь типа "JTAG error $*&^*#%" и сиди думай. а еклипсовские приблуды имеют свойство падать вообще молча (не все, зависит от версии и погоды на Марсе).

Это да,но команду Update Memory Initialization File можно и скриптом выполнить.
Помогите,плз,разобраться с прерываниями.Получается так что прерывания возникают всегда,даже когда нет принимаемых данных.Как такое может быть,ведь при чтении данных флаг RRDY сниматься должен?
Код
static void spi_slave_isr(void* isr_context)
    {
    volatile alt_u8 data_rx;
    RES_BIT_OUTPORT(21);
    data_rx = (char)(IORD_ALTERA_AVALON_SPI_RXDATA(SPI_SLAVE_BASE))&0x000000ff;
    IOWR_ALTERA_AVALON_SPI_STATUS(SPI_SLAVE_BASE, 0x0);
    *isr_context = (alt_u16)data_rx;
    SET_BIT_OUTPORT(21);
    }

Выяснилось что SPI здесь не виноват,прерывания возникают даже если в регистре SPI снять все маски прерываний.
Они возникают сразу после регистрации обработчика.
Код
void Irq_init() {
//    IOWR_ALTERA_AVALON_SPI_CONTROL(SPI_SLAVE_BASE, ALTERA_AVALON_SPI_CONTROL_IRRDY_MSK | ALTERA_AVALON_SPI_CONTROL_IE_MSK);
    // Регистрация обработчика прерываний
    t1=alt_ic_isr_register(
            SPI_SLAVE_IRQ_INTERRUPT_CONTROLLER_ID,
            SPI_SLAVE_IRQ,
            spi_slave_isr,
            spi_buf_rx,
            flags);
}

С чем это может быть связано?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 22 2014, 01:57
Сообщение #46


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(_Anatoliy @ Feb 21 2014, 16:29) *
С чем это может быть связано?

либо в железе глюк (надо лезть сигналтапом в потроха контроллера SPI), либо SPI_SLAVE_BASE куда-то не туда показывает (например, сменились адреса в Qsys).
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 22 2014, 05:18
Сообщение #47


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(vadimuzzz @ Feb 22 2014, 03:57) *
либо в железе глюк (надо лезть сигналтапом в потроха контроллера SPI), либо SPI_SLAVE_BASE куда-то не туда показывает (например, сменились адреса в Qsys).

Ага,спасибо,уже иду по следу...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 22 2014, 19:02
Сообщение #48


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Коллеги,ещё один вопрос остался.Касается ниосовского SPI_slave,у него запрос прерывания формируется по окончанию сигнала SS.
Таким образом под SS может быть до 4-х принятых байт.А если нужно принять команду из 6 или 10 байт?Самому писать SPI_slave?Или дробить команду на несколько посылок? Как поступаете?И совсем не понятно как при таком построении выполнять чтение данных по указанному адресу.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 23 2014, 06:37
Сообщение #49


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(_Anatoliy @ Feb 23 2014, 02:02) *
Таким образом под SS может быть до 4-х принятых байт.А если нужно принять команду из 6 или 10 байт?Самому писать SPI_slave?Или дробить команду на несколько посылок? Как поступаете?И совсем не понятно как при таком построении выполнять чтение данных по указанному адресу.

я свой контроллер SPI писал, с картами и блудницами. прерывания, правда, не делал - мне надо было только чтоб пакет любой длины был, но не вижу проблемы
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 23 2014, 07:26
Сообщение #50


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(vadimuzzz @ Feb 23 2014, 08:37) *
я свой контроллер SPI писал, с картами и блудницами. прерывания, правда, не делал - мне надо было только чтоб пакет любой длины был, но не вижу проблемы

Спасибо!
Насчёт своего контроллера понятно,можно сделать такой какой хочется.Я думал может штатный всё же удастся применить.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 24 2014, 14:57
Сообщение #51


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Коллеги, а кто работал с Component Editor для QSYS?Создаю новый компонент SPI_slave,на вкладке Signals нужно портам присвоить параметры Interface и Signal Type. Для внешних сигналов (MOSI,MISO etc) Signal Type выбираю extern, а вот какой тип Interface нужно выбрать? Вроде нужно выбирать тип Conduit, но в QSYS компонент выглядит не так как штатный. На картинке сверху родной компонент,снизу новый.Подскажите,плз.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 24 2014, 16:34
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 _Anatoliy
путь вроде верный, на первый взгляд..
Выложите BlackBox вашего компонента и "*_hw.tcl" файло. Скорее всего в настройках интерфейса что то подкрутили не то, там в последних версиях они начали добавлять "фич" sm.gif
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 25 2014, 08:22
Сообщение #53


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Kuzmi4 @ Feb 24 2014, 18:34) *

Спасибо!Библиотечный компонент я закончил,всё скомпилилось нормально.Скажите, а как мне его теперь сохранить,если например ОС буду переустанавливать?
Только теперь опять с загрузкой проблема.Не загружается *.elf в FPGA. Блин,как в сказке - нос вытащишь , хвост увязнет.
Проект в Эклипсе пересобирал,не помогает.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 25 2014, 08:54
Сообщение #54


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 _Anatoliy
Я храню всё "хозяйство" проекта в соответствующих папках - то есть где сорцы, там и "*_hw.tcl"
Прикрепленное изображение

А вообще имею в СВН-е простенький проект для корки с описанием и всем нужным.

Далее, чтобы при генерации всё находилось как надо нужно вот такой скриптец
Прикрепленный файл  qusrcomp.7z ( 498 байт ) Кол-во скачиваний: 35

запускать вот так из "Nios II х.х Command Shell" (например, в *.SH)
Код
..
quartus_sh --no_banner -t ../qusrcomp.tcl eth_gen_avs eth_mon_avs
...

Приложил скриптец где вся генерация в куче (из того что было под рукой, для QII v9.0sp2)
Прикрепленный файл  process.7z ( 422 байт ) Кол-во скачиваний: 31


Касательно вашей беды с nios2-download - попробуйте убрать ожидание после загрузки (--wait). У меня с *.elf и ключом "-g" работало всегда на любых конфигах.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 25 2014, 09:14
Сообщение #55


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Kuzmi4 @ Feb 25 2014, 10:54) *

Большое спасибо,буду пробовать.
А загрузка пошла после четвёртой пересборки wacko.gif
Печально.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 26 2014, 06:56
Сообщение #56


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Библиотечный компонент то скомпилировался,но шина АВАЛОН рухнула.Картинка слева с штатным модулем SPI, справа с моим.Посмотрите что творится с данными и адресом(причём запись выполнялась в регистр с адресом 3).Каким образом изменение только модуля SPI может привести к такому результату одному Богу известно.Может интерфейс не тот задал?Посмотрите,плз,опытным глазом правильно ли я выбрал интерфейсы и типы.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 05:21
Рейтинг@Mail.ru


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