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

 
 
 
Reply to this topicStart new topic
> Прога для Microblaze во внешней памяти
mikki
сообщение Apr 20 2007, 08:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-03-07
Пользователь №: 26 559



Выручайте пацаны.
Как разместить программу которая не влезает в BRAM Xilinx Spartan во внешнюю память SDRAm и передать потом на нее управление.
Go to the top of the page
 
+Quote Post
3.14
сообщение Apr 20 2007, 08:37
Сообщение #2


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

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



Специально для пацанов создали xapp482.


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


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-03-07
Пользователь №: 26 559



Класс блин, здорово блин, респект блин. Пойду изучать. a14.gif

Стал пользовать Сузаку на спартане S3E1200 а там только SPI флэшка в качестве загрузчика и соответственно со встроенным загрузчиком который понимает файлы формата srec or bin.
Неделю уже мучаюсь не могу понять как сгенерить этот самый файл.
EDK 8,1 при вызове позволяет сделать только симуляцию а потом дает сплошные ошибки. Может версия евал, может чето неправильно делаю.

И еще маленький вопрос, как указать компилеру что проект на microblaze который не надо в БРАМ вставлять расположить по какомуто адресу, и чтоб на него можно было передать потом управление.
Go to the top of the page
 
+Quote Post
3.14
сообщение Apr 20 2007, 10:35
Сообщение #4


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

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



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


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
mikki
сообщение Apr 23 2007, 11:53
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-03-07
Пользователь №: 26 559



Прошу прощения за глупый вопрос, а как вообще компилировать несколько проектов , нужно ли менять настройки компилятора или линкера иесли да то как и для чего.
А то у меня если нажать 'билд проэкт' который должен быть во внешней памяти выскакивает ошибка
undefined reference to 'INT_HENDLER' help.gif
Go to the top of the page
 
+Quote Post
3.14
сообщение Apr 23 2007, 12:08
Сообщение #6


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

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



Если проекты для внешней памяти, то ничего особо настраивать не надо, после "билд алл" все должно собраться по отдельности.
А если несколько проектов для BRAM, то в свойствах проекта нужно указать какой из них должен в BRAM ложиться.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
mikki
сообщение Apr 25 2007, 03:42
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-03-07
Пользователь №: 26 559



help.gif Тут бы конечно подошел антисмайлик с виселицей. Потому как непонятно, толи я чето не то делаю с SPI-flash, то ли плата кривая, то есть USB JTAG не хочет работать ST 25f64 в режиме direct SPI, толи подумать страшно Xilinx -ujdyj.

А вообще есть ли возможность отдельно указать компилятору какие куски программы или допустим какие то конкретные переменные куда раскидывать.
Например определить массивы во внешней памяти для хранения данных, а прогу разместить в BRAM.
Короче может кто присоветует что.
ПРимеры может какие есть , простенькие готовые проекты.
а-а-а!
Go to the top of the page
 
+Quote Post
3.14
сообщение Apr 25 2007, 09:39
Сообщение #8


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

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



USB JTAG не пользовался, обычным кабельком (LPT-шным) шил (утилитой xapp445) Atmel-овские DataFlash для конфига S3E, думаю разницы не должно быть.
>>А вообще есть ли возможность отдельно указать компилятору какие куски программы ...
А линковщик для чего ...
Вечером пример какой-нибудь выложу.

Кстати, я надеюсь, для вашей платы имеется модернизированный xapp482, иначе грузится то и не должно.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
mikki
сообщение Apr 26 2007, 13:17
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-03-07
Пользователь №: 26 559



Цитата(3.14 @ Apr 25 2007, 09:39) *
...обычным кабельком (LPT-шным) шил (утилитой xapp445)

если можно поясните какую схему можно исполтьзовать для этого, а то в инете есть на основе НС125 и на паралллельный порт и работает ли она с програамой xspi.exe.

Я пользовался USB-JTAG, так вот на польском сайте встретил точно такую проблему, пользуясь утилитой xspi_usb через USB-JTAG не удавалось в режиме direct SPI увидеть , даже прочитать флэшку ST 25P40 (у меня 64), короче вывод такой, что ксилинкс нетого.

Короче говоря я ищу путь как запрограммировать эту самую флэшку, и народ там советует использовать пикоблэйз, хотя в моей плате есть загрузчик который пользует файл формата srec, а вот его я как не старался не смого в 8.1.03 версии сделать. Буду пробовать сделать этот файл в версии 9.1.
Буду признателен за комменты, отдельное спасибо "3.14" (пардон за назойливость жду примерчик)

И если не внапряг, как указать компилеру что большой массив конкретно разместить во внешней памяти.
Go to the top of the page
 
+Quote Post
Alexander_
сообщение Apr 26 2007, 17:08
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 7-04-06
Пользователь №: 15 929



Цитата(mikki @ Apr 25 2007, 04:42) *
А вообще есть ли возможность отдельно указать компилятору какие куски программы или допустим какие то конкретные переменные куда раскидывать.
Например определить массивы во внешней памяти для хранения данных, а прогу разместить в 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
}
Go to the top of the page
 
+Quote Post
3.14
сообщение Apr 26 2007, 19:17
Сообщение #11


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

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



Вот схема кабеля и примерчик работающий из SDRAM, только Вам от тего толку ... он для загрузки из PROM.
Прикрепленные файлы
Прикрепленный файл  Microblaze_prom.rar ( 3.24 мегабайт ) Кол-во скачиваний: 101
Прикрепленный файл  jtag_cable.pdf ( 26.31 килобайт ) Кол-во скачиваний: 87
 


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
KirillS
сообщение May 13 2007, 11:22
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 44
Регистрация: 10-10-06
Пользователь №: 21 161



Цитата(Alexander_ @ Apr 26 2007, 20:08) *
Для 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...


--------------------
Some days you eat the bear. Some days the bear eats you.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:16
Рейтинг@Mail.ru


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