|
|
  |
Warning в Qsys, Using the SDRAM Memory on Altera’s DE2-115 |
|
|
|
Feb 15 2017, 09:58
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194

|
Имеется плата Terasic DE2-115. Пробую выполнить пример из tutorial "Using the SDRAM Memory on Altera’s DE2-115 Board with Verilog Design". Этот tutorial нашел на диске, который был в комплекте с платой. Собираю проект в Qsys согласно tutorial. Когда все уже вроде настроил - вылезает Warning: Warning: System.nios2_qsys_0: The address range of the slaves connected to the Nios II instruction masters exceeds 28 bits. Attempts to call functions across 28-bit boundaries is not supported by GCC and will result in linker errors. Сам проект выглядит так:  В чем ошибка? Как исправить? Сам tutorial тут:
tut_sdram_verilog.pdf ( 687.73 килобайт )
Кол-во скачиваний: 346
Сообщение отредактировал LAS9891 - Feb 15 2017, 10:00
|
|
|
|
|
Feb 15 2017, 11:54
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Так он же вам все написал: Цитата(LAS9891 @ Feb 15 2017, 12:58)  Warning: System.nios2_qsys_0: The address range of the slaves connected to the Nios II instruction masters exceeds 28 bits. Attempts to call functions across 28-bit boundaries is not supported by GCC and will result in linker errors. Т.е., поддержка NIOS2 процессора в GCC имеет ограничение - код не должен пересекать границу в 28 бит адреса. Вам нужно переопределить карту памяти системы таким образом, чтобы такого пересечения не было. Можно сделать это вручную как вам хочется, изменяя базовые адреса модулей на шине, а можно попросить QSys сделать это автоматом (кажется, на вкладке Address Map должна быть кнопка или что-то вроде того).
|
|
|
|
|
Feb 16 2017, 06:32
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194

|
Цитата(_Anatoliy @ Feb 16 2017, 09:10)  У вас для onchip-memory не назначены адреса, посмотрите View/address map. Попробуйте назначить адреса автоматом System/Assign Base Addresses. После этого ситуация станет как на первой картинке. Варнингов удалось избежать когда выполнил следующую последовательность действий: - удалил из проекта SDRAM; - поменял вектора в NIOS на on_chip_memory; - сделал System/Assign Base Addresses; - добавил в проект SDRAM и подключил ее; - поменял вектора в NIOS на SDRAM; После этого - варнингов не оказалось.
|
|
|
|
|
Feb 17 2017, 12:04
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(LAS9891 @ Feb 17 2017, 11:47)  В Quartus-е подключил этот reset к кнопке. В Eclipce пишу программу - мигалку, загружаю в Nios. Программа работает - мигает . Жму кнопку с reset-ом, мигалка гаснет и больше не загорается. Почему программа заново не стартует? Возможно, эта кнопка еще и сбрасывает конфигурацию FPGA. Содержимое FPGA остается живым? Для тестовых проектов обычно делают еще и вывод свободно бегущего счетчика на светодиод (аппаратного, не зависящего от софта), чтобы всегда видеть - живо ли содержимое ПЛИС, или нет. Ну, или еще что-то в этом духе (вывод на HEX-индикатор, мигание точки, и т.п.). А если запущено под Eclipse-debugger'ом, так это он, возможно, перехватывает управление при Reset'е, останавливает NIOS и не дает ему бегать.
|
|
|
|
|
Feb 17 2017, 12:09
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194

|
Цитата(Stewart Little @ Feb 17 2017, 14:45)  Проверяйте настройки вектора сброса (и исключения) в Qsys и соответствие им настроек BSP. А где глянуть эти настройки BSP?
|
|
|
|
|
Feb 19 2017, 09:30
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194

|
Цитата(Stewart Little @ Feb 17 2017, 16:26)  В BSP Editor'е. Это в NiosII EDS. Вот как Вы cмогли написать программу для NiosII, и не узнать при этом, где создается BSP???  Где в BSP Editor настройки векторов сброса?
|
|
|
|
|
Feb 19 2017, 22:37
|

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

|
Цитата(LAS9891 @ Feb 19 2017, 12:30)  Где в BSP Editor настройки векторов сброса? Вектор сброса указывается в Qsys, при настройке модуля NiosII. В BSP Editor этот вектор импортируется из sopc-файла. Но в BSP есть еще настройка "Allow code at reset". Она должна соответствовать вектору сброса. Если он указывает, например, на On-Chip RAM (где сразу после конфигурации живет исполняемый код), то разрешаем исполнение кода приложения по сбросу. А если, например, на EPCS_FLASH_CONTROLLER - то запрещаем, т.е. по сбросу должен запускаться копировщик, живущий в EPCS_FLASH_CONTROLLER'е. И т.д. и т.п.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Feb 20 2017, 12:16
|

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

|
Цитата(LAS9891 @ Feb 20 2017, 08:11)  Вот что есть с похожим названием. Вы не названия похожие ищите, а документацию изучайте тщательнеЕ!!! Вы писали, что у Вас вектор сброса указывает на SDRAM. В BSP у Вас установлена галка, говорящая о том, что по вектору сброса находится рабочий код приложения, который сразу по сбросу должен начать исполнятся. Соответственно, если после сброса в SDRAM нет кода приложения, то ничего и не стартует.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|