Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Не работает OVERLAYABLE для DATA сегмента в Keil
Отправлено
samj (217.76.197.218) 23 ноября 2010, г. 15:04
Я добавил в ранее написанный ассемблер код на C. компилятор сгенерировал DATA сегмент _DATA_GROUP_ который занял часть пространства DATA и мне не хватает его, чтобы разместить мои переменные из моего ассемблер кода. Я указал параметр OVERLAYABLE для него, но компилятор упорно выдает ошибку ADDRESS SPACE OVERFLOW. Я знаю, что могу безопасно разместить мои переменные на том же адресном пространстве, где размещен сегмент _DATA_GROUP_, но как указать компилятору сделать это? Варианты с перенесением моих переменных в XDATA не подходят. Ниже приведен кусок кода, map и ошибка.
...
myDATA_DATA SEGMENT DATA OVERLAYABLE;мой сегмент
mySTACK SEGMENT DATA;
....
map:
....
DATA 0028H 002AH UNIT _DATA_GROUP_
DATA 0052H 0020H UNIT MYSTACK
....
ERROR:
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: MYDATA_DATA
LENGTH: 001FH
Составить ответ | Вернуться на конференцию
Ответы