Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Проблема с размещением переменных по конкретному адресу (LPC2366, Keil)
Отправлено
Yaumen 12 марта 2009, г. 14:37
В программе необходимо разместить несколько переменных в батарейной памяти lPC2366. В программе пишу:
DWORD dwRtcTime2 __attribute__((at(0xE0084000)));
Однако, после вставки этого объявления с программой стало происходить нечто невообразимое, куски кода программы выбрасываются компилятором без всяких предупреждений. Например вот так:
В main()происходит вызов некоторой функции "I2C_Init()", однако после объявления вышеуказанной переменной компилятор выкинул весь кусок связанный с I2C, но вызов I2C_Init() в main остался, хотя теперь он ссылается на кусок где должна была быть функция I2C_Init, но на самом деле на ее месте совершенно другой фрагмент программы.
Если указанную выше переменную комментирую или убираю из объявления "__attribute__((at(0xE0084000)))", все становится нормально!!!
Помогите разобраться с этой чертовщиной :(
Составить ответ | Вернуться на конференцию.
Ответы