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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> новый проект
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

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

 


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


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