[an error occurred while processing this directive]
Еще есть одна мысль (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Беня 09 октября 2002 г. 14:29
В ответ на: Проблема в другом... отправлено AIRiLS 09 октября 2002 г. 11:11

в компиляторах обычно надо задать размер стека (который используется для сохранения адреса возврата функции, для PUSH и POP в обработчиках прерывания). Я работал с IAR-ским компилятором, так там в опциях для линкера надо было задавать этот размер, и если памяти не хватало под этот размер, то линкер ругался (но все равно под стек отводилась все оставшееся ОЗУ, так что этот параметр скорее для контроля).
Этот размер должен задать сам программист (обычно просматривают вложенность функций, возможность "вклинивания прерываний", сколько PUSH в прерывании, может ли из одного прерывания вызваться второе и прикидывают этот размер).
Так может в новом проекте на Keil где-то по задано, что надо под стек байт эдак 100, а линкер видит, что нет столько свободного места и ругается? Ну это только догадка.

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

Ответы



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

E-mail: info@telesys.ru