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

 
 
> Проблемы с NIOS при загрузки из EPSC
confflex
сообщение Jun 24 2010, 07:52
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 19-11-05
Пользователь №: 11 082



Привет всем! Прошу помощи!
Сделал проект Cyclone EP1C12, EPCS16, память программы - SDRAM. Пока размер программы был небольшой, проблем не возникало т.е программу отлаживал чераз JTAG и грузил в EPCS. Различий в выполнении программы по JTAG и из EPCS по включению питания не наблюдалось. Программа увеличилась в размерах, в итоге был получен вариант, нормально работающий при загрузке через JTAG (т.е. из квартуса грузил sof - файл, из эклипса - программу для ниоса). После прошивки EPCS16 и передергивания питания проект работает, но наблюдаются баги. При повторной загрузки программы для ниоса через эклипс - все ок. Баги связанны с пересылкой пакетов через ethernet. Версия квартуса 9.0 (при установке sp2 - результат тотже). Не понятно в какую сторону "копать": то ли это некорректный программный код или проект для квартуса, то ли неадекватная запись/чтение из/в EPCS? ЧИтал дамп EPCS, но не смог сравнить с исходным (размер слитого флеш файла ~4.8Мб, а исходного ~270Кб). Как понять адекватность загрузки в EPCS через flash programmer.
И еще одно: при программировании через flash programmer получен следущий лог (привожу часть)

# Creating .flash file for the FPGA configuration
"$SOPC_KIT_NIOS2/bin/sof2flash" --epcs --input="xxx.sof" --output="xxx.flash"
Info: *******************************************************************
Info: Running Quartus II Convert_programming_file
Info: Command: quartus_cpf --no_banner --convert --device=EPCS128 --option=xxx
.opt xxx.sof xxx.pof

Почему EPCS128?

Будут у кого какие соображения?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
confflex
сообщение Jun 24 2010, 12:10
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 19-11-05
Пользователь №: 11 082



лог после nios2-flash-programmer --verify --epcs --base=адрес имя_файла.flash

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Restetting and pausing target processor: OK
Verified 91KB in 2.6s <35 KB/s>
Leaving target processor paused

Как я понимаю все нормально !? До этого я пытался сливать файл командой nios2-flash-programmer --read и сравнивать файлы по содержимому. Ничего не получалось.
Как тогда могут по разному работать проекты из EPCS и через JTAG?
Ещё вопрос по максимальному размеру программы для НИОСа, кот. можно загрузить в EPCS16. EPCS16 имеет размер памяти 16777216 бит, EP1C12 имеет максимальный размер загрузочного файла - 2323249 бит, т.е для программы ниоса остается 14453967 бит (~ 1.7МБ). Это теоретически, а как практически?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jun 24 2010, 13:15
Сообщение #3


Гуру
******

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



Цитата(confflex @ Jun 24 2010, 19:10) *
Как тогда могут по разному работать проекты из EPCS и через JTAG?

например: времянки, фокусы с кэшем.
Цитата
Ещё вопрос по максимальному размеру программы для НИОСа, кот. можно загрузить в EPCS16. EPCS16 имеет размер памяти 16777216 бит, EP1C12 имеет максимальный размер загрузочного файла - 2323249 бит, т.е для программы ниоса остается 14453967 бит (~ 1.7МБ). Это теоретически, а как практически?

так и есть. еще сжатие для конф. файла включить.
Go to the top of the page
 
+Quote Post
confflex
сообщение Jun 25 2010, 03:36
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 19-11-05
Пользователь №: 11 082



Цитата(vadimuzzz @ Jun 24 2010, 17:15) *
например: времянки, фокусы с кэшем.


Под времянками понимается Fmax после разводки (здесь всё вроде нормально) и констрейны для SDRAM (здесь нет 100% понимания, но я всегда пытался "грешить" на SDRAM, но ни разу не нашёл подтверждения этому, тесты SDRAM проходили, были попытки "зацепится" за что то путём тупой переразводки в Квартусе после незначительных изменений в проекте, переразводка ни на что не и разу не повлияла.)?
Про фокусы с кэшем можно подробней?

Цитата(vadimuzzz @ Jun 25 2010, 07:33) *
воткните в систему jtag-uart, в опасных местах (типа while (какой-то флаг взведен)) наставьте printf, локализуйте баг. самописных компонентов нет?


так когда с EPCS гружу как JTAG (printf) использовать?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jun 25 2010, 04:21
Сообщение #5


Гуру
******

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



Цитата(confflex @ Jun 25 2010, 10:36) *
Под времянками понимается Fmax после разводки?

Fmax сравнительно легко отследить, хуже если где-нибудь в протоколе обмена на таймаутах подвисает.
Цитата
Про фокусы с кэшем можно подробней?

если в драйвере криво реализована работа с кэшем, пакеты будут приниматься неправильно. диагностировать сравнительно легко - отключить кэш данных и проверить.
Цитата
так когда с EPCS гружу как JTAG (printf) использовать?

а в чем проблема? главное, чтоб кабель подключен был. грузитесь с EPCS, а отладочную информацию кидаете по JTAG в nios2-terminal
Go to the top of the page
 
+Quote Post



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

 


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


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