Столкнулся с непонятными эффектами при работе IAR AVR с отладчиком JTAG-ICE.
При вызове одной из функций в программе происходит выпадение отладчика. То есть, работа как бы продолжается, но при попытке останова появляется следующее сообщение:
Tue May 13 16:35:37 2008: The stack 'CStack' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90%.
Tue May 13 16:35:37 2008: The stack 'RStack' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90%.
Tue May 13 16:35:37 2008: The stack pointer for stack 'CStack' (currently DATA:0x00FFFF) is outside the stack range (DATA:0x000100 to DATA:0x000500)
Tue May 13 16:35:37 2008: The stack pointer for stack 'RStack' (currently DATA:0x00FFFF) is outside the stack range (DATA:0x000500 to DATA:0x000900)
При этом ранее все то же самое работал и с куда меньшим размером стека. Что удивительно для превышения размеров стека - плата с прошивкой совершенно нормально работает и далее. А вот отладчик уже ничего сделать не может. Сама процедура тоже не исполняется. Чем это может быть вызвано - ума не приложу

TBool Print_Report(TReport __flash *PrReport);
typedef struct
{
char name_fmt[80];
TByte type;
} TReport;
Если у кого будут идеи - с удовольствием их выслушаю!
Версия IAR AVR - 4.21A/W32 (4.21.0.3)