Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Контроль IAR'ом заполненности РАМ
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
SZ0
Вопрос возник по причине обработки большого массива данных в РАМ. После компиляции IAR пишет для ATmega640 7962 bytes of DATA memory (+ 57 absolute ). Меня беспокоит то, что вызываемые подпрограммы сохраняют регистры, в них ещё вызываются подпрограммы. Насколько эффективно IAR отслеживает эти сохранения, а так же стек, чтобы они не "наехали" на данные в РАМ?

Какие данные он относит к 57 absolute?
Сергей Борщ
Цитата(SZ0 @ Dec 16 2008, 08:21) *
Меня беспокоит то, что вызываемые подпрограммы сохраняют регистры, в них ещё вызываются подпрограммы. Насколько эффективно IAR отслеживает эти сохранения, а так же стек, чтобы они не "наехали" на данные в РАМ?
ИАР отслеживает только непересчение сегментов ОЗУ и стека. Забота о достаточности размера сегмента стека лежит на программисте. Где-то была галочка "строить дерево вызовов в .map-файле" или что-то вроде того. Посмотрите для main() и для всех прерываний. Если main() + самый требовательный к стеку обработчик в сумме меньше размера сегмента стека - порядок. Если есть вложенные прервыания - нужно учесть и их тоже.
Цитата(SZ0 @ Dec 16 2008, 08:21) *
Какие данные он относит к 57 absolute?
Обычно sfr. Ну и если вы какие-то переменные указали в конкретные адреса через @.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.