16+
Суббота
19 октября
Вход |Карта сайта |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры MSP430

 
Новая темаПравила РегистрацияСтатистика Архив
Вернуться в конференциюТопик полностью
rezident  (18.06.2010 17:57) , в ответ на >Последние версии компилятора очень любят оптимизировать обращение к константам с абсолютным адресом, располагая их значение непосредственно в месте использования. И для того, чтобы надавать компилятору "по рукам" приходится несколько автор: DragonS
Проблема лишь с инициализированными константами, расположенными по абсолютному адресу. Я решил для себя эту проблему таким способом 
#pragma pack(2)
typedef struct InfoConst_t
{ int aaa;
  int bbb;
  char ccc;
  char ddd;
} InfoConst_t;
#pragma pack()

#pragma location=0x1000
__no_init const InfoConst_t InfoConst; //объявление неиницилизированной структуры констант
#pragma location=0x1000
const InfoConst_t InfoConstDef= //объявление иницилизированной структуры констант
{ 3000,
  5000,
  7,
  15
};
#pragma required=InfoConstDef
далее в программе я работаю с структурой под именем InfoConst. Компилятор естественно выдает Warning на такое объявление, но приходится его игнорировать. Ничего более удобного я не придумал.
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7528 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXIX