Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите по MicroBlaze
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Apast
Может кто подскажет, есть ли возможность другим способом (не подмешиванием в выходной битовый файл) проинициализировать внутреннюю память программ для MicroBlaze. А то получается что можно использовать только EDK и ISE, они вроде бы друг друга понимают. Хотелось бы MicroBlaze вместе со сгенеренной переферией объявить как "черный ящик" например а проекте Active-HDL а свои модули добовлять в нем и синтезировать все это Synplify ну и дальше имплемент в ISE.
Симуляция проекта в Алдеке проходит на ура.
Синтез и имплемент тоже получился, а вот программы то в памяти нет. И все попытки связать, как у них описано, проекты EDK и ISE ни чего не дают.
Возможно я иду не по тому пути?
Azazella
Проинициализировать память можно при помощи generic в VHDL-файле.
Вот только если изменится программа надо будет пересобирать весть проект
Apast
Цитата(Azazella @ Mar 19 2007, 16:35) *
Проинициализировать память можно при помощи generic в VHDL-файле.
Вот только если изменится программа надо будет пересобирать весть проект


Только где взять эти файлы. Для симуляции есть, а для имплемента только NGC файлы.
Azazella
Обычно vhdl-ники с описанием памяти лежат в .../hdl/elaborate/
3.14
Не тратье время, пока зайлинк сам не скажет что для синтеза его корок можно другие синтезаторы использовать (ИМХО я сомневаюсь что это когда-то случится) ...
Если уж так хочется синтезить свои корки в synplify, тогда вставляйте их черным ящиком в XST-шной обложке.
Apast
Ну, хорошо, с этим более - менее понятно, хотя я посмотрю предложение Azazella.
Тогда поставлю вопрос по другому, как я могу и делал ли кто так, залить программу внешним процессом (процессором), например микроконтроллером с USB, не через JTAG и отладочный механизм, а просто через какую то паралельную шину не имея ни какой софтовой поддержки из нутри?
3.14
Готового решения я не знаю, на ум пришеел вариант: создаете свою корку которая может быть мастером на OPB шине и льете напрямую в память по какой душе угодно шине. Ну или возможны варианты без еще одного мастера на шине но работа корки по прерываниям, правда без маленькой софтовой поддержки не обойтись.
Собственно, чем не устраивает заливать через JTAG?


ЗЫ хотя в памяти мелькают обрывки ... вроде дебужную корку можно через UART заставить работать
Boris_TS
Цитата(Apast @ Mar 19 2007, 16:21) *
Может кто подскажет, есть ли возможность другим способом (не подмешиванием в выходной битовый файл) проинициализировать внутреннюю память программ для MicroBlaze

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

К сожалению, сам я не успел разобраться и испробовать этот способ частичного переконфугурирования ПЛИС, но знаю точно, что это возможно.
3.14
Обновлять софт через динамическую реконфигурацию ... smile.gif
И в итоге, обновится только BRAM, и через то же самый JTAG.
oval
Было дело, поступали следующим образом (могу ошибаться в деталях, так как было это относительно давно):

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

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

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

В процессе разводки ISE на основе оригинального .bmm файла создается еще один, в который добавляется информация о конкретном размещении блоков памяти. В дальнейшем, используя модифицированный ISE .bmm файл, .elf файл и специальную утилиту ISE (помоему data2bram, точно уже не помню), можно без переразводки получать бинарные файлы битстрима с проинициализированной содержимым .elf файла памятью.
Apast
Всем ответившим, спасибо.
Не удивляйтесь моим вопросам, я давно уже не пользую JTAG, в основном загружаю микроконтроллером. Многие устройства с USB так там вообще грузиться из РС. Так проще потом с изменениями (файлик новый положил в директорию программы и все), да и часто бывает что плата одна а приборы на ее основе разные. Тут последнее время заинтересовался MicroBlaze и хотел что бы было примерно так же, т.е. грузиш по USB разные программы в память и запускаеш их.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.