|
Microblaze - создание и назначение ELF-файла, Xilinx ISE 13.2 - System Edition |
|
|
|
Nov 8 2011, 23:01
|

фанат 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 Цитата(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
--------------------
|
|
|
|
|
Nov 9 2011, 09:36
|

я только учусь...
     
Группа: Модераторы
Сообщений: 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.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Nov 9 2011, 19:17
|
Местный
  
Группа: Свой
Сообщений: 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, вы не первый у кого такие проблемы. Удачи!
|
|
|
|
|
Nov 10 2011, 08:51
|
Участник

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

|
AVR1) Есть некоторая интеграция между 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 считает многие моменты очевидными и не дает на все прямые руководства к действию  4) Скорее всего все установлено
|
|
|
|
|
Nov 10 2011, 09:45
|

фанат 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 - там появляется целых три проекта - это нормально, все правильно?  Возможно еще и в этом проблема есть - я компилирую не тот, активирую не тот и т.п. Не для того вызвал generate linker script... 2 Mad_max, Andrey Pesoshin - спасибо за ответы!
--------------------
|
|
|
|
|
Nov 10 2011, 11:52
|
Участник

Группа: Участник
Сообщений: 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.
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 10 2011, 12:26
|

фанат 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, было дело  Хорошо, я посмотрю обязательно вечером что там в консоль ругается и напишу сюда ответ и как я это исправил. P.S. Ух, а я уже на свои /dev/hands грешил, или что у меня отсутствует /dev/моск, а оно вот что оказывается
--------------------
|
|
|
|
|
Nov 11 2011, 04:43
|
Группа: Участник
Сообщений: 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 должен быть в итоговой прошивке...
|
|
|
|
|
Nov 12 2011, 10:21
|
Участник

Группа: Участник
Сообщений: 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-часть системы.
|
|
|
|
|
Nov 12 2011, 20:59
|

фанат 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-ы валяется - сказка а всего то надо было добавить ELF файл в проект ISE (типа как .v .ucf и прочие файлы)... странно конечно что так, но теперь буду знать
--------------------
|
|
|
|
|
Jan 4 2012, 14:46
|

Местный
  
Группа: Свой
Сообщений: 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
|
|
|
|
|
Jan 28 2012, 11:46
|

Знающий
   
Группа: Свой
Сообщений: 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
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|