[an error occurred while processing this directive]
Nios II. Проблема с разделением кода программы в разные модули памяти
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Andrew_S 16 июня 2006 г. 13:39


(Nios II 5.1_)

Необходимо разбить программный код на части для размещения в разные устройства памяти (базовый кусок во внутреннюю память, остальное во внешнюю)

Предложенный в Nios II Software Developer’s Handbook (стр. 4-33) метод:


int foo __attribute__ ((section (".on_chip_memory.rwdata"))) = 0;


void bar __attribute__ ((section (".sdram.txt"))) (void)
{
foo++;
}


срабатывает только для размещения переменной, а в случае функции выводится сообщения об ошибке: " parse error before '(' token" и "storage size of 'ledowr' isn't known".

Мой вариант:

void ledowr __attribute__ ((section (".nv_ram.txt"))) (void)
{
led = (led ^ 0x1);
IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, led);
}

В системе три блока памяти:

MEMORY
{
reset : ORIGIN = 0x00010000, LENGTH = 32
onchip_rom : ORIGIN = 0x00010020, LENGTH = 12256
onchip_ram : ORIGIN = 0x00014000, LENGTH = 4096
nv_ram : ORIGIN = 0x00000000, LENGTH = 65536
}

В свойствах System Library (.text) секция установлена в onchip_rom, остальные в onchip_ram.


Подскажите решение, если кто знает.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru