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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Microblaze - создание и назначение ELF-файла, Xilinx ISE 13.2 - System Edition
AVR
сообщение Nov 8 2011, 23:01
Сообщение #1


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Добрый день!
(почитал форум прежде чем задать вопрос и рыл интернет)
У меня установлена Xilinx ISE 13.2 - System Edition (на kUbuntu 11.10 64-bit). Необходимо добавить процессор в свой проект (уже есть опыт работы с nios2 + uClinux).

Все это (список ниже) тщательным образом внимательно отсмотрено и осмыслено, туториалы СТАРЫЕ, многое не сходится.
В частности я не вижу у меня вкладки Applications, только Project и IP Catalog, вижу Elf Files - там пустые строки и для симуляции и для impl, не назначить ничего.
Hardware->Generate Netlist - работает, даже синтезируется и есть файл прошивки в итоге.
Далее, Export & Launch SDK - работает, запускается Eclipse, создается проект, в нем ELF файл генерируется, это хорошо.

Вопросы:

1) Как в Linux запускать Xilinx SDK? Чтобы не приходилось делать export раз за разом, и сразу запускать Eclipse, есть в где то в гуях ссылка или можно из консоли? ise, impact, xps - это для platform studio, а как из консоли Linux запустить SDK? settings64.sh - вызываются, должно видеть весь софт.

2) Как назначить созданной системе microblaze - ELF файл? Так и не смог отыскать способа сделать эту элементарную вещь.
Есть ELF, есть синтезированный microblaze, а сращивать как?

3) Есть ли видеоруководство по свежим версиям XPS? Или PDF-туториал? Официальные - тоже устарели, или не там смотрел.

4) Может ли быть что что-то не установлено - потому то я и не вижу каких-то вещей и потому проблемы?

Надеюсь ответы на эти вопросы помогут новичкам освоить новые версии XPS rolleyes.gif

Цитата(dspx @ Dec 30 2009, 22:11) *
Советую посмотреть обучалки на YouTube
Xilinx EDK Tutorial - A Guided Tour of the Platform Studio - Part 1
Xilinx EDK Tutorial - A Guided Tour of the Platform Studio - Part 2
Xilinx EDK Tutorial - A Guided Tour of the Platform Studio - Part 3
Xilinx EDK Tutorial - Adding custom IP to an EDK Project - Part 1
Xilinx EDK Tutorial - Adding custom IP to an EDK Project - Part 2
Xilinx EDK Tutorial - Adding custom IP to an EDK Project - Part 34
Xilinx EDK Tutorial - Adding MPMC to an EDK Project - Part 14
Xilinx EDK Tutorial - Adding MPMC to an EDK Project - Part 2
Xilinx EDK Tutorial - Adding MPMC to an EDK Project - Part 3
Xilinx EDK Tutorial - Integrating EDK and ISE Projects
Xilinx EDK Tutorial - Using the Base System Builder Wizard - Part 1
Xilinx EDK Tutorial - Using the Base System Builder Wizard - Part 2


--------------------
Go to the top of the page
 
+Quote Post
Maverick
сообщение Nov 9 2011, 09:36
Сообщение #2


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(AVR @ Nov 9 2011, 01:01) *
Добрый день!

Цитата
Цитата(dspx @ Dec 30 2009, 22:11) *
Советую посмотреть обучалки на YouTube
Xilinx EDK Tutorial - A Guided Tour of the Platform Studio - Part 1
Xilinx EDK Tutorial - A Guided Tour of the Platform Studio - Part 2
Xilinx EDK Tutorial - A Guided Tour of the Platform Studio - Part 3
Xilinx EDK Tutorial - Adding custom IP to an EDK Project - Part 1
Xilinx EDK Tutorial - Adding custom IP to an EDK Project - Part 2
Xilinx EDK Tutorial - Adding custom IP to an EDK Project - Part 34
Xilinx EDK Tutorial - Adding MPMC to an EDK Project - Part 14
Xilinx EDK Tutorial - Adding MPMC to an EDK Project - Part 2
Xilinx EDK Tutorial - Adding MPMC to an EDK Project - Part 3
Xilinx EDK Tutorial - Integrating EDK and ISE Projects
Xilinx EDK Tutorial - Using the Base System Builder Wizard - Part 1
Xilinx EDK Tutorial - Using the Base System Builder Wizard - Part 2


они имеются в "закормах Родины"
PS Просто для сведения...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 9 2011, 12:30
Сообщение #3


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Большое спасибо, однако все они неактуальны, все до единого!
Похоже изменилось слишком много, список самых критичных вопросов я в своем посте написал...

Цитата(Maverick @ Nov 9 2011, 13:36) *
они имеются в "закормах Родины"
PS Просто для сведения...


--------------------
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Nov 9 2011, 19:17
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(AVR @ Nov 9 2011, 02:01) *
1) Как в Linux запускать Xilinx SDK? Чтобы не приходилось делать export раз за разом, и сразу запускать Eclipse, есть в где то в гуях ссылка или можно из консоли? ise, impact, xps - это для platform studio, а как из консоли Linux запустить SDK? settings64.sh - вызываются, должно видеть весь софт.


XPS (Xilinx Platform Studio) состоит из EDK (Embedded Development KIT) и SDK (Softwere Development KIT).
Первый для создания железа, второй для софта. Если XPS нормально поставили, то SDK должен быть.

Цитата(AVR @ Nov 9 2011, 02:01) *
2) Как назначить созданной системе microblaze - ELF файл? Так и не смог отыскать способа сделать эту элементарную вещь.
Есть ELF, есть синтезированный microblaze, а сращивать как?


Это делается в SDK. В EDK должна быть вкладка Export to SDK (или как-то так) там на базе аппаратной части (созданной в EDK) вы создаете софт.
Пишите программу, компилите (в линковщике указываете или оперативную память или память на BRAM), и вот тогда получаете свой .elf файл.
Далее .elf надо слить с .bit файлом вашего проекта. И в XPS и в ISE есть соответствующие кнопки (Init BRAM).
Из консоли это можно сделать утилитой data2mem.
Документов как это делать куча на сайте ксайлинкса. Для всех версий примерно одно и тоже, вы просто плохо ищете.
наберите в поиске EDK tool and concepts.

Цитата(AVR @ Nov 9 2011, 02:01) *
3) Есть ли видеоруководство по свежим версиям XPS? Или PDF-туториал? Официальные - тоже устарели, или не там смотрел.

Не понятно как документы на последнюю версию ISE и XPS могут уже устареть.

Цитата(AVR @ Nov 9 2011, 02:01) *
4) Может ли быть что что-то не установлено - потому то я и не вижу каких-то вещей и потому проблемы?

Посмотрите на форуме xilinx в разделе Embedded Solutions или Design Tools, вы не первый у кого такие проблемы.


Удачи!


Go to the top of the page
 
+Quote Post
Andrey Pesoshin
сообщение Nov 10 2011, 08:51
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 5-07-10
Пользователь №: 58 297



AVR
1) Есть некоторая интеграция между XPS и EDK - состоит в экспорте файлов "железа" в EDK. То есть запускать EDK отдельно можно, только обновленные файлы железа, соответствующие системе, все равно придется экспортировать каждый раз через XPS. Я лично предпочитаю открыть XPS, нажать на Export to SDK, и уже быть уверенным, что system.bit, с которым работает SDK, у меня всегда актуальный.
2) Там где вы видите вкладку Elf files - можно через контекстное меню, вызываемое правой кнопкой мыши, назначить elf-файлы, которые загружаются в BRAM (для реализации и для симуляции). После этого нажимаете кнопку Init BRAMs (или Update Bitstream в 13.3) и вуаля - появляется файл implementation/download.bit - состоящий из аппаратной прошивки с BRAM'ами, заполненными программным кодом.
3) Мое мнение в том, что Xilinx считает многие моменты очевидными и не дает на все прямые руководства к действию sm.gif
4) Скорее всего все установлено
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 10 2011, 09:45
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Andrey Pesoshin @ Nov 10 2011, 12:51) *
2) Там где вы видите вкладку Elf files - можно через контекстное меню, вызываемое правой кнопкой мыши, назначить elf-файлы, которые загружаются в BRAM (для реализации и для симуляции). После этого нажимаете кнопку Init BRAMs (или Update Bitstream в 13.3) и вуаля - появляется файл implementation/download.bit - состоящий из аппаратной прошивки с BRAM'ами, заполненными программным кодом.


Контекстное меню - в том то и дело что вкладка Elf files - там есть - пустые строки sim и impl, контекстное меню не вызвать, именно в этом и состоит проблема. Но ведь я сделал ELF файл, лежит он.
Очень хотелось бы понять - а что же именно надо сделать чтобы он там назначился. Если контекстное меню не работает, значит по всей видимости, либо какой-то шаг не выполнен.

И еще вопрос - я когда создаю проект в SDK - там появляется целых три проекта - это нормально, все правильно? sm.gif
Возможно еще и в этом проблема есть - я компилирую не тот, активирую не тот и т.п.
Не для того вызвал generate linker script...

2 Mad_max, Andrey Pesoshin - спасибо за ответы!


--------------------
Go to the top of the page
 
+Quote Post
Andrey Pesoshin
сообщение Nov 10 2011, 11:52
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 5-07-10
Пользователь №: 58 297



AVR
Давайте я вам скриншоты покажу как elf выбирается у меня в XPS.

Контекстное меню может не работать, если Xilinx ISE криво установлен. Я когда на убунту запускал EDK - постоянно смотрел в консоль - он по многим шагам выдавал неадекватные ошибки, вроде вручную установить в скрипте запуска EDK локаль, пару глобальных переменных и т.д.

3 проекта - это экспортированный hw, BSP и сам application. Это нормально. Для тестирования Вы можете и из SDK код hw+sw в плату загружать - там есть кнопка Program FPGA, там выбираете какой sw код прописать в BRAMы. По умолчанию - это bootloop.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 10 2011, 12:26
Сообщение #8


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Andrey Pesoshin @ Nov 10 2011, 15:52) *
Контекстное меню может не работать, если Xilinx ISE криво установлен. Я когда на убунту запускал EDK - постоянно смотрел в консоль - он по многим шагам выдавал неадекватные ошибки, вроде вручную установить в скрипте запуска EDK локаль, пару глобальных переменных и т.д.

Спасибо!!! Скриншоты в тему.
Именно это контекстное меню я и имел ввиду, оно у меня не было доступно!

Локаль у меня так стоит: export LANG=C в .bashrc, как раз проблему словил из за локали еще в ISE, было дело sm.gif

Хорошо, я посмотрю обязательно вечером что там в консоль ругается и напишу сюда ответ и как я это исправил.

P.S.
Ух, а я уже на свои /dev/hands грешил, или что у меня отсутствует /dev/моск, а оно вот что оказывается smile3046.gif


--------------------
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 10 2011, 22:36
Сообщение #9


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



получается что Elf Files контекстное меню появляется только если создавать "систему" в XPS, а не через ISE, значит что-то не так делаю

вопрос: возможно ли создать полностью автономно отдельно систему на MicroBlaze, а потом только ее уже включить в свой проект из ISE и тупо прислюнявить остальную логику к нему, но уже потом, в ISE?


--------------------
Go to the top of the page
 
+Quote Post
gvest
сообщение Nov 11 2011, 04:43
Сообщение #10





Группа: Участник
Сообщений: 12
Регистрация: 18-04-09
Из: Сибирь
Пользователь №: 47 889



Цитата(AVR @ Nov 11 2011, 05:36) *
получается что Elf Files контекстное меню появляется только если создавать "систему" в XPS, а не через ISE, значит что-то не так делаю

вопрос: возможно ли создать полностью автономно отдельно систему на MicroBlaze, а потом только ее уже включить в свой проект из ISE и тупо прислюнявить остальную логику к нему, но уже потом, в ISE?

Может поможеь: в ISE - добавьте в проект elf-файл, именно через add source (или как там, точно не помню, вообщем так же как vhdl\verilog-файлы добавляете), он сам подставится (назначится) к микропроцессорной системе...Давно дело было, но именно таким методом я указывал в ISE - какой elf должен быть в итоговой прошивке...
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 11 2011, 08:17
Сообщение #11


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(gvest @ Nov 11 2011, 08:43) *
Может поможеь: в ISE - добавьте в проект elf-файл, именно через add source (или как там, точно не помню, вообщем так же как vhdl\verilog-файлы добавляете), он сам подставится (назначится) к микропроцессорной системе...Давно дело было, но именно таким методом я указывал в ISE - какой elf должен быть в итоговой прошивке...

Спасибо, вечером попробую, отпишусь.


--------------------
Go to the top of the page
 
+Quote Post
Andrey Pesoshin
сообщение Nov 12 2011, 10:21
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 5-07-10
Пользователь №: 58 297



Цитата(AVR @ Nov 11 2011, 02:36) *
вопрос: возможно ли создать полностью автономно отдельно систему на MicroBlaze, а потом только ее уже включить в свой проект из ISE и тупо прислюнявить остальную логику к нему, но уже потом, в ISE?

Возможно. При создании МПС в EDK - вы создаете элемент system верхнего уровня. Порты этого элемента мапите на ноги ПЛИС и на основе его создаете прошивку.
Этот же элемент можно использовать в другом ISE-проекте, в котором верхним уровнем будет другой модуль, написанный, например, на VHDL. В этом случае в EDK-проект добавляются некоторые настройки, которые диктуют Xilinx-инструментам синтезировать МПС уже под управлением ISE proj nav, а не XPS. (это ограничение можно снять в дальнейшем руками правкой xmp-файла).

Тут уже, на мой взгляд, больше вопрос проектировщика из разряда про "курицу и яйцо" и вопрос комфортности разработки. Инструментарий в ISE более развит - можно прямо из него вызвать timing analyzer, planahead и т.д., однако по части интеграции sw+hw в ISE-проекте верхнего уровня у меня возникали проблемы - не получалось без полной перегенерации прошивки обновить sw-часть системы.
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 12 2011, 20:59
Сообщение #13


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



ясн, спасибо
кстати совет добавить ELF в проект - помог на 100%

Цитата(Andrey Pesoshin @ Nov 12 2011, 14:21) *
Возможно. При создании МПС в EDK - вы создаете элемент system верхнего уровня. Порты этого элемента мапите на ноги ПЛИС и на основе его создаете прошивку.
Этот же элемент можно использовать в другом ISE-проекте, в котором верхним уровнем будет другой модуль, написанный, например, на VHDL. В этом случае в EDK-проект добавляются некоторые настройки, которые диктуют Xilinx-инструментам синтезировать МПС уже под управлением ISE proj nav, а не XPS. (это ограничение можно снять в дальнейшем руками правкой xmp-файла).

Тут уже, на мой взгляд, больше вопрос проектировщика из разряда про "курицу и яйцо" и вопрос комфортности разработки. Инструментарий в ISE более развит - можно прямо из него вызвать timing analyzer, planahead и т.д., однако по части интеграции sw+hw в ISE-проекте верхнего уровня у меня возникали проблемы - не получалось без полной перегенерации прошивки обновить sw-часть системы.


еще раз благодарю всех за участие в топике
уже сижу счастливый с собранным по моему вкусу MicroBlaze-ом, светодиод по программе мигает, в RS232 printf-ы валяется - сказка biggrin.gif

а всего то надо было добавить ELF файл в проект ISE (типа как .v .ucf и прочие файлы)...
странно конечно что так, но теперь буду знать rolleyes.gif


--------------------
Go to the top of the page
 
+Quote Post
xor.kruger
сообщение Jan 4 2012, 14:46
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 290
Регистрация: 17-08-08
Из: Чернигов
Пользователь №: 39 647



Можно еще "подсунуть" elf-файл bit'нику вручную. Делается это с помощью утилиты data2mem
Вот рабочий пример:
Код
data2mem –bm system_bd.bmm –bt download.bit –bd srec_bootloader_0.elf tag microblaze_0 –o b system_bram_initialised.bit
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Jan 28 2012, 11:46
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Цитата(Andrey Pesoshin @ Nov 12 2011, 14:21) *
Возможно. При создании МПС в EDK - вы создаете элемент system верхнего уровня. Порты этого элемента мапите на ноги ПЛИС и на основе его создаете прошивку.
Этот же элемент можно использовать в другом ISE-проекте, в котором верхним уровнем будет другой модуль, написанный, например, на VHDL. В этом случае в EDK-проект добавляются некоторые настройки, которые диктуют Xilinx-инструментам синтезировать МПС уже под управлением ISE proj nav, а не XPS. (это ограничение можно снять в дальнейшем руками правкой xmp-файла).

Тут уже, на мой взгляд, больше вопрос проектировщика из разряда про "курицу и яйцо" и вопрос комфортности разработки. Инструментарий в ISE более развит - можно прямо из него вызвать timing analyzer, planahead и т.д., однако по части интеграции sw+hw в ISE-проекте верхнего уровня у меня возникали проблемы - не получалось без полной перегенерации прошивки обновить sw-часть системы.


Что бы не плодиьт тем, спрошу здесь.

Если я создаю МПС непосредственно в EDK он в нем синтезируется как модуль верхнего уровня, в нетлисте которого пристутсвтуют на входах и выходах различные буферы типа IBUF, OBUF, IBUFG... При попытке использовать нетлист МПС в моем проекте в ISE, в котором присутствует дополнительная логика, синтезатор ругается что внешний сигнал (например тактовый) заходит не только на входной буфер IBUFG, но и куда-то еще, что врпинципе и логично.

Пытаюсь победить эту проблему, и заставить генерировать в EDK нетлист без буферов, но пока не получается. Может быть можно оптимизировать общий нетлист? Вообщем ищу решения.

PS: ISE 13.1

Прикрепленное изображение


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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