[an error occurred while processing this directive]
Необходимо работать с константыми строками расположенными в памяти программ(flash).
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено AKSNAB 23 августа 2002 г. 10:36

Уважаемые, кто-нибудь сталкивался с такой проблемой :
Необходимо работать с константыми строками расположенными в памяти программ(flash).
Строки символов объявляются след. образом:

const __flash unsigned char* Wait_txt=" Ждите ";

Компилятор (IAR2.31) размещает данные строки во flash-памяти, но препроцесор дублирует их в SRAM-памяти,
и прога в процессе исполнения обращается только к этим строкам в SRAM.
Пытался передавть в ассемблерную процедуру адрес начала строки через указатель:

unsigned char* __generic *str_ptr=&Wait_txt;

и там выполнять инструкию "LPM", но указателю присваевается адрес(из flash), по которому хранится
указатель на начало строки в SRAM!

Заранее благодарен, Mike.

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

Ответы



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

E-mail: info@telesys.ru