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

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

Cоздание сегментов в Keil

Отправлено armvs 23 января 2007 г. 13:34


С компилятором Keil только начинаю работать, возник вопрос как размещать переменные в требуемую мне область памяти, при этом не указывая абсолютный адрес.
Под RealView компылятор, эту задачу решил следующим методом:
1) создал необходимие мне сектора и указал их линкеру (в моем случае это внешняя память)
RW_RAM1 0x81000000 0x00020000 {
;ExtMem.o (+ZI +RW)
* (xdata_var)
}
RW_RAM2 0x81020000 0x00060000 { ;0x80000 - 0x10000
;ExtMem.o (+ZI +RW)
* (xdata_log)
}
2)создал макрос
#define xdata __attribute__ ((section ("xdata_var")))

3) и не заморачиваюсь при необходимости завести переменние в этой области:
xdata long MyExtVar1;
xdata int MyExtVar2;

Под Keil С компилятором пока не могу сделать чтото подобное.
свой клас создать безпроблем, нп:
CLASSES (DATA_xdata_var (0x81000000-0x8101FFFF),DATA_xdata_log (0x81020000-0x8107FFFF))

А как создать свой сегмент и по описаному више примеру указывать линкеру куда разместить переменные???
Можно канешно завести отдельный файл, там создать переменные а потом указать линкеру весь файл разместить ... ,что-то вроде:
MyExtVar.OBJ SEGMENTS(?DT?MyExtVar(D:0x81000000))
Но это уже не интересно и не удобно.

Может ктото подскажет как выйти из этой ситуации и сэкономит мне немного время?? Пока что пол дня убил и без результатов.
Зарание всем спасибо!!!




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

Ответы


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

Сообщение:

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

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

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

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