Apast 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Может кто подскажет, есть ли возможность другим способом (не подмешиванием в выходной битовый файл) проинициализировать внутреннюю память программ для MicroBlaze. А то получается что можно использовать только EDK и ISE, они вроде бы друг друга понимают. Хотелось бы MicroBlaze вместе со сгенеренной переферией объявить как "черный ящик" например а проекте Active-HDL а свои модули добовлять в нем и синтезировать все это Synplify ну и дальше имплемент в ISE. Симуляция проекта в Алдеке проходит на ура. Синтез и имплемент тоже получился, а вот программы то в памяти нет. И все попытки связать, как у них описано, проекты EDK и ISE ни чего не дают. Возможно я иду не по тому пути? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
izozella 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Проинициализировать память можно при помощи generic в VHDL-файле. Вот только если изменится программа надо будет пересобирать весть проект Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Apast 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Проинициализировать память можно при помощи generic в VHDL-файле. Вот только если изменится программа надо будет пересобирать весть проект Только где взять эти файлы. Для симуляции есть, а для имплемента только NGC файлы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
izozella 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Обычно vhdl-ники с описанием памяти лежат в .../hdl/elaborate/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Не тратье время, пока зайлинк сам не скажет что для синтеза его корок можно другие синтезаторы использовать (ИМХО я сомневаюсь что это когда-то случится) ... Если уж так хочется синтезить свои корки в synplify, тогда вставляйте их черным ящиком в XST-шной обложке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Apast 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Ну, хорошо, с этим более - менее понятно, хотя я посмотрю предложение Azazella. Тогда поставлю вопрос по другому, как я могу и делал ли кто так, залить программу внешним процессом (процессором), например микроконтроллером с USB, не через JTAG и отладочный механизм, а просто через какую то паралельную шину не имея ни какой софтовой поддержки из нутри? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Готового решения я не знаю, на ум пришеел вариант: создаете свою корку которая может быть мастером на OPB шине и льете напрямую в память по какой душе угодно шине. Ну или возможны варианты без еще одного мастера на шине но работа корки по прерываниям, правда без маленькой софтовой поддержки не обойтись. Собственно, чем не устраивает заливать через JTAG? ЗЫ хотя в памяти мелькают обрывки ... вроде дебужную корку можно через UART заставить работать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Может кто подскажет, есть ли возможность другим способом (не подмешиванием в выходной битовый файл) проинициализировать внутреннюю память программ для MicroBlaze Есть несколько извращенный путь решения этой задачи: если ознакомиться с описанием конфигурационного файла для Вашей ПЛИС, то можно попробовать создать СВОЙ файл частично перепрограммирующий ПЛИС (точнее отдельные блоки ОЗУ) загружая в них интересующий Вас код. К сожалению, сам я не успел разобраться и испробовать этот способ частичного переконфугурирования ПЛИС, но знаю точно, что это возможно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Обновлять софт через динамическую реконфигурацию ... :) И в итоге, обновится только BRAM, и через то же самый JTAG. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oval 0 20 марта, 2007 Опубликовано 20 марта, 2007 · Жалоба Было дело, поступали следующим образом (могу ошибаться в деталях, так как было это относительно давно): - после компиляции программы имеем бинарный файл исполняемого кода в формате elf; - создаем текстовый .bmm файл описания формата памяти, в которой должна размещаться программа; Проект может быть создан с использованием любого подходящего средства синтеза. - добавляем .elf файл и .bmm в проект ISE; - после процессов размещения и разводки в ISE, имеем битовый файл с проинициализированной памятью. В процессе разводки ISE на основе оригинального .bmm файла создается еще один, в который добавляется информация о конкретном размещении блоков памяти. В дальнейшем, используя модифицированный ISE .bmm файл, .elf файл и специальную утилиту ISE (помоему data2bram, точно уже не помню), можно без переразводки получать бинарные файлы битстрима с проинициализированной содержимым .elf файла памятью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Apast 0 20 марта, 2007 Опубликовано 20 марта, 2007 · Жалоба Всем ответившим, спасибо. Не удивляйтесь моим вопросам, я давно уже не пользую JTAG, в основном загружаю микроконтроллером. Многие устройства с USB так там вообще грузиться из РС. Так проще потом с изменениями (файлик новый положил в директорию программы и все), да и часто бывает что плата одна а приборы на ее основе разные. Тут последнее время заинтересовался MicroBlaze и хотел что бы было примерно так же, т.е. грузиш по USB разные программы в память и запускаеш их. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться