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

 
 
 
Reply to this topicStart new topic
> Помогите по MicroBlaze, Ни как не пойму ...
Apast
сообщение Mar 19 2007, 16:21
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 22-06-04
Из: Новосибирск
Пользователь №: 87



Может кто подскажет, есть ли возможность другим способом (не подмешиванием в выходной битовый файл) проинициализировать внутреннюю память программ для MicroBlaze. А то получается что можно использовать только EDK и ISE, они вроде бы друг друга понимают. Хотелось бы MicroBlaze вместе со сгенеренной переферией объявить как "черный ящик" например а проекте Active-HDL а свои модули добовлять в нем и синтезировать все это Synplify ну и дальше имплемент в ISE.
Симуляция проекта в Алдеке проходит на ура.
Синтез и имплемент тоже получился, а вот программы то в памяти нет. И все попытки связать, как у них описано, проекты EDK и ISE ни чего не дают.
Возможно я иду не по тому пути?
Go to the top of the page
 
+Quote Post
Azazella
сообщение Mar 19 2007, 16:35
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 58
Регистрация: 1-02-06
Из: Украина
Пользователь №: 13 850



Проинициализировать память можно при помощи generic в VHDL-файле.
Вот только если изменится программа надо будет пересобирать весть проект
Go to the top of the page
 
+Quote Post
Apast
сообщение Mar 19 2007, 17:00
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 22-06-04
Из: Новосибирск
Пользователь №: 87



Цитата(Azazella @ Mar 19 2007, 16:35) *
Проинициализировать память можно при помощи generic в VHDL-файле.
Вот только если изменится программа надо будет пересобирать весть проект


Только где взять эти файлы. Для симуляции есть, а для имплемента только NGC файлы.
Go to the top of the page
 
+Quote Post
Azazella
сообщение Mar 19 2007, 17:42
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 58
Регистрация: 1-02-06
Из: Украина
Пользователь №: 13 850



Обычно vhdl-ники с описанием памяти лежат в .../hdl/elaborate/
Go to the top of the page
 
+Quote Post
3.14
сообщение Mar 19 2007, 18:33
Сообщение #5


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



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


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Apast
сообщение Mar 19 2007, 20:18
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 22-06-04
Из: Новосибирск
Пользователь №: 87



Ну, хорошо, с этим более - менее понятно, хотя я посмотрю предложение Azazella.
Тогда поставлю вопрос по другому, как я могу и делал ли кто так, залить программу внешним процессом (процессором), например микроконтроллером с USB, не через JTAG и отладочный механизм, а просто через какую то паралельную шину не имея ни какой софтовой поддержки из нутри?
Go to the top of the page
 
+Quote Post
3.14
сообщение Mar 19 2007, 20:32
Сообщение #7


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



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


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


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Mar 19 2007, 22:59
Сообщение #8


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



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

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

К сожалению, сам я не успел разобраться и испробовать этот способ частичного переконфугурирования ПЛИС, но знаю точно, что это возможно.
Go to the top of the page
 
+Quote Post
3.14
сообщение Mar 19 2007, 23:23
Сообщение #9


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Обновлять софт через динамическую реконфигурацию ... smile.gif
И в итоге, обновится только BRAM, и через то же самый JTAG.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
oval
сообщение Mar 20 2007, 01:10
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 265
Регистрация: 15-03-05
Из: Москва
Пользователь №: 3 367



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

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

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

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

В процессе разводки ISE на основе оригинального .bmm файла создается еще один, в который добавляется информация о конкретном размещении блоков памяти. В дальнейшем, используя модифицированный ISE .bmm файл, .elf файл и специальную утилиту ISE (помоему data2bram, точно уже не помню), можно без переразводки получать бинарные файлы битстрима с проинициализированной содержимым .elf файла памятью.
Go to the top of the page
 
+Quote Post
Apast
сообщение Mar 20 2007, 11:41
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 22-06-04
Из: Новосибирск
Пользователь №: 87



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

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

 


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


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