mikki 0 20 апреля, 2007 Опубликовано 20 апреля, 2007 · Жалоба Выручайте пацаны. Как разместить программу которая не влезает в BRAM Xilinx Spartan во внешнюю память SDRAm и передать потом на нее управление. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 20 апреля, 2007 Опубликовано 20 апреля, 2007 · Жалоба Специально для пацанов создали xapp482. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mikki 0 20 апреля, 2007 Опубликовано 20 апреля, 2007 · Жалоба Класс блин, здорово блин, респект блин. Пойду изучать. :a14: Стал пользовать Сузаку на спартане S3E1200 а там только SPI флэшка в качестве загрузчика и соответственно со встроенным загрузчиком который понимает файлы формата srec or bin. Неделю уже мучаюсь не могу понять как сгенерить этот самый файл. EDK 8,1 при вызове позволяет сделать только симуляцию а потом дает сплошные ошибки. Может версия евал, может чето неправильно делаю. И еще маленький вопрос, как указать компилеру что проект на microblaze который не надо в БРАМ вставлять расположить по какомуто адресу, и чтоб на него можно было передать потом управление. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 20 апреля, 2007 Опубликовано 20 апреля, 2007 · Жалоба Смотрите в мануалах на Сузаку, там должно быть ... Адрес размещения программы можно в свойствах проекта указывать, но лучше это делать через линковщик (воспользоваться визардом и явно указать какие секции в какой области должны лежать). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mikki 0 23 апреля, 2007 Опубликовано 23 апреля, 2007 · Жалоба Прошу прощения за глупый вопрос, а как вообще компилировать несколько проектов , нужно ли менять настройки компилятора или линкера иесли да то как и для чего. А то у меня если нажать 'билд проэкт' который должен быть во внешней памяти выскакивает ошибка undefined reference to 'INT_HENDLER' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 23 апреля, 2007 Опубликовано 23 апреля, 2007 · Жалоба Если проекты для внешней памяти, то ничего особо настраивать не надо, после "билд алл" все должно собраться по отдельности. А если несколько проектов для BRAM, то в свойствах проекта нужно указать какой из них должен в BRAM ложиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mikki 0 25 апреля, 2007 Опубликовано 25 апреля, 2007 · Жалоба Тут бы конечно подошел антисмайлик с виселицей. Потому как непонятно, толи я чето не то делаю с SPI-flash, то ли плата кривая, то есть USB JTAG не хочет работать ST 25f64 в режиме direct SPI, толи подумать страшно Xilinx -ujdyj. А вообще есть ли возможность отдельно указать компилятору какие куски программы или допустим какие то конкретные переменные куда раскидывать. Например определить массивы во внешней памяти для хранения данных, а прогу разместить в BRAM. Короче может кто присоветует что. ПРимеры может какие есть , простенькие готовые проекты. а-а-а! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 25 апреля, 2007 Опубликовано 25 апреля, 2007 · Жалоба USB JTAG не пользовался, обычным кабельком (LPT-шным) шил (утилитой xapp445) Atmel-овские DataFlash для конфига S3E, думаю разницы не должно быть. >>А вообще есть ли возможность отдельно указать компилятору какие куски программы ... А линковщик для чего ... Вечером пример какой-нибудь выложу. Кстати, я надеюсь, для вашей платы имеется модернизированный xapp482, иначе грузится то и не должно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mikki 0 26 апреля, 2007 Опубликовано 26 апреля, 2007 · Жалоба ...обычным кабельком (LPT-шным) шил (утилитой xapp445) если можно поясните какую схему можно исполтьзовать для этого, а то в инете есть на основе НС125 и на паралллельный порт и работает ли она с програамой xspi.exe. Я пользовался USB-JTAG, так вот на польском сайте встретил точно такую проблему, пользуясь утилитой xspi_usb через USB-JTAG не удавалось в режиме direct SPI увидеть , даже прочитать флэшку ST 25P40 (у меня 64), короче вывод такой, что ксилинкс нетого. Короче говоря я ищу путь как запрограммировать эту самую флэшку, и народ там советует использовать пикоблэйз, хотя в моей плате есть загрузчик который пользует файл формата srec, а вот его я как не старался не смого в 8.1.03 версии сделать. Буду пробовать сделать этот файл в версии 9.1. Буду признателен за комменты, отдельное спасибо "3.14" (пардон за назойливость жду примерчик) И если не внапряг, как указать компилеру что большой массив конкретно разместить во внешней памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_P 0 26 апреля, 2007 Опубликовано 26 апреля, 2007 · Жалоба А вообще есть ли возможность отдельно указать компилятору какие куски программы или допустим какие то конкретные переменные куда раскидывать. Например определить массивы во внешней памяти для хранения данных, а прогу разместить в BRAM. Короче может кто присоветует что. ПРимеры может какие есть , простенькие готовые проекты. а-а-а! Для PowerPC делал так (думаю для Microblaze тоже подойдет): void MyFunc(void)__attribute__ ((section (".InitFunc"))); void MyFunc(void) { } Таким же образом можно объявить переменную или константу, например: // Инициализация памяти const char a[4]__attribute__ ((section (".InitDate"))) = {…} Section InitFunc и InitData должны быть описаны в LinkerScript: MEMORY { memory : ORIGIN = 0xfff00000, LENGTH = 0x3fff ... } PHDRS { mydata PT_LOAD ; ... } SECTIONS { .InitFunc : { *(.InitFunc) } > memory : mydata } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 26 апреля, 2007 Опубликовано 26 апреля, 2007 · Жалоба Вот схема кабеля и примерчик работающий из SDRAM, только Вам от тего толку ... он для загрузки из PROM. Microblaze_prom.rar jtag_cable.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
akivas 0 13 мая, 2007 Опубликовано 13 мая, 2007 · Жалоба Для PowerPC делал так (думаю для Microblaze тоже подойдет): void MyFunc(void)__attribute__ ((section (".InitFunc"))); void MyFunc(void) { } Таким же образом можно объявить переменную или константу, например: // Инициализация памяти const char a[4]__attribute__ ((section (".InitDate"))) = {…} Section InitFunc и InitData должны быть описаны в LinkerScript: MEMORY { memory : ORIGIN = 0xfff00000, LENGTH = 0x3fff ... } PHDRS { mydata PT_LOAD ; ... } SECTIONS { .InitFunc : { *(.InitFunc) } > memory : mydata } Огромное спасибо! А не подскажете, где синтаксис LinkerScript'а описан ? А то ищи по всему www.gnu.org... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться