MicroCHIP.RU
Главная Документация Отладочные средства Справочник Поиск Ссылки
 Новости   Конференция   Контакты 
 

MCC18, стек больше 128 байт

 Нoвaя темa  |  Наверх  |  Перейти к теме  |  Поиск  |  Правила  |  Вход 

ВНИМАНИЕ!
Вы просматриваете архив форума.

Этот форум работает только в режиме просмотра и поиска.

Действующий форум переведен на новый движок и
находится по адресу www.microchip.su

 MCC18, стек больше 128 байт
Автор: kyrilm ()
Дата:   06/07/2004 14:52

Подскажите, что я сделал не так.

В скрипте линкера:
DATABANK   NAME=stackbank  START=0x400          END=0x5FF          PROTECTED
STACK SIZE=0x200 RAM=stackbank


В настройках компайлера поставил Multi-bank model.

Функция:
void foo(void){
	char buf[125];
}


Компилируется:
Executing: "c:\mcc18\bin\mcc18.exe" -p=18F252 "main.c" -fo="main.o" /i"C:\mcc18\h" -
k -Ls -O-


Ошибка:
C:\Design\PIC\GPSC\main.c:53:Error [1300] stack frame too large
Error executing c:\mcc18\bin\mcc18-traditional [error=1]


Все вроде по доке сделал. В чем проблема?


 
 Re: MCC18, размер локальных переменных
Автор: kyrilm ()
Дата:   06/07/2004 17:33

Ммдаа... Вот такую хрень вычитал:
Since the total size of stack space for
auto parameters is limited to 120 bytes per function, the application may result in
a parameter frame too large diagnostic being issued that does not occur when the
compiler is operating in Non-extended mode. To resolve this, the function will need
to be modified to take fewer parameters.

Но это в разделе про Extended mode. А я его не включал. Непонятки???



Отправка отредактированного (06/07/2004 17:37)