[an error occurred while processing this directive] [an error occurred while processing this directive]
For lmu. Про размещение констант во flash.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Энди 19 февраля 2002 г. 05:52

Ассемблерная директива org - косвенное и не очень красивое решение проблемы, т.к. задает только относительное смещение от начала сегмента, а не абсолютный адрес.
На IAR C проходит следующая конструкция:

__flash const TYPE x@ADDR=value;

Если на константу нет ссылки в программе, то, чтобы линкер ее не выкинул, необходимо писать

__root __flash const TYPE x@ADDR=value;


Пример:

__root __flash const char flash_test[]@0x400="aaa";

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

Ответы



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

E-mail: info@telesys.ru