Сообщение модератора ON.Выделил сообщение из
ветки FAQ.
Не нужно извиняться. Следует сразу писать в свою или в отдельную ветку.
Сообщение модератора OFF.Цитата(VVlad @ Jan 14 2010, 20:43)

Допустим, в этой строке она определяется и инициализируется, сколько же тогда под неё памяти отводится.
Да хоть все ОЗУ под стек можете отвести. Стек растет сверху вниз (имеются ввиду адреса), а данные в ОЗУ принято располагать снизу и наращивать вверх. Если расход стека большой или данных много, то стек с данными могут где-то пересечься. Этого нужно избегать, просчитав заранее расход стека для самого неблагоприятного стечения обстоятельств (вложенные прерывания + переменные на стеке). Хотя надо отметить, что "наползание" стека на область данных это один из самых гнусных багов (сложных для диагностики и вылавливания его).
Цитата(VVlad @ Jan 14 2010, 20:43)

В сообщении об ошибке (е16) говорится, что сегмент слишком велик. Может быть его уменьшить? Если да, то как это сделать?
Сегментацию программы измените. Определите явно ее начало в памяти. Например, так
Код
;-------------------------------------------------------------------------------
ORG 0FC00h ; Progam Start (1K Flash device)
;-------------------------------------------------------------------------------
вместо
Код
;-------------------------------------------------------------------------------
RSEG CODE ; Сборка во флеш-памяти
;-------------------------------------------------------------------------------
Цитата(VVlad @ Jan 14 2010, 20:43)

Подскажите, пожалуйста, где взять описание ошибок, чтобы не беспокоить по поводу каждой ошибки.
В документации/руководстве вашего компилятора. Кроме того, в IAR диагностические сообщения и без этого довольно понятны сами по себе.