Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

AVR использует два стека, один природный - стек возвратов, RSTACK, в него кладутся адреса возрата из ф-ций, и аргументы PUSH и POP. Второй - CSTACK (+)

Отправлено DASM 20 мая 2008 г. 09:29
В ответ на: Подскажите пожалуйста как инициализировать стек в IAR C/C++ Compiler for AV...{+} отправлено <font color=gray>dred73</font> 20 мая 2008 г. 08:09

не знаю как расшифровается, думаю что-нить вроде С-Code stаck. Ф-ции в Сях например использующие локальные переменные, в большинстве процессоров пользуются т.н. стековым фреймом. Это кусок в памяти, удобный для временного хранения переменных. Часто этот фрейм совпадает со стеком возврата, однако для процессоров AVR оказалось удобнее сделать их раздельными. Для адресации переменных используется косвенное обращение со смещением по рег. парам, кажется у IAR это пара регистров Y.

void Foo ()
{
int a, b, c; // эти переменные лежат в сековом фрейме и используют CSTACK
}

Чем с большим кол-вом локальным переменных используются функции, тем больше необъодим CSTACK.
Его размеры задаются в файлере линкера xcl, как снизу уже написали.


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 6 на 2:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru