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

 
 
 
Reply to this topicStart new topic
> Запуск программы NIOS в SDRAM
RLC
сообщение Aug 4 2016, 15:21
Сообщение #1


Участник
*

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



Необходимо по включению питания модуля:
1) выполнить проверку SDRAM
2) запустится с SDRAM и работать. Программа должна лежать там же где и программа проверки SDRAM.
В качестве источника ПЗУ EPCS64
FPGA Cyclone III.
в EPCS ложится jic файл с содержимым друг за другом: sof, hex загрузчика, hex программы
в qsys есть sdram-controller(память и доступ к ней проверена и работает) epcs controller
NIOS reset на EPCS, extention на ONCHIP.
1) Запуск программы проверки по включению питания выполняется успешно. При этом поиск программы в EPCS всегда выводит адрес 0. и сама загрузка не происходит. Кто каким советом может помочь?
пользовался советами naliwator и http://juvf.narod.ru

Сообщение отредактировал RLC - Aug 4 2016, 15:28
Go to the top of the page
 
+Quote Post
BackEnd
сообщение Aug 4 2016, 19:59
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 201
Регистрация: 28-07-16
Пользователь №: 92 747



Цитата(RLC @ Aug 4 2016, 15:21) *
При этом поиск программы в EPCS всегда выводит адрес 0. и сама загрузка не происходит.

Посмотрите на свою карту памяти.
Цитата(RLC @ Aug 4 2016, 15:21) *
Кто каким советом может помочь? пользовался советами naliwator и http://juvf.narod.ru

Скрины бы с настройками прикрепили, как в туториале.



--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу.
И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам.
Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании.
Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать."
Вячеслав Мальцев
Go to the top of the page
 
+Quote Post
RLC
сообщение Aug 5 2016, 07:14
Сообщение #3


Участник
*

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



Цитата(BackEnd @ Aug 4 2016, 22:59) *
Посмотрите на свою карту памяти.

Скрины бы с настройками прикрепили, как в туториале.

в карте памяти адрес на много больше чем 0 потому как по 0 лежит прошивка FPGA, потом программа с поисковиком, которая загружается и затем уже та которая должна раскручиваться в SDRAM.
карта памяти:
BLOCK START ADDRESS END ADDRESS

Page_0 0x00000000 0x00122F6B
MPVS_SW.hex 0x00122F6C 0x00125EC3
SOFTWARE.hex 0x00125EC4 0x0012819B
У меня возникла логичная мысль а правильно ли я доступ получаю к EPCS из NIOS. У меня частота NIOS 108МГц в EPCS работает до 40, кварц на 27. В итоге как это всё скомпановать не очень сразу ясно. куда надо низкую частоту подавать. Можно контроллер от 27 МГц запистать и поставить мост между контроллером и процессором который работает от 108?





Сообщение отредактировал RLC - Aug 5 2016, 07:21
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 5 2016, 14:35
Сообщение #4


Гуру
******

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



Цитата
У меня возникла логичная мысль а правильно ли я доступ получаю к EPCS из NIOS. У меня частота NIOS 108МГц в EPCS работает до 40, кварц на 27. В итоге как это всё скомпановать не очень сразу ясно. куда надо низкую частоту подавать.

Не надо там низкую частоту подавать. Конроллер EPCS - это контроллер SPI + onchip-ram, сигналы на флешку генерируются с нужными таймингами.
Go to the top of the page
 
+Quote Post
BackEnd
сообщение Aug 5 2016, 14:39
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 201
Регистрация: 28-07-16
Пользователь №: 92 747



Цитата(RLC @ Aug 5 2016, 07:14) *
У меня возникла логичная мысль а правильно ли я доступ получаю к EPCS из NIOS. У меня частота NIOS 108МГц в EPCS работает до 40, кварц на 27. В итоге как это всё скомпановать не очень сразу ясно. куда надо низкую частоту подавать. Можно контроллер от 27 МГц запистать и поставить мост между контроллером и процессором который работает от 108?

Бррр! Все манипуляции с частотами рекомендую выполнять через PLL, если это еще не сделано. Там все придумано для таких задач.


--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу.
И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам.
Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании.
Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать."
Вячеслав Мальцев
Go to the top of the page
 
+Quote Post
RLC
сообщение Aug 5 2016, 15:17
Сообщение #6


Участник
*

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



Цитата
Все манипуляции с частотами рекомендую выполнять через PLL, если это еще не сделано.

Частоты, понятное дело, через PLL. Дело в другом: я уже после своего последнего поста посмотрел проект на DE0-NANO Cyclone IV,где терасик представляет пример работы nios с epcs,sdram,i2c,etc. так вот процессор и sdram у них от 100 питается, а вот epcs от 50. И шина данный у Nios подключена к контроллерам через avalon-mm clock crossing bridge(наверняка вы знаете такой компонент qsys).Про это я и думал посом выше.
И всё равно не понятно ведь чтение из epcs максималкой в 40мгц возможно.
Цитата
Не надо там низкую частоту подавать. Конроллер EPCS - это контроллер SPI + onchip-ram, сигналы на флешку генерируются с нужными таймингами.

получается я могу подавать свои 108 мгц на контроллер epcs, с контроллера epcs на соотвествующий вывод и с него будет идти уже не 108 а 40- ?

Я сейчас на 27 мгц с кварца записал всю систему nios+ контроллеры и программа altera из примеров не заработала всё равно, зато когда сам с помощью их API обратился к EPCS то данные из флешки считал( правда надо ещё перевернуть их что бы было как в .rbf). Попробую теперь вернуться к 108 и использовать свою же прогу чтения.
Go to the top of the page
 
+Quote Post
BackEnd
сообщение Aug 5 2016, 17:47
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 201
Регистрация: 28-07-16
Пользователь №: 92 747



Цитата(RLC @ Aug 5 2016, 15:17) *
получается я могу подавать свои 108 мгц на контроллер epcs, с контроллера epcs на соотвествующий вывод и с него будет идти уже не 108 а 40- ?

Как уже сказал vadimuzz, тайминги там будут такие, которые нужны для EPCS.
Если очень интересно, то смотрите доки на сами EPCS-ы и на FPGA.

Page 14.
https://www.altera.com/content/dam/altera-w...3_ciii51016.pdf

"The DCLK generated by the Cyclone III device family controls the entire configuration cycle and provides timing for the serial interface. Cyclone III device family uses a 40-MHz internal oscillator to generate DCLK. There are some variations in the internal oscillator frequency because of the process, voltage, and temperature conditions in Cyclone III device family. The internal oscillator is designed to ensure that its maximum frequency is guaranteed to meet the EPCS device specifications"

Попробуйте начать с самого простого проекта, а потом постепенно его усложнять.

Сообщение отредактировал BackEnd - Aug 5 2016, 17:53


--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу.
И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам.
Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании.
Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать."
Вячеслав Мальцев
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 6 2016, 01:13
Сообщение #8


Гуру
******

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



Цитата(RLC @ Aug 5 2016, 21:17) *
получается я могу подавать свои 108 мгц на контроллер epcs?

Да, это все идет не дальше контрольных регистров и памяти. А из отладчика программа в SDRAM грузится?
Go to the top of the page
 
+Quote Post
RLC
сообщение Aug 8 2016, 06:26
Сообщение #9


Участник
*

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



Спасибо за ответы.
Цитата(vadimuzzz @ Aug 6 2016, 04:13) *
Да, это все идет не дальше контрольных регистров и памяти. А из отладчика программа в SDRAM грузится?

Скажу больше: я по включении питания без NIOS eds получаю сообщение от программы которая раскручивается в sdram(hello word). НО тк перед работой программы в sdram её(sdram) надо проверить, то сначала запускается расширенный загрузчик который проверяет sdram, копирует основную программу, и потом уже делает jump на основную программу. Вот в копировании данных из epcs у меня проблемы и возникли. С sdarm всё более менее (во всяком случае на одном модуле). На 108 мгц данные вычитываю из epcs. Теперь буду разбираться как опознать программу в флешке и её копирование в sdram. Жаль что сразу не запускается проект alterы( "из коробки" так сказать).
Пока что проблем нет, есть только задачи. Всем спасибо за участие =)

Сообщение отредактировал RLC - Aug 8 2016, 06:27
Go to the top of the page
 
+Quote Post
RLC
сообщение Aug 12 2016, 07:43
Сообщение #10


Участник
*

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



Обновляю тему:
Другой модуль, задачи у него почти как близнецы с отличием что SDRAM 16 разрядная.
Перенес проект, запустился из ONCHIP_RAM из среды для проверки правильности подключения контроллера и тестирования памяти. Протестировал 1 Мб разными значениями и после этого решил из среды запустится в SDRAMe-результат отрицательный. При загрузке вылетает ошибка(см рисунок). Прикрепляю картинки с QSYS проектом и настройками процессора. так как запись-чтение в SDRAM работает то в чём может быть дело? Ошибка между 0 и 0x68FB что это за ошибка. не информативно. Не ясно что не работает, что не так сделано?

Сообщение отредактировал RLC - Aug 12 2016, 07:47
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 12 2016, 08:53
Сообщение #11


Гуру
******

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



Цитата
Ошибка между 0 и 0x68FB что это за ошибка. не информативно. Не ясно что не работает, что не так сделано?

Прочитанное содержимое не сходится с записанным. Это м.б. из-за кривых констрейнов на I/O.
Go to the top of the page
 
+Quote Post
RLC
сообщение Aug 12 2016, 11:10
Сообщение #12


Участник
*

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



Ситуация разрешилась. Дело было в том что по документации стояла флешка с быстродействием выше чем та которая была напаяна(изменил настройки контроллера SDRAM)+ понизил и сдвинул частоту на PLL с 108 на 81, сдвиг на -60 , было +90. Хотя при старых настройках всё таки читались и записывались данные в пределах первого мегабайта.
Спасибо тебе за ответ vadimuzzz.
Go to the top of the page
 
+Quote Post

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

 


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


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