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

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

В том, что const И НЕ ДОЛЖНО отправлять в сегмент флеша. const - это константные ДАННЫЕ. (+)

Отправлено ReAl 25 сентября 2007 г. 15:21
В ответ на: О, кстати! О константе. отправлено <font color=gray>Neofit</font> 25 сентября 2007 г. 12:38

На неймановской архитектуре компилятор имеет право "соптимизировать" и разместить только во флеше, без копирования оттуда в ОЗУ, так как указатель на ОЗУ и на флеш "равноправны", это одно адресное пространство.
На гарвардской флеш и ОЗУ - это разные пространства, а var и const var должны отличаться только "правами доступа", но не размещением.

Надо использовать компиляторо-зависимые расширения языка С типа code/__flash/PROGMEM, в случае с avr-gcc - ещё и обращаться к этим переменным специальными макросами из < avr/pgmspace.h >



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

Ответы


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

Сообщение:

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

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

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

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