[an error occurred while processing this directive]
Что-то не пойму, как в C для LF2407 описать массив, который хранится в Flash памяти программ и заставить компилятор обращаться к нему. (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

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

Отправлено svf 08 января 2004 г. 14:43

То есть, имеется ассемблерный файл, содержащий что-то вроде

.def _sintab32
.sect ".cinit"
_sintab32 .word 0
.word 6
.word 12
.word 19
.word 25
.....

и в программе на C:

extern const int sintab32[];

Но обращение к нему

step(k,sintab32[i],sintab32[(i+31)&0x7f]);

компилятор линкует как обращение к памяти данных.

Что, получается, либо на ассемблере свою функцию с TBLR писать, либо при инициализации копировать в память данных (а память жалко)?

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 

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

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

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


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru