Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

(+)...

Отправлено ETM 26 марта 2008 г. 22:28
В ответ на: А вот просто и гениально через #pragma data_seg ("MY_DATA") ... отправлено ETM 26 марта 2008 г. 22:25

Программист должен объявить в своей программе сегмент с каким-то именем, отличным от имени системных сегментов (они начинаются с символа "точка"), разместить в этом сегменте требуемые для "обобществления" переменные и закрыть сегмент. В программе эти переменные адресуются точно так же, как и все другие переменные - создание дополнительного сегмента данных это только указание компилятору, что он должен при кодогенерации перечисленные переменные в указанном сегменте разместить. Делает объявление отдельного сегмента директива #pragma data_seg("<имя сегмента>"). Далее, при сборке модуля,нужно указать линкеру, чтобы он присвоил сегменту с назначенным именем атрибут shared. Это указывается опцией линкера -SECTION: <имя сегмента>, RWS. Всё! После загрузки модуля на исполнение сегмент с данным именем будет содержать единственную на все такие исполняющиеся модули копию данных.


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru