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

 
 
> Как скомпилировать исходники для NIOS?, Без .ptf файла.
slog
сообщение Oct 25 2008, 08:51
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Нужна "помощь клуба".
Есть "система на кристалле" с NIOS-ом. И есть для неё исходники, которые надо скомпилировать.
Проблема в том что нет .ptf файла от SOPC-builder с описанием этой системы.
А вместо .ptf есть какой-то excalibur.h и excalibur.s - это автоматически сгенерированные чем-то файлы и в них дефайны для компилятора Си.
Вот кусок excalibur.h

#define na_flash_8MByte ((void *) 0x00000000) // amd_avalon_am29lv065d_flash
#define na_flash_8MByte_base 0x00000000
#define na_flash_8MByte_end ((void *) 0x00800000)
#define na_flash_8MByte_size 0x00800000
#define na_cpu ((void *) 0x00000000) // altera_nios
#define na_cpu_base 0x00000000
#define na_sram_2MByte ((void *) 0x00800000) // altera_nios_dev_kit_stratix_edition_sram
#define na_sram_2MByte_base 0x00800000

Вообщем как-то надо скомпилировать эти исходники, но не понятно как и чем. Как подсунуть их NiosII IDE я не знаю, он требует .ptf файл. Исходники эти возможно компилировались под линуксом.
Чё делать-то? Подскажите, в какую сторону копать.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 14)
Kuzmi4
сообщение Oct 25 2008, 10:35
Сообщение #2


Гуру
******

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



На сколько я знаю без ptf файла IDE не будет делать каких либо телодвижений.
Не уверен, но по моему перед ниосом вроде у альтеры был Еxcalibur (могу ошибаться, потому как досконально не изучал этот вопрос) - он вроде как раз и делал файлы типа excalibur.h и excalibur.s
Go to the top of the page
 
+Quote Post
slog
сообщение Oct 25 2008, 15:12
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Кто-нибудь пользовался такой вещью SDK4NIOS ?
Похоже оно только под Linux.
Чем мог быть сделан excalibur.h ?
По информации из excalibur.h можно "родить обратно" .PTF ? Пусть даже в ручную. Чтобы запустить NiosII IDE.


Как я понял excalibur.h создавал древний вариант Nios IDE. Сейчас вместо него system.h отличия описаны в an350.
Остальные вопросы пока не прояснились. Что можно сделать без .ptf ?


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
Builder
сообщение Oct 25 2008, 19:38
Сообщение #4


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(slog @ Oct 25 2008, 18:12) *
Как я понял excalibur.h создавал древний вариант Nios IDE. Сейчас вместо него system.h отличия описаны в an350.
Остальные вопросы пока не прояснились. Что можно сделать без .ptf ?

А какая у Вас стои FPGA? Может там под Excalibur понимается то, что используются
FPGA в которых стоит аппаратный проц? Альтера потом не стала развивать эту ветку,
ограничилась развитием только софтовых ядер.
Если там аппаратное дро, то к Nios это всё имеет малое отношение.
Go to the top of the page
 
+Quote Post
slog
сообщение Oct 26 2008, 07:22
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Как я понял Excalibur это древнее семейство со встроенным аппаратным ядром ARM9. И еще во времена Nios 1 файл с описанием железа для компилятолра именовался excalibur.h Во время перехода с Nios на NiosII вместо excalibur.h появился system.h У меня Cyclone II и Nios наверно тоже 2.
Я так полагаю что niosII ide по информации из .ptf создаёт system.h в котором есть все дефайны на железные модули в системе. И дальше компилятор уже компилирует исходники по информации о железе из system.h А наверно можно сразу запустить компилятор без IDE?


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 27 2008, 02:59
Сообщение #6


Гуру
******

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



вот это не смотрели:
http://www.altera.com/literature/an/an350.pdf
"Upgrading Nios Processor Systems to the Nios II Processor"
Go to the top of the page
 
+Quote Post
slog
сообщение Oct 27 2008, 05:50
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Цитата(vadimuzzz @ Oct 27 2008, 05:59) *
вот это не смотрели:
http://www.altera.com/literature/an/an350.pdf
"Upgrading Nios Processor Systems to the Nios II Processor"

Смотрел. Выше в этой теме этот AN350 уже упоминал. Но там описан upgrade начиная с sopc-builder-а, в результате .pof файл все таки присутствует. У меня исходники уже апгрейделись, этот excalibur.h вложен в nios.h, в котором больше ничего нет. К тому же известно что исходники компилируют, вроде бы с помощью sdk4nios, но это вроде только под линукс. А мне хочется скомпилировать в NiosII IDE да еще бы чтобы отладка в железе потом работала.
Пока ковыряю два направления
1. запустить компилятор без IDE и .ptf
2. по информации из excalibur.h восстановить .ptf, хотя бы фиктивный, чтобы IDE запустилась.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
Harbour
сообщение Oct 27 2008, 07:51
Сообщение #8


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Вручную ptf не создавал, но "обширно" редактировал - он текстовый, структура кажись где-то даже была описана. сделайте тестовую системку, и потом редактируйте ptf. если имеются ввиду c/asm исходники nios - то для компиляции ptf нафиг не нужен.
Go to the top of the page
 
+Quote Post
slog
сообщение Oct 27 2008, 08:54
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Цитата(Harbour @ Oct 27 2008, 10:51) *
Вручную ptf не создавал, но "обширно" редактировал - он текстовый, структура кажись где-то даже была описана. сделайте тестовую системку, и потом редактируйте ptf. если имеются ввиду c/asm исходники nios - то для компиляции ptf нафиг не нужен.

Именно Си и asm исходники. Направьте на путь истинный, в какую сторону копать чтобы обойтись без ptf.
А то "Nios II Software Developer’s Handbook" имеет почти 500 страниц. Читаю, но пока не придумал план дальнейших действий.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Oct 27 2008, 15:31
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Цитата(slog @ Oct 27 2008, 10:54) *
Именно Си и asm исходники. Направьте на путь истинный, в какую сторону копать чтобы обойтись без ptf.
А то "Nios II Software Developer’s Handbook" имеет почти 500 страниц. Читаю, но пока не придумал план дальнейших действий.


ptf файл описывает какие устройства и по каким базовым адресам расположены. Какие уровни прерываний выделены.

по excalibur.h систему можно собрать.

Но вас интересует именно скомпилировать исходники на "С" и ассемблере?
Систему тоже ведь нужно как-то компилировать.
Go to the top of the page
 
+Quote Post
slog
сообщение Oct 27 2008, 18:30
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Цитата(misyachniy @ Oct 27 2008, 18:31) *
по excalibur.h систему можно собрать.
Но вас интересует именно скомпилировать исходники на "С" и ассемблере?
Систему тоже ведь нужно как-то компилировать.

Если "система" это то железо которое собрано в FPGA, то мне его и не надо компилировать. Оно уже есть и не надо его менять. Надо поправить только Си и асм исходники для него. Очень бы хотелось чтобы можно было не только компилировать, но и еще и иметь возможность отладки Си кода в железе.
Пока что я вижу один вариант - глядя на excalibur.h создать в sops-builder похожую систему. Полностью восстановить её не возможно, нет HDL исходников custom периферии, но можно вставить затычки по занимаемым ей адресам и прерываниям. Так что в железе она не заработает, но это и не требуется. В результате должен получиться какой-то .ptf с нужным распределением адресов. С ним можно будет и компилироваь существующие исходники и отлаживать их в существующем железе. Этого было бы достаточно.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
Harbour
сообщение Oct 28 2008, 07:30
Сообщение #12


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Для компиляции только исходников ptf не нужен, так как при генерации системы из ptf один раз создается excalibur.h с указателями на базовые адреса ключевых устройств. нужен makefile и набор CGT - nios-as/nios-gcc/nios-ld. Даже если boot область находится внутри чипа - можно тупо заменить MIF файл на этапе ассемблирования в квартусе.
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Oct 28 2008, 08:35
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Цитата(slog @ Oct 27 2008, 20:30) *
Если "система" это то железо которое собрано в FPGA, то мне его и не надо компилировать. Оно уже есть и не надо его менять.


Систему нужно загрузить в FPGA.

У вас система загружается отдельно из конфигурациолнной ПЗУ, а затем бут-лоадер загружает рабочую программу?

Тогда наверное можно попробовать, что то сделать.
Go to the top of the page
 
+Quote Post
slog
сообщение Oct 28 2008, 12:32
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Цитата(Harbour @ Oct 28 2008, 10:30) *
Для компиляции только исходников ptf не нужен, так как при генерации системы из ptf один раз создается excalibur.h с указателями на базовые адреса ключевых устройств. нужен makefile и набор CGT - nios-as/nios-gcc/nios-ld. Даже если boot область находится внутри чипа - можно тупо заменить MIF файл на этапе ассемблирования в квартусе.

makefile пока не нашел. Точнее есть один, вроде не тянет на то чтобы всё скомпилировать.
Вот он весь:
germs_up: germs_up.c
gcc germs_up.c -o germs_up
all: germs_up

makefile похоже тоже придётся делать.

Цитата(misyachniy @ Oct 28 2008, 11:35) *
Систему нужно загрузить в FPGA.
У вас система загружается отдельно из конфигурациолнной ПЗУ, а затем бут-лоадер загружает рабочую программу?
Тогда наверное можно попробовать, что то сделать.

Да, система грузится из EPCS, дальше бутлоадер из внешней флэш AM29LV065 копирует в RAM основную программу и там уже она работает. Железо менять не надо. Надо только изменить основную программу на Си, исходники которой есть. Хранится она во внешней флэш и её даже можно апгрейдить через germs монитор. Но кроме Си исходников ничего нет. И не будет. К тому же там Nios (не NiosII). И еще хочется чтобы отладка из IDE работала. Наверно ptf придётся делать. Нашел описание его структуры в статьях И. Каршенбойм в КиТ за 2002 г.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
Harbour
сообщение Oct 29 2008, 10:32
Сообщение #15


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Мой Makefile для nios on-chip загрузчика можете посмотреть тут [http://electronix.ru/forum/index.php?act=Attach&type=post&id=19792] , главная c++ прога собиралась им же - так что должно подойти
Go to the top of the page
 
+Quote Post

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

 


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


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