Перейти к содержанию
    

Помогите по MicroBlaze

Может кто подскажет, есть ли возможность другим способом (не подмешиванием в выходной битовый файл) проинициализировать внутреннюю память программ для MicroBlaze. А то получается что можно использовать только EDK и ISE, они вроде бы друг друга понимают. Хотелось бы MicroBlaze вместе со сгенеренной переферией объявить как "черный ящик" например а проекте Active-HDL а свои модули добовлять в нем и синтезировать все это Synplify ну и дальше имплемент в ISE.

Симуляция проекта в Алдеке проходит на ура.

Синтез и имплемент тоже получился, а вот программы то в памяти нет. И все попытки связать, как у них описано, проекты EDK и ISE ни чего не дают.

Возможно я иду не по тому пути?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проинициализировать память можно при помощи generic в VHDL-файле.

Вот только если изменится программа надо будет пересобирать весть проект

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проинициализировать память можно при помощи generic в VHDL-файле.

Вот только если изменится программа надо будет пересобирать весть проект

 

Только где взять эти файлы. Для симуляции есть, а для имплемента только NGC файлы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не тратье время, пока зайлинк сам не скажет что для синтеза его корок можно другие синтезаторы использовать (ИМХО я сомневаюсь что это когда-то случится) ...

Если уж так хочется синтезить свои корки в synplify, тогда вставляйте их черным ящиком в XST-шной обложке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, хорошо, с этим более - менее понятно, хотя я посмотрю предложение Azazella.

Тогда поставлю вопрос по другому, как я могу и делал ли кто так, залить программу внешним процессом (процессором), например микроконтроллером с USB, не через JTAG и отладочный механизм, а просто через какую то паралельную шину не имея ни какой софтовой поддержки из нутри?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Готового решения я не знаю, на ум пришеел вариант: создаете свою корку которая может быть мастером на OPB шине и льете напрямую в память по какой душе угодно шине. Ну или возможны варианты без еще одного мастера на шине но работа корки по прерываниям, правда без маленькой софтовой поддержки не обойтись.

Собственно, чем не устраивает заливать через JTAG?

 

 

ЗЫ хотя в памяти мелькают обрывки ... вроде дебужную корку можно через UART заставить работать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кто подскажет, есть ли возможность другим способом (не подмешиванием в выходной битовый файл) проинициализировать внутреннюю память программ для MicroBlaze

Есть несколько извращенный путь решения этой задачи: если ознакомиться с описанием конфигурационного файла для Вашей ПЛИС, то можно попробовать создать СВОЙ файл частично перепрограммирующий ПЛИС (точнее отдельные блоки ОЗУ) загружая в них интересующий Вас код.

 

К сожалению, сам я не успел разобраться и испробовать этот способ частичного переконфугурирования ПЛИС, но знаю точно, что это возможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обновлять софт через динамическую реконфигурацию ... :)

И в итоге, обновится только BRAM, и через то же самый JTAG.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Было дело, поступали следующим образом (могу ошибаться в деталях, так как было это относительно давно):

 

- после компиляции программы имеем бинарный файл исполняемого кода в формате elf;

- создаем текстовый .bmm файл описания формата памяти, в которой должна размещаться программа;

 

Проект может быть создан с использованием любого подходящего средства синтеза.

 

- добавляем .elf файл и .bmm в проект ISE;

- после процессов размещения и разводки в ISE, имеем битовый файл с проинициализированной памятью.

 

В процессе разводки ISE на основе оригинального .bmm файла создается еще один, в который добавляется информация о конкретном размещении блоков памяти. В дальнейшем, используя модифицированный ISE .bmm файл, .elf файл и специальную утилиту ISE (помоему data2bram, точно уже не помню), можно без переразводки получать бинарные файлы битстрима с проинициализированной содержимым .elf файла памятью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем ответившим, спасибо.

Не удивляйтесь моим вопросам, я давно уже не пользую JTAG, в основном загружаю микроконтроллером. Многие устройства с USB так там вообще грузиться из РС. Так проще потом с изменениями (файлик новый положил в директорию программы и все), да и часто бывает что плата одна а приборы на ее основе разные. Тут последнее время заинтересовался MicroBlaze и хотел что бы было примерно так же, т.е. грузиш по USB разные программы в память и запускаеш их.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...