Всем, привет! Делаю первый проект на С для С51. Возникла следующая проблема. При использовании модели памяти compact не удается определить местоположение стека. То есть при вызове reentrant функции портятся переменные расположенные в памяти xdata по адресу меньше 0x100. Проверил все опции, прочитал хелп, пользовался поиском - не могу найти решения проблемы. Подскажите кто знает как исправить проблему. Заранее спасибо!
Линкер генерит такую таблицу памяти
ACTIVE MEMORY CLASSES OF MODULE: msd-silabs (F34X_MSD_USB_MAIN)
BASE START END USED MEMORY CLASS ========================================================== X:000000H X:000000H X:000FFFH 000CECH XDATA X:000000H X:000000H X:000FFFH HDATA C:000000H C:000000H C:00FFFFH ECODE B00:0000H C:000000H C:00FFFFH HCONST C:000000H C:000000H C:00FFFFH 008E13H CODE X:000000H X:000000H X:0000FFH 0000B7H PDATA I:000000H I:000000H I:00007FH 000046H DATA C:000000H C:000000H C:00FFFFH 000131H CONST I:000000H I:000000H I:0000FFH 000080H IDATA
Сообщение отредактировал 1kvi1 - Mar 17 2011, 06:21
|