[an error occurred while processing this directive]
О том, как грамотно посчитать размер стека для ИАР-ского компилятора под AVR (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Беня 16 декабря 2002 г. 14:58

Обычно я все конфигурирую (размеры стеков и т. д.), используя диалог - ставлю галочку Configure system using dialogs (not in .XCL file). А вот, оказывается, если использовать XCL-файл, например, LNK3S.XCL, то там есть одна опция, которая по умолчанию закомментирована.
/*
* Data stack
*
* The data stack is used for auto variables, function parameters and
* temporary storage. It is therefore important that the size of the data
* stack is large enough. However, a too large stack will waste valuable
* RAM space. To determine approximately how much data stack that is needed
* for an application, perform a trial link with the list file option 'o'
* present, e.g. -xmos. This will tell xlink to generate a stack usage tree
* in the map file. The values in the map file could then be used as an
* approximation. Please note that the given value does not include stack
* used by interrupts and assembler functions written by the end-user. It is
* therefore neccesary to add a small safety margin to the value given by
* xlink.
*/

Вот только, чтобы эту опцию задействовать, приходится использовать XCL-файл - тогда линкер делает выходной файл с информацией о дереве вызова всех функций и о размере локальных переменных. Я вот никак не смог найти, как бы эту опцию указать, чтобы при этом использовать диалог, а не XCL-файл. Вот для компилятора есть пункт Additional Compiler Options. А для линкера я не нашел такого пункта, где бы я мог задать дополнительные опции.

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

Ответы



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

E-mail: info@telesys.ru