|
Я вставлял MicroBlaze в ISE проект., И не работает.Что не так? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 18)
|
Apr 27 2007, 21:54
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
Цитата(icyrock @ Apr 27 2007, 07:03)  Для отладочной платы ML402 сгенрировал в EDK простенький проект: только мигает лампочками и шлет отчеты по UART. Полностью развел не выходя из среды Platform Studio. Результат - все работает(лампочки мигают).
А потом попробовал создать точной такой же проект из среды ISE и встроить его. Ничего не вышло, глухо. В ISE, просто соединил выходы из MicroBlaze`а c выходами топового файла. UCF-файл скопировал. Все развелось, место на кристалле заняло, а не работает (лампочки не моргают).
Кто нибудь что-нибудь похожее видел? Вы пробовали делать behavioral simulation через ModelSim? Посмотрите на ISE/EDK 8.1 Tutorial стр. 29, соберите testbench, и посмотрите что будет.
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
Sep 2 2010, 12:28
|
Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811

|
Цитата(Alexandr @ Sep 2 2010, 14:24)  Оказывается есть тема с нужным названием Только только приступил к изучению Microblaze. Сделал проект как у автора топика - светодиодиками мигает. Когда гружу ПЛИС файликом download.bit через IMPACT - все работает. Теперь нужно чтобы процессор стал одним из компонентов уже созданного в ISE проекта. Расскажите как правильно это сделать! Как делал я. Для проверки создал новый ISE проект. Туда добавил корневой vhdl файл процесора (у меня он по умолчанию system.vhd называется). Затем добавил ngc файлы всех блоков из которых состоит процессор. Создал ucf файл и подключил выводы проца к выводам ПЛИС через буферы. Откомпилировал. Зашил в ПЛИС - не работает. Где ошибка? Ну модератору надо ответить  А так можно было бы послать пользоваться поиском. Если аппаратно вы сделали все правильно, я имею ввиду подтянули ngc части к hdl сорцам, то скорее всего проблема в то, что Ваша программа просто не запускается. Я так понимаю программка у Вас не большая и вы хотите ее разместить в БРАМ плис. Если так, то после того как Вы развели Ваш проект и получили top_level.bit, Вам необходимо записать в блочную память Вашу программу. Когда проект содержит только процессорную часть, делается в XPS, то все как у обезьян, кнопку нажал и вот тебе операция top_level.bit + executable.elf = download.bit. Вам же надо будет все сделать ручками. Для этого есть утилита data2mem, про которую все написано в UG642. Утилите на вход даете top_level.bit, executable.elf, system_bd.bmm на выходе получаете файл вашей прошивки с брам в которых содержится Ваша программа (аля download.bit, имя сами задаете). После ресета процессор обращается в брам и начинает, соответственно, выполнять инструкции. Для более тяжеловесных программ, в брам помещают загрузчик (bootloader), который вытягивает из флеэшки штатную программу и переписывает в оперативную память. Обращаю Ваше внимание на файл system_bd.bmm, в этом файле описывается физическое расположение элементов брам на кристалле. Проследите, чтобы ISE расположил все ячейки брам согласно этому файлу.
|
|
|
|
|
Sep 3 2010, 08:59
|
Участник

Группа: Свой
Сообщений: 56
Регистрация: 17-11-08
Из: Москва
Пользователь №: 41 710

|
А с другой стороны пойти не проще? В ISE, в New Source выбрать Embedded Processor, запустится XPS, мастером собираем процессор, потом добавляем нужные модули, если не хватает их в мастере. В ISE подцепляем процессор, компилируем. Пишем тестовую программу в XPS, компилируем, правой кнопкой щелкаем по нашему проекту софта, выбираем Make to Initialize BRAMs и в Device Configuration выбираем Update bitstream. Объединенный с софтом bit файл сформируется.
|
|
|
|
|
Mar 4 2011, 10:13
|
Группа: Новичок
Сообщений: 2
Регистрация: 15-10-10
Из: Санкт-Петербург
Пользователь №: 60 178

|
Создал проект в EDK с процессором Microblaze. В этом проекте присутствуют External Ports (RESET, CLK + еще несколько других). Добавил этот проект (*.xmp) в качестве модуля в проект ISE. 1. Обязательно ли все эти ExternalPorts должны быть выведены наружу ПЛИС (top модуля проекта ISE)? 2. Можно ли ExternalPorts модуля Microblaze использовать внутри ПЛИС для соединения со своими модулями в проекте ISE?
|
|
|
|
|
Mar 4 2011, 15:03
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Цитата(POMbI4 @ Mar 4 2011, 13:13)  Создал проект в EDK с процессором Microblaze. В этом проекте присутствуют External Ports (RESET, CLK + еще несколько других). Добавил этот проект (*.xmp) в качестве модуля в проект ISE. 1. Обязательно ли все эти ExternalPorts должны быть выведены наружу ПЛИС (top модуля проекта ISE)? 2. Можно ли ExternalPorts модуля Microblaze использовать внутри ПЛИС для соединения со своими модулями в проекте ISE? Посмотрите соседние топики для размышления. Например, чтение и запись, о процессорах. Не стесняйтесь пользоваться поиском. Удачи.
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
Aug 10 2011, 23:35
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-08-11
Пользователь №: 66 659

|
"Для более тяжеловесных программ, в брам помещают загрузчик (bootloader), который вытягивает из флеэшки штатную программу и переписывает в оперативную память." - так как это сделать всетаки?
|
|
|
|
|
Aug 11 2011, 06:55
|
Местный
  
Группа: Участник
Сообщений: 295
Регистрация: 2-12-05
Пользователь №: 11 695

|
Цитата(slkhome @ Aug 11 2011, 03:35)  "Для более тяжеловесных программ, в брам помещают загрузчик (bootloader), который вытягивает из флеэшки штатную программу и переписывает в оперативную память." - так как это сделать всетаки? Прочитать xapp482
|
|
|
|
|
Aug 19 2011, 10:47
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-08-11
Пользователь №: 66 659

|
Цитата(Alex77 @ Aug 11 2011, 10:55)  Прочитать xapp482 Ну прочитал, а попутно еще узнал что это можно делать, как бы, в iMpact е, хотя на самом деле почему-то не делает. Согласно xapp482 надое еще xapp482.exe! гдеж его взять? На официальном сайте не нашел, просто так тоже не валяется.
|
|
|
|
|
Aug 19 2011, 11:38
|
Местный
  
Группа: Участник
Сообщений: 295
Регистрация: 2-12-05
Пользователь №: 11 695

|
Цитата(slkhome @ Aug 19 2011, 14:47)  Ну прочитал, а попутно еще узнал что это можно делать, как бы, в iMpact е, хотя на самом деле почему-то не делает. Согласно xapp482 надое еще xapp482.exe! гдеж его взять? На официальном сайте не нашел, просто так тоже не валяется. Рядом с pdf есть xapp482.zip http://www.xilinx.com/support/documentatio...gn_configur.htm
|
|
|
|
|
Aug 19 2011, 13:59
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-08-11
Пользователь №: 66 659

|
Цитата(Alex77 @ Aug 19 2011, 15:38)  Благодарствую, чет тупанул ))
|
|
|
|
|
Aug 24 2011, 11:28
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-08-11
Пользователь №: 66 659

|
Всем огромное спасиба! Все заработало. Скачал, все получилось, только в конце концов нашел еще другой вариант. Можно Все это сделать и в иМпакте, но надо подкидывать ему не .elf файл, а например .srec, который можно сделать с помощью data2mem. Если иМпакту подкидывать .srec то он не вылетате и спокойно его добавляет к .bit и генерит .mcs файл. В этом случае можно спокойно использовать стандартный бутлоадер с небольшими поправками. А для пущей простоты исходники можно скачать на Авнете для платки ЛиКс9.
|
|
|
|
|
May 15 2012, 12:21
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 19-05-11
Пользователь №: 65 130

|
Коллеги, прошу помощи. Создал несколько проектов в XPS, а небольшие модули из ISE цеплял как периферию. И хорошо все работало. А теперь встала необходимость сделать ISE проект головным, а в него уже добавить проц. Есть готовый проект в ISE. Создаю новый компонент Embedded Processor. Запускается XPS. Как обычно собираю процессор. Запускаю Generate Netlist. И он вываливается мне с ошибкой: "Error: NgdBuild:25 - Cannot both read and write file. Далее путь к Ngc файлу проца в папке implementation. Please specify a file other than the destanation NGD file as the top level input design file." Ну думаю ладно - ISE сам наверно скомпилит проц. Запускаю Export Hardware Design to SDK. Создаю пустой c++ проект. И в процессе формирования своих рабочих папок и файлов выдаются сообщения вида: unable to rename '../../../lib/libxil.a' reason: Device or resource busy. И действительно файл libxil.a НЕ создается, а без него в процессе компиляции проекта выдаются ошибки на все функции описанные в стандартных библиотеках, хоть все эти библиотеки и подключены. Прям засада какая-то. Что я не правильно делаю? Что упустил?
|
|
|
|
|
May 16 2012, 05:48
|
Местный
  
Группа: Участник
Сообщений: 295
Регистрация: 2-12-05
Пользователь №: 11 695

|
Цитата(TABKP @ May 15 2012, 16:21)  Коллеги, прошу помощи. Создал несколько проектов в XPS, а небольшие модули из ISE цеплял как периферию. И хорошо все работало. А теперь встала необходимость сделать ISE проект головным, а в него уже добавить проц. Есть готовый проект в ISE. Создаю новый компонент Embedded Processor. Запускается XPS. Как обычно собираю процессор. Запускаю Generate Netlist. И он вываливается мне с ошибкой: "Error: NgdBuild:25 - Cannot both read and write file. Далее путь к Ngc файлу проца в папке implementation. Please specify a file other than the destanation NGD file as the top level input design file." Ну думаю ладно - ISE сам наверно скомпилит проц. Запускаю Export Hardware Design to SDK. Создаю пустой c++ проект. И в процессе формирования своих рабочих папок и файлов выдаются сообщения вида: unable to rename '../../../lib/libxil.a' reason: Device or resource busy. И действительно файл libxil.a НЕ создается, а без него в процессе компиляции проекта выдаются ошибки на все функции описанные в стандартных библиотеках, хоть все эти библиотеки и подключены. Прям засада какая-то. Что я не правильно делаю? Что упустил? НАчать с простого: 1)Создать проект в ISE на базе плисы, которая стоит в демо плате (любая). Добавить компонент Embedded Processor. С помощью визарда создать "процессор" (для выбранной демо платы) Создать топ модуль в ise из "компонент Embedded Processor". Собрать проект в ise. Потом делать Export Hardware Design to SDK итд. 2) Взять готовый пример для демо платы. И только потом тренироваться добавлять "свои" "небольшие модули из ISE" в ISE или EDK.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|