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

в Xilinx ISE 12.4 программирую microblaze в Xilinx SDK на плате SP601.

1. Хочется разместить массив в имеющейся на плате DDR2 по конкретному адресу, как в этом компиляторе это можно сделать? с указателем на адрес не получается...

 

2. Какие возможности существуют у SDK для сохранения большого объема выходных данных в файл и загрузки большого объема входных данных?

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


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

1. Хочется разместить массив в имеющейся на плате DDR2 по конкретному адресу, как в этом компиляторе это можно сделать? с указателем на адрес не получается...

А в elf-файле инструкции данного размещения смотрели? Там адекватно?

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


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

ваши проблемы точно на программном уровне, а не на аппаратном? в .ucf-файле память подключена? ее контроллер в edk/ise?

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


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

Топикстартер скорее всего в визарде создавал проект. Вряд ли там есть ошибки. Хотя иногда случаются. Скорее всего, если нет явной ошибки в коде, баги в идиотском эклипс+гнугцц.

Изменено пользователем Homo Sapiens

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


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

да аппаратных проблем нет, проблемы с знакомством с SDK, в платформе в EDK память подключена

 

я напрямую задую сейчас адрес памяти куда хочу поместить свой 1М массив, и он туда даже кладется, но и код программы по умолчанию кладется тоже в DDR2, при простом небольшом коде конечно я вижу что перекрытий областей памяти нет, но кто его знает как пойдет, может что-нибудь потом загадит мои данные или наоборот. Задала массивы как глобальные, но при отладке пошаговой фиг ты что увидишь, адрес массива не посмотреть, eclipse тормозит, говорит мол мало времени ему...попробовала тогда напечатать адрес массивов, но вывел только printf для одного массива(и действительно, компилятор кладет в DDR2 как мне того и хотелось), а вот что со вторым printf'ом не понятно. Вообще я смотрю что больше одного printf'а мне никак ни напечатать, это правда такой глюк есть? и что делать?

Изменено пользователем radistka

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


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

удивительно, но я в workspace своего проекта не нахожу вообще map фыайла, он не создается разве автоматически при дебаге?

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


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

Вообще-то, должен. Вы не в workspace ищите, а просто - Total Commander или проводником.

 

SDK - это нагромождение нелепостей и глюков. Сочувствую.

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


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

в ЕДК в System Assembly View есть сверху вкладка "addresses". Там можно сгенерировать адреса для различных сущностей. можно задать размеры блоков, а потом просто нажать кнопку "generate addresses"(справа в той же строке, что и само название вкладки)

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


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

так...ну с адресами как-то все зажило и вполне работоспособно,

теперь такое дело - на основе файла, сконфигурированного в platform в SDK написана программка, затем этот software прицеплен опять же в platform к своей платформе и потом вот этот платформенный файл добавляю в ISE в проект. При компиляции рассчитываю получить *.bit, работающий в соответствие с кодом, написанным на С в SDK, но зашивая этот bit в консоле не выводятся сообщения, содержащиеся в программе, то есть проект сгенерирован неверно??. Что-то сделано не так? И как грамотно тогда добавить проект из SDK в ISE?

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


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

При компиляции рассчитываю получить *.bit, работающий в соответствие с кодом, написанным на С в SDK, но зашивая этот bit в консоле не выводятся сообщения, содержащиеся в программе, то есть проект сгенерирован неверно??. Что-то сделано не так? И как грамотно тогда добавить проект из SDK в ISE?

Генериться несколько bit файлов, Вам нужен тот, который download. В другом нет (пустое место) прошивки контроллера. Если запускаете из SDK, то надо указать файл прошивки для FPGA и edkBmmFile_bd.bmm. Далее грузить программу в память. Если хочется залить во флэш, то необходимо генерировать прошивку с поддержкой микропроцессорного ядра.

Эти моменты уже обсуждались, попробуйте воспользоваться поиском.

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


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

Генериться несколько bit файлов, Вам нужен тот, который download. В другом нет (пустое место) прошивки контроллера. Если запускаете из SDK, то надо указать файл прошивки для FPGA и edkBmmFile_bd.bmm. Далее грузить программу в память. Если хочется залить во флэш, то необходимо генерировать прошивку с поддержкой микропроцессорного ядра.

Эти моменты уже обсуждались, попробуйте воспользоваться поиском.

Вам, Катерина, наверняка удобней воспользоваться методом описанным тут(прошивка из SDK). а если все же хочется разобраться, как это сделать из ISE.

В проекте под кнопками Sythesis, Implement, Generate Bitstream... чуть ниже есть Update bistream with processor data. При это в основную прошивку, сгенерированную ISE будет добавлен и программный код. Выбрать какую программу залить нужно в EDK. Вкладка "Applications". Выбираете/добавляете нужное приложение, тыкаетесь правой и выбираете "Initialyze Block RAM". как-то так... В 13й ISE, кстати, уже не так=) Вкладки Applications в EDK больше нет;-)

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


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

mdmitry, как это делается из SDK это понятно, вопрос именно с ISE, потому что хочется для конкретного проекта сделать анализ в ISE (например, потребление посмотреть) и чтобы быть уверенным что все прицепилось и заработало нужно зашить сгенерированный в ISE битстрим и увидеть что все в порядке, но генерится этот битстрим с кучей предупреждений а потом еще и сообщения не печатаются из программы...вот и есть подозрения что где-то я не права

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


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

mdmitry, а не подскажите ли Вы про XMD Console что находится в SDK - нужно загрузить данные в DDR2 из файла. Это можно сделать командой dow -data cat.bin 0x4800ffff , но постоянно выдается сообщение 'ERROR: Cannot OPEN File' . Что проверить? и где должен располагаться загружаемый файл cat.bin? Для выполнения команды достаточно самой команды или требуются еще какие-то доп манипуляции? пока что кладу загружаемый файл в директорию проекта и даже подсоединила к проекту, но это не помогает..

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


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

 

Вопрос снимается, оказывается загружаемый файл должен размещаться в катологе EDK внутри установленного Xilinx

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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