Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено µ 14 апреля 2004 г. 17:42
В ответ на: Keil C - memory map в .m51 отправлено Treumer 14 апреля 2004 г. 16:32

Грустно, господин Рустам, что прочитать вверху страницы названия колонок и применить эти названия к данным Вы не удосужились. Вот данные по Вашему стеку:


TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------
IDATA 0053H 0001H UNIT ?STACK

Собственно ответ на вопрос очевиден: секция стека начинается с адреса 0x53 (колонка BASE), зарезервирован 1 байт (колонка LENGTH). Хотите резервировать больше - правьте Startup.a51. Но, поскольку выше стека у Вас ничего нет, то все что выше до 0x7F (или 0xFF - в зависимости от типа проца) отведено под стек. Если посчитать, то получается минимум 45 байт (стандартный калькулятор в винде в инженерном режиме умеет работать с шестнадцатеричными числами).

По поводу 2го вопроса - у Вас в программе где-то используется внешняя память данных типа pdata. Все переменные этого типа помещены в группу
_PDATA_GROUP_ . Почему начинается с адреса 0xA2 и почему такая длина - это только Вы глядя в свою программу можете сказать.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru