radistka 0 20 апреля, 2011 Опубликовано 20 апреля, 2011 · Жалоба в Xilinx ISE 12.4 программирую microblaze в Xilinx SDK на плате SP601. 1. Хочется разместить массив в имеющейся на плате DDR2 по конкретному адресу, как в этом компиляторе это можно сделать? с указателем на адрес не получается... 2. Какие возможности существуют у SDK для сохранения большого объема выходных данных в файл и загрузки большого объема входных данных? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
homounsapiens 0 20 апреля, 2011 Опубликовано 20 апреля, 2011 · Жалоба 1. Хочется разместить массив в имеющейся на плате DDR2 по конкретному адресу, как в этом компиляторе это можно сделать? с указателем на адрес не получается... А в elf-файле инструкции данного размещения смотрели? Там адекватно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivanpa 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба ваши проблемы точно на программном уровне, а не на аппаратном? в .ucf-файле память подключена? ее контроллер в edk/ise? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
homounsapiens 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 (изменено) · Жалоба Топикстартер скорее всего в визарде создавал проект. Вряд ли там есть ошибки. Хотя иногда случаются. Скорее всего, если нет явной ошибки в коде, баги в идиотском эклипс+гнугцц. Изменено 21 апреля, 2011 пользователем Homo Sapiens Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
radistka 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 (изменено) · Жалоба да аппаратных проблем нет, проблемы с знакомством с SDK, в платформе в EDK память подключена я напрямую задую сейчас адрес памяти куда хочу поместить свой 1М массив, и он туда даже кладется, но и код программы по умолчанию кладется тоже в DDR2, при простом небольшом коде конечно я вижу что перекрытий областей памяти нет, но кто его знает как пойдет, может что-нибудь потом загадит мои данные или наоборот. Задала массивы как глобальные, но при отладке пошаговой фиг ты что увидишь, адрес массива не посмотреть, eclipse тормозит, говорит мол мало времени ему...попробовала тогда напечатать адрес массивов, но вывел только printf для одного массива(и действительно, компилятор кладет в DDR2 как мне того и хотелось), а вот что со вторым printf'ом не понятно. Вообще я смотрю что больше одного printf'а мне никак ни напечатать, это правда такой глюк есть? и что делать? Изменено 21 апреля, 2011 пользователем radistka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
homounsapiens 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба адрес массива не посмотреть .map файл что дает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
radistka 0 22 апреля, 2011 Опубликовано 22 апреля, 2011 · Жалоба удивительно, но я в workspace своего проекта не нахожу вообще map фыайла, он не создается разве автоматически при дебаге? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
homounsapiens 0 22 апреля, 2011 Опубликовано 22 апреля, 2011 · Жалоба Вообще-то, должен. Вы не в workspace ищите, а просто - Total Commander или проводником. SDK - это нагромождение нелепостей и глюков. Сочувствую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivanpa 0 25 апреля, 2011 Опубликовано 25 апреля, 2011 · Жалоба в ЕДК в System Assembly View есть сверху вкладка "addresses". Там можно сгенерировать адреса для различных сущностей. можно задать размеры блоков, а потом просто нажать кнопку "generate addresses"(справа в той же строке, что и само название вкладки) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
radistka 0 26 апреля, 2011 Опубликовано 26 апреля, 2011 · Жалоба так...ну с адресами как-то все зажило и вполне работоспособно, теперь такое дело - на основе файла, сконфигурированного в platform в SDK написана программка, затем этот software прицеплен опять же в platform к своей платформе и потом вот этот платформенный файл добавляю в ISE в проект. При компиляции рассчитываю получить *.bit, работающий в соответствие с кодом, написанным на С в SDK, но зашивая этот bit в консоле не выводятся сообщения, содержащиеся в программе, то есть проект сгенерирован неверно??. Что-то сделано не так? И как грамотно тогда добавить проект из SDK в ISE? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 26 апреля, 2011 Опубликовано 26 апреля, 2011 · Жалоба При компиляции рассчитываю получить *.bit, работающий в соответствие с кодом, написанным на С в SDK, но зашивая этот bit в консоле не выводятся сообщения, содержащиеся в программе, то есть проект сгенерирован неверно??. Что-то сделано не так? И как грамотно тогда добавить проект из SDK в ISE? Генериться несколько bit файлов, Вам нужен тот, который download. В другом нет (пустое место) прошивки контроллера. Если запускаете из SDK, то надо указать файл прошивки для FPGA и edkBmmFile_bd.bmm. Далее грузить программу в память. Если хочется залить во флэш, то необходимо генерировать прошивку с поддержкой микропроцессорного ядра. Эти моменты уже обсуждались, попробуйте воспользоваться поиском. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivanpa 0 26 апреля, 2011 Опубликовано 26 апреля, 2011 · Жалоба Генериться несколько 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 больше нет;-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
radistka 0 27 апреля, 2011 Опубликовано 27 апреля, 2011 · Жалоба mdmitry, как это делается из SDK это понятно, вопрос именно с ISE, потому что хочется для конкретного проекта сделать анализ в ISE (например, потребление посмотреть) и чтобы быть уверенным что все прицепилось и заработало нужно зашить сгенерированный в ISE битстрим и увидеть что все в порядке, но генерится этот битстрим с кучей предупреждений а потом еще и сообщения не печатаются из программы...вот и есть подозрения что где-то я не права Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
radistka 0 27 апреля, 2011 Опубликовано 27 апреля, 2011 · Жалоба mdmitry, а не подскажите ли Вы про XMD Console что находится в SDK - нужно загрузить данные в DDR2 из файла. Это можно сделать командой dow -data cat.bin 0x4800ffff , но постоянно выдается сообщение 'ERROR: Cannot OPEN File' . Что проверить? и где должен располагаться загружаемый файл cat.bin? Для выполнения команды достаточно самой команды или требуются еще какие-то доп манипуляции? пока что кладу загружаемый файл в директорию проекта и даже подсоединила к проекту, но это не помогает.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
radistka 0 27 апреля, 2011 Опубликовано 27 апреля, 2011 · Жалоба Вопрос снимается, оказывается загружаемый файл должен размещаться в катологе EDK внутри установленного Xilinx Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться